这几天想验证RMAN生成的备份有否可用,就用了一台备机作恢复测试,操作系统,数据库版本都和生产库相同,redhat 5 + oracle 10g
,数据库目录也一样,因为网络环境不同,就把RMAN生成的0级备份和autobackup中的直接复制到备用机,使用dbca先建一个新库,名称相同,
然后使用imp把生产库exp作的备份在备用机上恢复,恢复成功后,想测试0级备份集。
0级脚本如下
run{
allocate channel c1 type disk;
backup incremental level 0 tag 'db0' format
'/oracle/databackup/hdb/db0_%d_%T_%s' database include current
controlfile;
delete noprompt obsolete;
release channel c1;
}
开始准备恢复controlfile,但发现autobackup中的controlfile的SCN和0级备份集的SCN不一致,如果这样的话,应该就需要redo文件了,
于是按网上所说的,重建了controlfile,然后使用
RMAN> catalog start with '/oracle/oracle_src';
oracle_src目录中包含复制来的0级备份(为了能注册成功,使用dbms_backup_restore.nidprocessdf修改了DBID,让新的数据库和生产库DBID相同)
成功后,使用
RMAN> startup mount force;
Oracle instance started
database mounted
Total System Global Area 281018368 bytes
Fixed Size 2083336 bytes
Variable Size 184550904 bytes
Database Buffers 88080384 bytes
Redo Buffers 6303744 bytes
RMAN> restore database;
Starting restore at 06-MAR-14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=157 devtype=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 03/06/2014 15:10:57
RMAN-06026: some targets not found - aborting restore
RMAN-06023: no backup or copy of datafile 18 found to restore
RMAN-06023: no backup or copy of datafile 17 found to restore
RMAN-06023: no backup or copy of datafile 16 found to restore
还是不成功,我应该如何测试?