RMAN中nocatalog与catalog的区别
nocatalog方式:用control file作为catalog,每一次备份都要往控制文件里面写好多备份信息,控制文件里面会有越来越多的备份信息
nocatalog方式:用control file作为catalog,每一次备份都要往控制文件里面写好多备份信息,控制文件里面会有越来越多的备份信息,即RMAN的备份信息写在本地控制文件里面。
catalog方式:必须要首先要创建目录备份数据库(catalog,也称知识库),建立恢复目录,,即数据库的备份信息写到恢复目录里面。
当通过rman nocatalog方式备份Oracle数据库,Oracle使用controlfile存放RMAN的备份信息。因此,当使用Rman nocatalog方式备份数据库时,一定要记得备份controlfile。
初始化参数control_file__record_keep_time设置备份信息保存时间,到规定时间就自动清除以前的备份信息:
SQL> alter sysem set control_file_record_keep_time=7 scope=spfile;
注意:
当使用Rman nocatalog恢复时,数据库至少是处于“mount”状态的,即一定要先加载控制文件,不然RMAN找不到记录的备份信息。而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文件指定的位置(或者先启动到NOMOUNT,在RMAN中restore controlfile from autobackup)
3) startup mount
4) Rman,restore datafile,recover datafile
5) alter database open resetlogs
Rman catalog恢复:
1) 建立oracle运行环境(包括init或sp文件)
2) Rman ,restore controfile
3) alter database mount
4) Rman, restore datafile,recover datafile
5) alter database open resetlogs
可以看出,Rman nocatalog备份时,必须用文件方式备份controlfile。
推荐阅读
-
RMAN中nocatalog与catalog的区别
-
JS中call与apply的作用及区别 jscallapply执行上下文
-
浅析PHP中的i++与++i的区别及效率,浅析php
-
php中session_unset与session_destroy的用法与区别
-
WPF 中Binding的2个属性Source与ElementName的区别
-
sqlserver存储过程中SELECT 与 SET 对变量赋值的区别
-
深入分析php中接口与抽象类的区别_PHP教程
-
php中的静态方法与实例方法有什么区别?解决方法
-
PHP中new static()与new self()的区别异同分析_PHP
-
探讨C#中Dispose方法与Close方法的区别详解