我真不是程序员

站长百科www.software8.co

rman的catalog命令

在9i时代,如果在控制文件或者catalog数据库中的备份信息被覆盖或者清除,那么即使所有的备份文件都在,rman也无法简单的利用这些文件来做恢复了,必须得用些特别的方法才能办到,比如以前很多牛人写的使用dbms_backup_restore包从备份片中释放出数据文件,然后再使用手工方式做恢复。
 

但是实际上,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; 
这里需要注意将备份的log和备份文件一起保存下来,不然就不知道哪些文件属于哪个备份集,恢复的时候就要多浪费些时间啦。但是注意这些命令是有限制的,其中的一个限制是不能注册备份文件到不同的数据库:
You cannot use CATALOG to catalog a file that belongs to a different database.
也就是说你至少还需要原数据库的控制文件。
否则就会出现类似如下的错误:
$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on Thu May 22 01:02:56 2008
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
connected to target database (not started)
RMAN> set dbid=1490303982
executing command: SET DBID
RMAN> startup mount;
Oracle instance started
database mounted
Total System Global Area    285212672 bytes
Fixed Size                    1218992 bytes
Variable Size                92276304 bytes
Database Buffers            188743680 bytes
Redo Buffers                  2973696 bytes
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of startup command at 05/22/2008 01:03:08
RMAN-06189: current DBID 1490303982 does not match target mounted database (1492784050)
当然我们可以通过先修改一个恢复数据库的DBID,然后再来注册这个备份集。如何修改DBID可以参考
http://www.software8.co/shujuku/oracle/2471.html
 
如有错误,欢迎指正
邮箱:czmcj@163.com

posted on 2013-01-08 12:01  我真不是程序员  阅读(1334)  评论(0编辑  收藏  举报

导航