事由如下:
不记如何把以前作的控制文件备份(主库上),手工删除,导致 利用rman恢复总提示如下错误:
-bash-3.1$ rman target sys/system@centos auxiliary sys/system
Recovery Manager: Release 10.2.0.4.0 - Production on Sun Jan 31 02:45:07 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: CENTOS (DBID=3005679176)
connected to auxiliary database: CENTOS (not mounted)
RMAN> run
2> {set until scn 671285;
3> duplicate target database for standby
4> nofilenamecheck
5> dorecover;
6> }
executing command: SET until clause
using target database control file instead of recovery catalog
Starting Duplicate Db at 31-JAN-10
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: sid=159 devtype=DISK
contents of Memory Script.:
{
set until scn 671285;
restore clone standby controlfile;
sql clone 'alter database mount standby database';
}
executing Memory Script
executing command: SET until clause
Starting restore at 31-JAN-10
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: starting datafile backupset restore
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: reading from backup piece /oracle/rmanbak/CENTOS_standbyctl.bak
ORA-19870: error reading backup piece /oracle/rmanbak/CENTOS_standbyctl.bak
ORA-19505: failed to identify file "/oracle/rmanbak/CENTOS_standbyctl.bak"
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
failover to previous backup
然后在主库进入rman操作如下
rman target sys/system@centos
1,先验证主库备份的有效性
restore database validate;
restore archivelog all validate;
2,list backup of database;
list copy of database;
list backupset of database;
....同理(对于其它备份对象)
list backup of controlfile;
list backup of archivelog;
crosscheck backup of controlfile;--这下子就出来好多无效的控制文件备份
哈哈,下来你就可以用delete真正把这些东东,从rman的控制文件中清除,下次rman在恢复就会再用这些信息了,以免给你添麻烦
delete noprompt obsolete;
不记如何把以前作的控制文件备份(主库上),手工删除,导致 利用rman恢复总提示如下错误:
-bash-3.1$ rman target sys/system@centos auxiliary sys/system
Recovery Manager: Release 10.2.0.4.0 - Production on Sun Jan 31 02:45:07 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: CENTOS (DBID=3005679176)
connected to auxiliary database: CENTOS (not mounted)
RMAN> run
2> {set until scn 671285;
3> duplicate target database for standby
4> nofilenamecheck
5> dorecover;
6> }
executing command: SET until clause
using target database control file instead of recovery catalog
Starting Duplicate Db at 31-JAN-10
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: sid=159 devtype=DISK
contents of Memory Script.:
{
set until scn 671285;
restore clone standby controlfile;
sql clone 'alter database mount standby database';
}
executing Memory Script
executing command: SET until clause
Starting restore at 31-JAN-10
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: starting datafile backupset restore
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: reading from backup piece /oracle/rmanbak/CENTOS_standbyctl.bak
ORA-19870: error reading backup piece /oracle/rmanbak/CENTOS_standbyctl.bak
ORA-19505: failed to identify file "/oracle/rmanbak/CENTOS_standbyctl.bak"
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
failover to previous backup
然后在主库进入rman操作如下
rman target sys/system@centos
1,先验证主库备份的有效性
restore database validate;
restore archivelog all validate;
2,list backup of database;
list copy of database;
list backupset of database;
....同理(对于其它备份对象)
list backup of controlfile;
list backup of archivelog;
crosscheck backup of controlfile;--这下子就出来好多无效的控制文件备份
哈哈,下来你就可以用delete真正把这些东东,从rman的控制文件中清除,下次rman在恢复就会再用这些信息了,以免给你添麻烦
delete noprompt obsolete;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-626582/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9240380/viewspace-626582/