注:catalog目录需要专门创建一个用于恢复的数据库
一、catalog备份
1、创建表空间
SQL>create tablespace rman datafile \'C:\\oracle\\product\\10.2.0\\oradata\\orcl\\rman01.dbf\' size 50M
extent management local uniform size 128K;
2、创建用户
SQL>create user rman identified by rman
default tablespace rman
temporary tablespace temp #临时表空间
quota unlimited on rman;
3、授权
SQL>grant connect,resource,recovery_catalog_owner to rman;
4、创建恢复目录
C:\\>rman catalog rman/rman
RMAN>create catalog;
5、注册需要备份的数据库【注册数据库需要同时连接到目标(target)数据库和目录(catalog)数据库】
C:\\>rman catalog rman/rman target sys/orcl
RMAN>register database;
注销已注册的数据库:
RMAN>unregister database;
6、使用catalog数据库对目标数据库进行备份
C:\\>rman catalog rman/rman target sys/orcl
RMAN>create script fullbk{ #创建备份脚本
backup full tag \'sys\' database
include current controlfile
format \'c:\\backup\\sysfull_%d_%T_%s\'
plus archivelog
format \'c:\\backup\\sysarch_%d_T_%s\'
delete all input;
}
RMAN>run{execute script fullbk;} #调用脚本
删除脚本:
RMAN>delete script fullbk;
二、catalog恢复
1、
C:\\>rman catalog rman/rman target sys/orcl
2、接下来参考本博文“rman恢复方案和异机恢复”
三、catalog和nocatalog区别
1、nocatalog方式:用control file作为catalog,每一次备份都要往控制文件里面写好多备份信息,控制文件里面会有越来越多的备份信息,即RMAN的备份信息写在本地控制文件里面。
2、catalog方式:必须要首先要创建目录备份数据库(catalog,也称知识库),建立恢复目录,即数据库的备份信息写到恢复目录里面。
3、当通过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;