- 论坛徽章:
- 0
|
本帖最后由 Samdy_Chan 于 2013-03-13 16:18 编辑
大家好,我现在的数据库做了不完成恢复后,数据库副本号是489,如下:
RMAN> list incarnation of database;
List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 11 DEMO 3547552046 PARENT 1 2005-06-30 19:09:40
1 12 DEMO 3547552046 PARENT 446075 2012-12-31 13:21:52
1 13 DEMO 3547552046 PARENT 1589443 2013-01-18 16:39:36
1 14 DEMO 3547552046 PARENT 1592123 2013-01-18 17:26:45
1 15 DEMO 3547552046 PARENT 1592990 2013-01-18 17:41:59
1 16 DEMO 3547552046 PARENT 1603632 2013-01-19 21:57:46
1 2 DEMO 3547552046 PARENT 1604344 2013-01-19 22:13:08
1 489 DEMO 3547552046 CURRENT 1607900 2013-03-13 15:38:13
我在控制文件(select checkpoint_change# from v$database)和数据文件的SCN值为1607756是做了数据库全备后的SCN值,现在我想恢复到之前的数据库副本号2,于是我执行了以下命令脚本:
RMAN> startup force mount;
Oracle instance started
database mounted
Total System Global Area 167772160 bytes
Fixed Size 1218292 bytes
Variable Size 75499788 bytes
Database Buffers 83886080 bytes
Redo Buffers 7168000 bytes
RMAN> reset database to incarnation 2;
database reset to incarnation 2
RMAN> run {
2> startup force nomount;
3> set until scn=1607756; ##这里的scn=1607756是v$database 视图中的checkpoint_change#的值,不是current_scn 的值,有问题吗?
4> restore controlfile;
5> }
Oracle instance started
Total System Global Area 167772160 bytes
Fixed Size 1218292 bytes
Variable Size 75499788 bytes
Database Buffers 83886080 bytes
Redo Buffers 7168000 bytes
executing command: SET until clause
Starting restore at 2013-03-13 15:44:34
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=157 devtype=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: sid=156 devtype=DISK
allocated channel: ORA_DISK_3
channel ORA_DISK_3: sid=155 devtype=DISK
allocated channel: ORA_DISK_4
channel ORA_DISK_4: sid=154 devtype=DISK
allocated channel: ORA_DISK_5
channel ORA_DISK_5: sid=153 devtype=DISK
allocated channel: ORA_DISK_6
channel ORA_DISK_6: sid=152 devtype=DISK
allocated channel: ORA_DISK_7
channel ORA_DISK_7: sid=151 devtype=DISK
allocated channel: ORA_DISK_8
channel ORA_DISK_8: sid=150 devtype=DISK
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: reading from backup piece /ora01/oracle/oradata/demo/rman_bak/database_fullback/DEMO_7.bak
channel ORA_DISK_1: restored backup piece 1
piece handle=/ora01/oracle/oradata/demo/rman_bak/database_fullback/DEMO_7.bak tag=TAG20130313T152750
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output filename=/ora01/oracle/oradata/demo/control01.ctl
output filename=/ora01/oracle/oradata/demo/control02.ctl
Finished restore at 2013-03-13 15:44:38
RMAN> run {
2> sql 'alter database mount';
3> restore database;
4> recover database;
5> sql 'alter database open resetlogs';
6> }
sql statement: alter database mount
released channel: ORA_DISK_1
released channel: ORA_DISK_2
released channel: ORA_DISK_3
released channel: ORA_DISK_4
released channel: ORA_DISK_5
released channel: ORA_DISK_6
released channel: ORA_DISK_7
released channel: ORA_DISK_8
Starting restore at 2013-03-13 15:46:21
Starting implicit crosscheck backup at 2013-03-13 15:46:21
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=150 devtype=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: sid=151 devtype=DISK
allocated channel: ORA_DISK_3
channel ORA_DISK_3: sid=152 devtype=DISK
allocated channel: ORA_DISK_4
channel ORA_DISK_4: sid=153 devtype=DISK
allocated channel: ORA_DISK_5
channel ORA_DISK_5: sid=154 devtype=DISK
allocated channel: ORA_DISK_6
channel ORA_DISK_6: sid=155 devtype=DISK
allocated channel: ORA_DISK_7
channel ORA_DISK_7: sid=156 devtype=DISK
allocated channel: ORA_DISK_8
channel ORA_DISK_8: sid=157 devtype=DISK
Crosschecked 4 objects
Finished implicit crosscheck backup at 2013-03-13 15:46:24
Starting implicit crosscheck copy at 2013-03-13 15:46:24
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
using channel ORA_DISK_5
using channel ORA_DISK_6
using channel ORA_DISK_7
using channel ORA_DISK_8
Crosschecked 1 objects
Finished implicit crosscheck copy at 2013-03-13 15:46:24
searching for all files in the recovery area
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name: /ora01/oracle/flash_recovery_area/DEMO/autobackup/2013_02_28/o1_mf_s_808596764_8lycdwg6_.bkp
File Name: /ora01/oracle/flash_recovery_area/DEMO/autobackup/2013_03_01/o1_mf_s_808933639_8m0q87q6_.bkp
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
using channel ORA_DISK_5
using channel ORA_DISK_6
using channel ORA_DISK_7
using channel ORA_DISK_8
channel ORA_DISK_3: starting datafile backupset restore
channel ORA_DISK_3: specifying datafile(s) to restore from backup set
restoring datafile 00004 to /ora01/oracle/oradata/demo/users01.dbf
channel ORA_DISK_3: reading from backup piece /ora01/oracle/oradata/demo/rman_bak/database_fullback/DEMO_5.bak
channel ORA_DISK_4: starting datafile backupset restore
channel ORA_DISK_4: specifying datafile(s) to restore from backup set
restoring datafile 00001 to /ora01/oracle/oradata/demo/system01.dbf
channel ORA_DISK_4: reading from backup piece /ora01/oracle/oradata/demo/rman_bak/database_fullback/DEMO_2.bak
channel ORA_DISK_5: starting datafile backupset restore
channel ORA_DISK_5: specifying datafile(s) to restore from backup set
restoring datafile 00007 to /ora01/oracle/oradata/demo/user_01.dbf
channel ORA_DISK_5: reading from backup piece /ora01/oracle/oradata/demo/rman_bak/database_fullback/DEMO_6.bak
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00003 to /ora01/oracle/oradata/demo/sysaux01.dbf
channel ORA_DISK_1: reading from backup piece /ora01/oracle/oradata/demo/rman_bak/database_fullback/DEMO_3.bak
channel ORA_DISK_2: starting datafile backupset restore
channel ORA_DISK_2: specifying datafile(s) to restore from backup set
restoring datafile 00002 to /ora01/oracle/oradata/demo/undotbs01.dbf
channel ORA_DISK_2: reading from backup piece /ora01/oracle/oradata/demo/rman_bak/database_fullback/DEMO_4.bak
channel ORA_DISK_6: starting datafile backupset restore
channel ORA_DISK_6: specifying datafile(s) to restore from backup set
restoring datafile 00005 to /ora01/oracle/oradata/demo/test_tbs01.dbf
channel ORA_DISK_6: reading from backup piece /ora01/oracle/oradata/demo/rman_bak/database_fullback/DEMO_8.bak
channel ORA_DISK_7: starting datafile backupset restore
channel ORA_DISK_7: specifying datafile(s) to restore from backup set
restoring datafile 00006 to /ora01/oracle/oradata/demo/test_tbs02.dbf
channel ORA_DISK_7: reading from backup piece /ora01/oracle/oradata/demo/rman_bak/database_fullback/DEMO_9.bak
channel ORA_DISK_3: restored backup piece 1
piece handle=/ora01/oracle/oradata/demo/rman_bak/database_fullback/DEMO_5.bak tag=TAG20130313T152750
channel ORA_DISK_3: restore complete, elapsed time: 00:00:24
channel ORA_DISK_5: restored backup piece 1
piece handle=/ora01/oracle/oradata/demo/rman_bak/database_fullback/DEMO_6.bak tag=TAG20130313T152750
channel ORA_DISK_5: restore complete, elapsed time: 00:00:24
channel ORA_DISK_6: restored backup piece 1
piece handle=/ora01/oracle/oradata/demo/rman_bak/database_fullback/DEMO_8.bak tag=TAG20130313T152750
channel ORA_DISK_6: restore complete, elapsed time: 00:00:24
channel ORA_DISK_2: restored backup piece 1
piece handle=/ora01/oracle/oradata/demo/rman_bak/database_fullback/DEMO_4.bak tag=TAG20130313T152750
channel ORA_DISK_2: restore complete, elapsed time: 00:00:27
channel ORA_DISK_1: restored backup piece 1
piece handle=/ora01/oracle/oradata/demo/rman_bak/database_fullback/DEMO_3.bak tag=TAG20130313T152750
channel ORA_DISK_1: restore complete, elapsed time: 00:00:28
channel ORA_DISK_7: restored backup piece 1
piece handle=/ora01/oracle/oradata/demo/rman_bak/database_fullback/DEMO_9.bak tag=TAG20130313T152750
channel ORA_DISK_7: restore complete, elapsed time: 00:00:28
channel ORA_DISK_4: restored backup piece 1
piece handle=/ora01/oracle/oradata/demo/rman_bak/database_fullback/DEMO_2.bak tag=TAG20130313T152750
channel ORA_DISK_4: restore complete, elapsed time: 00:00:30
Finished restore at 2013-03-13 15:46:55
但最后提示了以下“在恢复目录中找不到目标数据库的副本”:
Starting recover at 2013-03-13 15:46:55
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
using channel ORA_DISK_5
using channel ORA_DISK_6
using channel ORA_DISK_7
using channel ORA_DISK_8
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 03/13/2013 15:46:55
RMAN-06004: ORACLE error from recovery catalog database: RMAN-20003: target database incarnation not found in recovery catalog
-------
请问这是怎么回事?错在哪里了?应如何解决才能恢复到数据库之前副本号2呢?
待复,感谢! |
|