Nocatalog方式就是用control
file作为catalog,每一次备份都要往控制文件里面写好多备份信息,控制文件里面会有越来越多的备份信息。若为catalog则必须要首先要创建目录备份数据库,建立恢复目录。
当通过rman
nocatalog方式备份Oracle,Oracle使用controlfile存放备份信息。因此,当使用rman
nocatalog方式备份时,备份controlfile是非常重要的。
初始化参数control_file__record_keep_time设置备份信息保存时间,到规定时间就自动清除以前的备份信息:
SQL>
alter sysem set control_file_record_keep_time=7
scope=spfile;
有一个问题,当使用rman nocatalog恢复时,数据库必须是处于"mount"状态的。而Oracle
startup mount的前提条件是control必须存在。因此,你必须在恢复datafile之前先恢复controlfile。使用rman
catalog方式时,可以startup nomount然后restore controlfile;但使用rman
nocatalog时,必须先用文件方式恢复controlfile。
下面对比一下rman nocatalog和rman
catalog的恢复时的步骤,以便建立正确的备份策略(以下的恢复都是在online状态下的备份):
rman nocatalog恢复:
1)
建立oracle运行环境(包括init或sp文件)
2) 文件方式恢复controlfile到init文件指定的位置
3) startup
mount
4) rman,恢复datafile
5) alter database open resetlogs
rman
catalog恢复:
1) 建立oracle运行环境(包括init或sp文件)
2) rman ,restore controfile
3)
alter database mount
4) rman, restore datafile
5) alter database open
resetlogs
可以看出,rman
nocatalog备份时,必须用文件方式备份controlfile。
另外,由于nocatalog时利用controlfile存放备份信息,建议将Oracle参数文件中的CONTROL_FILE_RECORD_KEEP_TIME值加大(缺省为7天),
该参数在$ORACLE_HOME/dbs/initSID.ora中(9i后也可能在spfile中,只能通过Oracle语句更改)。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17172228/viewspace-777249/
,如需转载,请注明出处,否则将追究法律责任。