RMAN 相应概念介绍
2013-04-06 20:24
148 查看
RMAN(recovery manager)是oracle提供的备份恢复工具。其实使用sql结合OS命令也可以执行备份恢复,也更为灵活,但是对于初学者来说还是使用rman这种方法比较好;
rman 用来管理备份、转储和恢复操作。该工具执行的命令统统在服务器进程执行,所以目标数据库必须处于mount或open状态,如果使用了恢复目录,那么恢复目录数据库要处于open状态;
先介绍几个rman里所用到的专有名词:
目标数据库:需要备份、转储和恢复的数据库;
恢复目录数据库:专门用来管理rman资料库(由执行rman操作是产生的元数据组成)的数据库,同时会在目标数据库的控制文件中保存,但是控制文件中的信息受时间限制(control_file_record_keep_time 默认7天);
通道:当执行rman操作时需要在目标数据库和存储设备之间建立连接,称作通道(channel),可以配置多个;
rman 特点:可以备份数据库、表空间、数据文件、控制文件、归档日志、spfile;不能备份重做日志、pfile和口令文件;如果需要定期执行备份,那么可以将这些rman操作放在一些脚本文件中(使用脚本必须使用恢复目录);rman备份是只备份用过的block;
连接到目标数据库
只有sysdba角色的用户才能登陆;
--不使用恢复目录
rman target sys/admin@orcl nocatalog;
--使用恢复目录
rman target sys/admin@orcl catalog rm_user_name/rm_user_passwd@orcl_far
使用恢复目录数据库时的操作:
首先在改数据库上创建一个专门用来管理catalog的用户,并赋予connect、resource、recovery_catalog_owner 三个角色;
然后 create catalog 创建catalog
然后连接上目标数据库
register database; 注册数据库;在任何时候你可以用 unregister database 去注销数据库的注册;这时会丢失掉控制文件内所为保存的备份信息(一般是7天之外的信息丢失);并且里面的脚本文件也丢失; 如果时间在7天之内,那么可以重新注册,那么rman会执行resync catalog从目标数据库中的控制文件中把这几天的备份信息同步到恢复目录;如果没有自动执行,那么可以手动执行。
也可以在rman提示符下(与上面两条照应)
rman nocatalog
connect target sys/admin@orcl
rman
connect target sys/admin@orcl
connect catalog rm_user_name/rm_user_passwd@orcl_far
rman 里执行sql语句的格式 SQL 'alter system archive log ';
如果sql语句中有单引号,那么需要在单引号处再加一个单引号转义,然后把整个sql的单引号换为双引号;
show all 显示所有的rman的配置;
report schema 列出目标数据库的表空间、数据文件及临时文件;
report obsolete 列出废弃的备份;
report unrecoverable 列出不可恢复的备份;
list backup 列出备份的详细信息;
list script names 列出存储脚本名称;
list backup summary 列出备份摘要信息;
delete backup 删除所有的备份;
delete obsolete 删除所有的过期的备份;
backup database; 备份数据库
backup tablespace users ;备份users表空间;
backup datafile 6 ;备份6好数据文件;
backup spfile format=’d:\backup\%d_%s’; 备份spfile文件;
backup incremental level 0 tablespace users; 0级别增量备份;
backup incremental level 1 tablespace users; 1级别增量备份;
--在执行累计备份时,需要先执行一个0级增量备份;
backup incremental level 0 tablespace users; 0级别增量备份;
backup incremental level 1 cumulative tablespace usres; 1级累计备份;
启动到mount状态
rman target sys/admin@orcl rm_user_name/rm_user_passwd@orcl_far
restore database; 转储数据库
recover database; 恢复数据库
打开数据库
创建存储脚本
cereate script bak_script{backup datafile 6; slq
‘alter system archive log current’;}
运行脚本
run{execute script bak_script;}
显示脚本信息
print script bak_script
删除脚本
delete script bak_script
升级恢复目录
upgrade catalog 这时会提示你再执行一次该命令,进行升级,如果不执行,那么可以知道rman是那个版本的;
删除恢复目录
drop catalog;
---以下是一些简要说明
full全备和level 0的全备不一样。
冷备份:关闭数据库,又叫一致性备份(immediate);
热备份:开启数据库,并且需要开归档。因为在备份时刻的时候,会有一些log file文件放不下的内容需要放到归档日志里面,以避免日志丢失。
reman 可以在不开启归档的模式下,冷备份(把库开启在mount模式下);
还原 restore (使用备份数据)
恢复 recover (使用归档日志和在线日志)
rman target sys/admin@ocpyjg auxiliary sys/admin@far_db;其中ocpyjg是主库, far_db是辅助库。(可以直接在第三台机器上去操作其他两个库)
duplicate target database for standby dorecover nofilenamecheck; 把主库的备份拷贝到辅助库。
backup database;备份整个库,只备份数据文件和控制文件以及参数文件
rman里配置备份目的地;
configure channel device type disk format‘/u01/backup’;
备份的目的地选择顺序:
1. 备份命令的format
2. 命令中没有format,那么查看rman的环境配置里的配置;
3. 如果环境变量里面也没有,那么闪回区 ( show parameter db_recovery 里的db_recovery_file_dest);
4. 如果以上三步都没有那么到$ORACLE_HOME/dbs
restore controlfile from autoback; 该语句成功前提是,控制文件的备份必须在闪回区;否则会让提供dbid(需要set dbid=…)
如果配置了CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/backup/%F'; 那么恢复时用
restore controlfile from
‘/u01/backup/%F’; 就ok了; 其实如果配置了整个路径那么备份出来的文件名才类似于:
piece handle=/u01/backup/c-3576073959-20130331-01 comment=NONE 其中 c-说明是控制文件 3576073959 是dbid ;然后是时间,然后是第几次备份;
backup current controlfile; 只备份控制文件;
backup datafile 4 include current controlfile;备份文件的同时备份控制文件;
backup archivelog sequence 24 delete all input; 备份好之后删除日志中的内容;如果有多个镜像,那么加all 那么所有的镜像全部删除,否则只删除当前的日志的内容;
镜像拷贝:
1. 节省空间
2. 节省时间
3. 数据迁移 文件系统到磁盘组(asm);
如果空间不够 ,创建备库的时候,直接把文件拷贝到备库;如果空间够大,那么把备份集拷贝过去,然后再解开,再用;
--虚拟专用目录
1)再在另外的表空间(实验用原来的表空间行不)上创建另外的用户(正常语法); GRANT recovery_catalog_owner TO 该用户A;
2)用总账户进入,分配权限 GRANT catalog FOR DATABASE ocp(指定的库) TO 该用户A;
3)用虚拟A登录,建立虚拟恢复目录; rman catalog a/ADMIN ; CREATE virtual catalog;
4)这时a只能看到分配给他的库的备份信息和脚本;相当于oracle 的用户的角色管理;
rman 用来管理备份、转储和恢复操作。该工具执行的命令统统在服务器进程执行,所以目标数据库必须处于mount或open状态,如果使用了恢复目录,那么恢复目录数据库要处于open状态;
先介绍几个rman里所用到的专有名词:
目标数据库:需要备份、转储和恢复的数据库;
恢复目录数据库:专门用来管理rman资料库(由执行rman操作是产生的元数据组成)的数据库,同时会在目标数据库的控制文件中保存,但是控制文件中的信息受时间限制(control_file_record_keep_time 默认7天);
通道:当执行rman操作时需要在目标数据库和存储设备之间建立连接,称作通道(channel),可以配置多个;
rman 特点:可以备份数据库、表空间、数据文件、控制文件、归档日志、spfile;不能备份重做日志、pfile和口令文件;如果需要定期执行备份,那么可以将这些rman操作放在一些脚本文件中(使用脚本必须使用恢复目录);rman备份是只备份用过的block;
连接到目标数据库
只有sysdba角色的用户才能登陆;
--不使用恢复目录
rman target sys/admin@orcl nocatalog;
--使用恢复目录
rman target sys/admin@orcl catalog rm_user_name/rm_user_passwd@orcl_far
使用恢复目录数据库时的操作:
首先在改数据库上创建一个专门用来管理catalog的用户,并赋予connect、resource、recovery_catalog_owner 三个角色;
然后 create catalog 创建catalog
然后连接上目标数据库
register database; 注册数据库;在任何时候你可以用 unregister database 去注销数据库的注册;这时会丢失掉控制文件内所为保存的备份信息(一般是7天之外的信息丢失);并且里面的脚本文件也丢失; 如果时间在7天之内,那么可以重新注册,那么rman会执行resync catalog从目标数据库中的控制文件中把这几天的备份信息同步到恢复目录;如果没有自动执行,那么可以手动执行。
也可以在rman提示符下(与上面两条照应)
rman nocatalog
connect target sys/admin@orcl
rman
connect target sys/admin@orcl
connect catalog rm_user_name/rm_user_passwd@orcl_far
rman 里执行sql语句的格式 SQL 'alter system archive log ';
如果sql语句中有单引号,那么需要在单引号处再加一个单引号转义,然后把整个sql的单引号换为双引号;
show all 显示所有的rman的配置;
report schema 列出目标数据库的表空间、数据文件及临时文件;
report obsolete 列出废弃的备份;
report unrecoverable 列出不可恢复的备份;
list backup 列出备份的详细信息;
list script names 列出存储脚本名称;
list backup summary 列出备份摘要信息;
delete backup 删除所有的备份;
delete obsolete 删除所有的过期的备份;
backup database; 备份数据库
backup tablespace users ;备份users表空间;
backup datafile 6 ;备份6好数据文件;
backup spfile format=’d:\backup\%d_%s’; 备份spfile文件;
backup incremental level 0 tablespace users; 0级别增量备份;
backup incremental level 1 tablespace users; 1级别增量备份;
--在执行累计备份时,需要先执行一个0级增量备份;
backup incremental level 0 tablespace users; 0级别增量备份;
backup incremental level 1 cumulative tablespace usres; 1级累计备份;
启动到mount状态
rman target sys/admin@orcl rm_user_name/rm_user_passwd@orcl_far
restore database; 转储数据库
recover database; 恢复数据库
打开数据库
创建存储脚本
cereate script bak_script{backup datafile 6; slq
‘alter system archive log current’;}
运行脚本
run{execute script bak_script;}
显示脚本信息
print script bak_script
删除脚本
delete script bak_script
升级恢复目录
upgrade catalog 这时会提示你再执行一次该命令,进行升级,如果不执行,那么可以知道rman是那个版本的;
删除恢复目录
drop catalog;
---以下是一些简要说明
full全备和level 0的全备不一样。
冷备份:关闭数据库,又叫一致性备份(immediate);
热备份:开启数据库,并且需要开归档。因为在备份时刻的时候,会有一些log file文件放不下的内容需要放到归档日志里面,以避免日志丢失。
reman 可以在不开启归档的模式下,冷备份(把库开启在mount模式下);
还原 restore (使用备份数据)
恢复 recover (使用归档日志和在线日志)
rman target sys/admin@ocpyjg auxiliary sys/admin@far_db;其中ocpyjg是主库, far_db是辅助库。(可以直接在第三台机器上去操作其他两个库)
duplicate target database for standby dorecover nofilenamecheck; 把主库的备份拷贝到辅助库。
backup database;备份整个库,只备份数据文件和控制文件以及参数文件
rman里配置备份目的地;
configure channel device type disk format‘/u01/backup’;
备份的目的地选择顺序:
1. 备份命令的format
2. 命令中没有format,那么查看rman的环境配置里的配置;
3. 如果环境变量里面也没有,那么闪回区 ( show parameter db_recovery 里的db_recovery_file_dest);
4. 如果以上三步都没有那么到$ORACLE_HOME/dbs
restore controlfile from autoback; 该语句成功前提是,控制文件的备份必须在闪回区;否则会让提供dbid(需要set dbid=…)
如果配置了CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/backup/%F'; 那么恢复时用
restore controlfile from
‘/u01/backup/%F’; 就ok了; 其实如果配置了整个路径那么备份出来的文件名才类似于:
piece handle=/u01/backup/c-3576073959-20130331-01 comment=NONE 其中 c-说明是控制文件 3576073959 是dbid ;然后是时间,然后是第几次备份;
backup current controlfile; 只备份控制文件;
backup datafile 4 include current controlfile;备份文件的同时备份控制文件;
backup archivelog sequence 24 delete all input; 备份好之后删除日志中的内容;如果有多个镜像,那么加all 那么所有的镜像全部删除,否则只删除当前的日志的内容;
镜像拷贝:
1. 节省空间
2. 节省时间
3. 数据迁移 文件系统到磁盘组(asm);
如果空间不够 ,创建备库的时候,直接把文件拷贝到备库;如果空间够大,那么把备份集拷贝过去,然后再解开,再用;
--虚拟专用目录
1)再在另外的表空间(实验用原来的表空间行不)上创建另外的用户(正常语法); GRANT recovery_catalog_owner TO 该用户A;
2)用总账户进入,分配权限 GRANT catalog FOR DATABASE ocp(指定的库) TO 该用户A;
3)用虚拟A登录,建立虚拟恢复目录; rman catalog a/ADMIN ; CREATE virtual catalog;
4)这时a只能看到分配给他的库的备份信息和脚本;相当于oracle 的用户的角色管理;
相关文章推荐
- Delphi三层开发手册——三层开发基本概念介绍
- RabbitMQ基础概念详细介绍
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍
- PO等-对这些缩写详细介绍:PO BO VO DTO POJO DAO概念及其作用(附转换图)
- 并发无锁队列学习(概念介绍)
- Java邮件开发-----电子邮件的基本概念介绍
- PHP对象Object的概念 介绍
- RabbitMQ基础概念详细介绍
- quartz基本概念和原理的介绍
- RabbitMQ基础概念详细介绍
- AIX几种 IO 类型概念的介绍 .
- Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置
- SequoiaDB数据库的一般概念介绍
- php会话(session)生命周期概念介绍及设置更改和回收
- Storm概念讲解和工作原理介绍
- RabbitMQ基础概念详细介绍
- OpenGL ES 基础概念介绍
- portal和portlet基本概念介绍
- RabbitMQ基础概念详细介绍
- jBPM 5/jBPM 6 基本概念,示例介绍,深入理解,工作流应用开发指南