[oracle@single rman_bk]$ rmantarget /
Recovery Manager: Release9.2.0.4.0 - Production
Copyright (c) 1995, 2002,Oracle Corporation. All rightsreserved.
connected to target database:TEST (DBID=1935070339)
RMAN> run {
2> set newname for datafile 1 to '/test_ora/new/system01.dbf';
3> set newname for datafile 2 to '/test_ora/new/rbs01.dbf';
4> set newname for datafile 3 to '/test_ora/new/users01.dbf';
5> set newname for datafile 4 to '/test_ora/new/test01.dbf';
6> set newname for datafile 5 to '/test_ora/new/test201.dbf';
7> restore database;
8> }
executing command: SETNEWNAME
using target database controlfile instead of recoverycatalog
executing command: SETNEWNAME
executing command: SETNEWNAME
executing command: SETNEWNAME
executing command: SETNEWNAME
Starting restore at27-OCT-07
allocated channel:ORA_DISK_1
channel ORA_DISK_1: sid=15 devtype=DISK
RMAN-00571:===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS===============
RMAN-00571:===========================================================
RMAN-03002: failure of restore command at 10/27/2007 19:06:57
ORA-19625: error identifying file /test_ora/new/system01.dbf
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
Recovery Manager: Release 9.2.0.4.0 -Production
Copyright (c) 1995, 2002,Oracle Corporation. All rightsreserved.
connected to target database:TEST (DBID=1935070339)
RMAN> restoredatabase;
Starting restore at27-OCT-07
using target databasecontrolfile instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=13 devtype=DISK
RMAN-00571:===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS===============
RMAN-00571:===========================================================
RMAN-03002: failure of restore command at 10/27/2007 19:15:26
ORA-19563: datafile copy header validationfailed for file /test_ora/new/system01.dbf
从红色字体部分可以看出,/test_ora/new/system01.dbf被视作一个datafilecopy,rman试图将该文件restore到生产库的数据存放路径下,但没有找到该文件,于是报错。
从上述分析可以得出:
rman在setnewname之后的restore过程,是将现有的数据文件做一份副本,相当于做了一次uman的备份,而该副本的信息是保存在rman知识库中,当再一次进行restore时,rman试图寻找最新的备份(也就是数据文件副本),而该数据文件副本已经被删除,于是报错。
4.处理方法:
将rman知识库中的关于数据文件副本信息删除:
(1)检查数据文件副本状态
RMAN> crosscheck copy;
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=13 devtype=DISK
validation failed for datafile copy
datafile copy filename=/test_ora/new/system01.dbf recid=41stamp=637095874
validation failed for datafile copy
datafile copy filename=/test_ora/new/rbs01.dbf recid=38stamp=637095858
validation failed for datafile copy
datafile copy filename=/test_ora/new/users01.dbf recid=40stamp=637095868
validation failed for datafile copy
datafile copy filename=/test_ora/new/test01.dbf recid=39stamp=637095859
validation failed for datafile copy
datafile copy filename=/test_ora/new/test201.dbf recid=37stamp=637095855
(2)删除已经expired的数据文件副本信息
RMAN> delete nopromptexpired copy;
released channel:ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=13 devtype=DISK
specification does not match any archive log in the recoverycatalog
List of Datafile Copies
Key File S Completion Time CkpSCN CkpTime Name
------- ---- - --------------- ---------- -------------------
41 1 X27-OCT-07 460930 27-OCT-07 /test_ora/new/system01.dbf
38 2 X27-OCT-07 460930 27-OCT-07 /test_ora/new/rbs01.dbf
40 3 X27-OCT-07 460930 27-OCT-07 /test_ora/new/users01.dbf
39 4 X27-OCT-07 460930 27-OCT-07 /test_ora/new/test01.dbf
37 5 X27-OCT-07 482616 27-OCT-07 /test_ora/new/test201.dbf
deleted datafile copy
datafile copy filename=/test_ora/new/system01.dbf recid=41stamp=637095874
deleted datafile copy
datafile copy filename=/test_ora/new/rbs01.dbf recid=38stamp=637095858
deleted datafile copy
datafile copy filename=/test_ora/new/users01.dbf recid=40stamp=637095868
deleted datafile copy
datafile copy filename=/test_ora/new/test01.dbf recid=39stamp=637095859
deleted datafile copy
datafile copy filename=/test_ora/new/test201.dbf recid=37stamp=637095855
Deleted 5 EXPIRED objects
(3).此时,再次进行set newname并restore。
RMAN> run {
2> set newname for datafile 1 to '/test_ora/new/system01.dbf';
3> set newname for datafile 2 to '/test_ora/new/rbs01.dbf';
4> set newname for datafile 3 to '/test_ora/new/users01.dbf';
5> set newname for datafile 4 to '/test_ora/new/test01.dbf';
6> set newname for datafile 5 to '/test_ora/new/test201.dbf';
7> restore database;
8> }
executing command: SETNEWNAME
executing command: SETNEWNAME
executing command: SETNEWNAME
executing command: SETNEWNAME
executing command: SETNEWNAME
Starting restore at27-OCT-07
using channel ORA_DISK_1
channel ORA_DISK_1: restoring datafile 00005
input datafilecopy recid=36 stamp=637095244filename=/oracle/rman_bk/df_5.dbf
destination for restore of datafile 00005:/test_ora/new/test201.dbf
channel ORA_DISK_1: copied datafilecopy of datafile 00005
output filename=/test_ora/new/test201.dbf recid=42stamp=637097488
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backupset
restoring datafile 00001 to /test_ora/new/system01.dbf
restoring datafile 00002 to /test_ora/new/rbs01.dbf
restoring datafile 00003 to /test_ora/new/users01.dbf
restoring datafile 00004 to /test_ora/new/test01.dbf
channel ORA_DISK_1: restored backup piece 1
piece handle=/oracle/product/9.2.0.4/dbs/03ivie8c_1_1tag=TAG20071027T172739 params=NULL
channel ORA_DISK_1: restore complete
Finished restore at 27-OCT-07
试验完毕。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28673746/viewspace-757989/ ,如需转载,请注明出处,否则将追究法律责任。