实际上,oracle完全可以将恢复时需要的一些信息保存在备份文件的文件头中,如果控制文件或者catalog数据库中的信息丢失,再扫描一遍文件头,取出这些信息就可以了。10g中就是这么实现的,扫描这些文件头的工作就是由这个新的catalog命令来实现的。注意这是10g rman的一个命令,虽然和以前的catalog database的名字长得一样,可不是同一个东西。
catalog命令可以用来扫描备份片,文件拷贝(datafile or controlfile copy),也可以用来扫描归档日志,所以,只要你的备份还在,归档还在,即使catalog database崩溃,控制文件重建,照样可以用这些备份来做恢复。
扫描备份片
CATALOG BACKUPPIECE ‘?/oradata/01dmsbj4_1_1.bcp’;
扫描归档日志
CATALOG ARCHIVELOG ‘?/oradata/archive1_30.dbf’, ‘?/oradata/archive1_31.dbf’;
扫描数据文件拷贝,并且将其做为增量备份的level 0
CATALOG DATAFILECOPY ‘?/oradata/users01.bak’ LEVEL 0;
扫描控制文件拷贝
CATALOG CONTROLFILECOPY ‘controlfilecopy.ctl’
扫描整个目录,如果备份片或者归档日志文件太多,可以放到一个目录中,一次性扫描就行
CATALOG START WITH ‘/tmp/arch_logs’;
扫描闪回恢复区
CATALOG RECOVERY AREA NOPROMPT;
有了catalog命令,完全可以抛弃catalog database了。只是注意将备份的log和备份文件一起保存下来,不然就不知道哪些文件属于哪个备份集,恢复的时候就要多浪费些时间啦。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26716390/viewspace-717598/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26716390/viewspace-717598/