在使用rman执行复制数据库时遇到如上问题:在解决这个问题的过程中要谢谢
网友lizisor1 的帮助。
很可能是的备份不全,duplicate在restore时候找不到恢复点。
回复 #7 lizisor1 的帖子
你分析的是正确的,的确在我rman备份时,说归档日志是不完整的。
RMAN>backup database include current controlfile plus archivelog format ='f:\rman\full-%u_%s.bak';
在执行的时候就报错说归档日志不完整
lizisor1:你删过归档么?
删过,说到这一点,我做备份的时候都用 format=‘f:\RMAN\%U.bak' 这样的形式,不过检查备份的时候,
总是有些在 flash_recovery_area 里面,所以就手工删除了,flash_recovery_area的size 是2 G的 。做rman备份的时候 备份集占了1.8g左右 ,我想问一下为什么指定了format 却在flash_recovery_area里存在rman的备份集?
lizisor1:
呵呵,你这问题我研究过,这个问题算是rman的一个潜规则吧,写rman备份脚本时候要指明allocate channel具体路径及格式,即:
run{
allocate channel c1 type disk format '/u00/dbbackup/standbydb%U';
allocate channel c2 type disk format '/u00/dbbackup/standbydb%U';
allocate channel c3 type disk format '/u00/dbbackup/standbydb%U';
backup incremental level 0 database skip readonly;
release channel c1;
release channel c2;
release channel c3;
}
要用以上格式写好通道分配,不要单单config设置format路径,否则,
如果安装了快速恢复区flash recovery area的话,备份集会自动被分到类似于
…\flash_recovery_area\SID\AUTOBACKUP\2007_01_04\ 下面,即使在backup database命令中包含format路径,也同时会在flash下面生成一个备份集
针对你的问题你从新做一次全备份,然后在duplicate吧,备份全的话应该就没什么问题,最好在做备份之前先对归档crosscheck一下:
至此 问题得到解决。。。
再次感谢 lizisor1