异机恢复 RMAN-06023: no backup or copy of datafile 17 found to restore

前不久因工作需要使用RMAN异机恢复,很基础也很具有代表性和普遍性,希望对需要的人有所帮助。

具体过程如下:

先拷贝原库的口令文件和参数文件到备库。

然后使用如下脚本对原库进行备份:

run {

allocate channel d1 type disk;

allocate channel d2 type disk;

backup full database format'c:\rmanbak\date%Y%m%d_full_%d_%s_%p_%u.bak'

tag='full' include current controlfile;

sql 'alter system archive log current';

backup archivelog all format'c:\rmanbak\date%Y%m%d_archivelog_%d_%s_%p_%u.bak' delete all input;

release channel d2;

release channel d1;

}

备份完成后把这些备份文件全部拷到备库中已经事先创建好的目录C:\rmanbak\,注意一定要拷全。

由于我异机恢复的时候的数据文件是和原库不同的目录所以在恢复时使用如下的脚本:

run{

set newname for datafile  1 to"C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBF";

set newname for datafile  2 to"C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOTBS01.DBF";

set newname for datafile  3 to"C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSAUX01.DBF";

set newname for datafile  4 to"C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS01.DBF";

set newname for datafile  5 to"C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\OEEDATA.DBF";

set newname for datafile  6 to"C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\OEEINDEX.DBF";

set newname for datafile  7 to"C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SMLDATA.DBF";

set newname for datafile  8 to"C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SMLINDX.DBF";

set newname for datafile  9 to"C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\MEDDATA.DBF";

set newname for datafile  10 to"C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\MEDINDX.DBF";

set newname for datafile  11 to"C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\LRGDATA.DBF";

set newname for datafile  12 to"C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\LRGINDX.DBF";

restore database;

switch datafile all;

}

在执行这一步是总是报错如下:

Starting restore at 01-JUN-11

using channel ORA_DISK_1

RMAN-00571:=================================================

RMAN-00569: ===== ERROR MESSAGE STACKFOLLOWS ====

RMAN-00571:==========================================

RMAN-03002: failure of restore command at06/01/2011 21:21:28

RMAN-06026: some targets notfound - aborting restore

RMAN-06023: no backup or copy ofdatafile 3 found to restore

RMAN-06023: no backup or copy of datafile2 found to restore

RMAN-06023: no backup or copy of datafile1 found to restore

  提示找不到备份集,我的备份是全备的,而且不存在拷贝不完全的情况啊,我又从原库备份了一份数据,还是不行。百思不得其解,也曾经怀疑是不是controlfile和backupset是不是不一致啊,controlfile过旧的原因呢,controlfile就是从全备中恢复过来的应该不是这个原因。最后,发现在恢复过程中RMAN提示信息,只是查找C:\RMANBAK\DATE_2013%MTEST_FULL_TEST_16_1_0GOOMADP.BAK这样一个backupset,其他的rman备份就没有查到,使用listbackup列出rman的备份集,如下:

RMAN> list backup;

备份集列表

===================

BS 关键字  类型 LV 大小      设备类型 经过时间 完成时间

------- ---- -- ---------- ----------------------- ----------

16      Full   2.53G      DISK        00:03:47     11-11月-13

BP 关键字: 16   状态:AVAILABLE  已压缩: NO  标记: FULL

段名:C:\RMANBAK\DATE_2013%MTEST_FULL_TEST_16_1_0GOOMADP.BAK

备份集 16 中的数据文件列表

文件 LV 类型 Ckp SCN    Ckp 时间   名称

---- -- ---- ---------- ---------- ----

1      Full 3497054673 11-11月-13C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\OEENET

CH\SYSTEM01.DBF

4      Full 3497054673 11-11月-13C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\OEENET

CH\USERS01.DBF

6      Full 3497054673 11-11月-13C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\OEEIND

EX.DBF

7      Full 3497054673 11-11月-13C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\SMLDAT

A.DBF

9      Full 3497054673 11-11月-13C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\MEDDAT

A.DBF

12     Full 3497054673 11-11月-13C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\LRGIND

X.DBF

  果然其他的backupset都没有认到,使用RMAN>catalog start with 'C:\rmanbak\';手动把这些没有追加进去的backupset追加进去。

RMAN> catalog start with 'C:\rmanbak\';

搜索与样式 C:\rmanbak\ 匹配的所有文件

数据库未知文件的列表

=====================================

文件名:C:\RMANBAK\DATE_2013%MTEST_ARCHIVELOG_TEST_20_1_0KOOMALD.BAK

文件名:C:\RMANBAK\DATE_2013%MTEST_ARCHIVELOG_TEST_21_1_0LOOMALD.BAK

文件名:C:\RMANBAK\DATE_2013%MTEST_ARCHIVELOG_TEST_22_1_0MOOMANT.BAK

文件名:C:\RMANBAK\DATE_2013%MTEST_FULL_TEST_17_1_0HOOMADP.BAK

文件名:C:\RMANBAK\DATE_2013%MTEST_FULL_TEST_18_1_0IOOMAL5.BAK

文件名:C:\RMANBAK\DATE_2013%MTEST_FULL_TEST_19_1_0JOOMAL8.BAK

是否确实要将上述文件列入目录 (输入 YES 或 NO)? yes

正在编制文件目录...

目录编制完毕

已列入目录的文件的列表

=======================

文件名:C:\RMANBAK\DATE_2013%MTEST_ARCHIVELOG_TEST_20_1_0KOOMALD.BAK

文件名:C:\RMANBAK\DATE_2013%MTEST_ARCHIVELOG_TEST_21_1_0LOOMALD.BAK

文件名:C:\RMANBAK\DATE_2013%MTEST_ARCHIVELOG_TEST_22_1_0MOOMANT.BAK

文件名:C:\RMANBAK\DATE_2013%MTEST_FULL_TEST_17_1_0HOOMADP.BAK

文件名:C:\RMANBAK\DATE_2013%MTEST_FULL_TEST_18_1_0IOOMAL5.BAK

文件名:C:\RMANBAK\DATE_2013%MTEST_FULL_TEST_19_1_0JOOMAL8.BAK

再次查看ok了。

RMAN> list backup;

备份集列表

===================

BS 关键字  类型 LV 大小      设备类型 经过时间 完成时间

------- ---- -- ---------- ----------------------- ----------

16      Full   2.53G      DISK        00:03:47     11-11月-13

BP 关键字: 16   状态:AVAILABLE  已压缩: NO  标记: FULL

段名:C:\RMANBAK\DATE_2013%MTEST_FULL_TEST_16_1_0GOOMADP.BAK

备份集 16 中的数据文件列表

文件 LV 类型 Ckp SCN    Ckp 时间   名称

---- -- ---- ---------- ---------- ----

1      Full 3497054673 11-11月-13C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\OEENET

CH\SYSTEM01.DBF

4      Full 3497054673 11-11月-13C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\OEENET

CH\USERS01.DBF

6      Full 3497054673 11-11月-13C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\OEEIND

EX.DBF

7      Full 3497054673 11-11月-13C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\SMLDAT

A.DBF

9      Full 3497054673 11-11月-13C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\MEDDAT

A.DBF

12     Full 3497054673 11-11月-13C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\LRGIND

X.DBF

BS 关键字  大小       设备类型占用时间 完成时间

------- ---------- ----------------------- ----------

17      830.54M   DISK        00:00:00     11-11月-13

BP 关键字: 17   状态:AVAILABLE  已压缩: NO  标记:TAG20131111T100012

段名:C:\RMANBAK\DATE_2013%MTEST_ARCHIVELOG_TEST_20_1_0KOOMALD.BAK

备份集 17 中的已存档日志列表

Thrd Seq    低 SCN   短时间    下一个 SCN  下一次

---- ------- ---------- ---------- ---------- ---------

1   90328   3496186914 10-11月-13 3496226142 11-11月-13

1   90329   3496226142 11-11月-13 3496266075 11-11月-13

1   90330   3496266075 11-11月-13 3496299131 11-11月-13

1   90331   3496299131 11-11月-13 3496299548 11-11月-13

1   90332   3496299548 11-11月-13 3496301290 11-11月-13

1   90333   3496301290 11-11月-13 3496301703 11-11月-13

1   90334   3496301703 11-11月-13 3496302828 11-11月-13

1   90335   3496302828 11-11月-13 3496304640 11-11月-13

1   90336   3496304640 11-11月-13 3496309269 11-11月-13

1   90337   3496309269 11-11月-13 3496349250 11-11月-13

1   90338   3496349250 11-11月-13 3496388324 11-11月-13

1   90339   3496388324 11-11月-13 3496427847 11-11月-13

1   90340   3496427847 11-11月-13 3496467668 11-11月-13

1   90341   3496467668 11-11月-13 3496506886 11-11月-13

1   90342   3496506886 11-11月-13 3496546773 11-11月-13

1   90343   3496546773 11-11月-13 3496585866 11-11月-13

1   90344   3496585866 11-11月-13 3496626275 11-11月-13

BS 关键字  大小       设备类型占用时间 完成时间

------- ---------- ----------------------- ----------

18      759.59M   DISK        00:00:00     11-11月-13

BP 关键字: 18   状态:AVAILABLE  已压缩: NO  标记:TAG20131111T100012

段名:C:\RMANBAK\DATE_2013%MTEST_ARCHIVELOG_TEST_21_1_0LOOMALD.BAK

备份集 18 中的已存档日志列表

Thrd Seq    低 SCN   短时间    下一个 SCN  下一次

---- ------- ---------- ---------- ---------- ---------

1   90345   3496626275 11-11月-13 3496650977 11-11月-13

1   90346   3496650977 11-11月-13 3496688239 11-11月-13

1   90347   3496688239 11-11月-13 3496731128 11-11月-13

1   90348   3496731128 11-11月-13 3496773991 11-11月-13

1   90349   3496773991 11-11月-13 3496804613 11-11月-13

1   90350   3496804613 11-11月-13 3496810746 11-11月-13

1   90351   3496810746 11-11月-13 3496823955 11-11月-13

1   90352   3496823955 11-11月-13 3496825757 11-11月-13

1   90353   3496825757 11-11月-13 3496830485 11-11月-13

1   90354   3496830485 11-11月-13 3496832351 11-11月-13

1   90355   3496832351 11-11月-13 3496868065 11-11月-13

1   90356   3496868065 11-11月-13 3496909832 11-11月-13

1   90357   3496909832 11-11月-13 3496952274 11-11月-13

1   90358   3496952274 11-11月-13 3496994756 11-11月-13

1   90359   3496994756 11-11月-13 3497037939 11-11月-13

1   90360   3497037939 11-11月-13 3497053401 11-11月-13

1   90361   3497053401 11-11月-13 3497053423 11-11月-13

1   90362   3497053423 11-11月-13 3497060228 11-11月-13

BS 关键字  大小       设备类型占用时间 完成时间

------- ---------- ----------------------- ----------

19      36.50K    DISK        00:00:00     11-11月-13

BP 关键字: 19   状态:AVAILABLE  已压缩: NO  标记:TAG20131111T100012

段名:C:\RMANBAK\DATE_2013%MTEST_ARCHIVELOG_TEST_22_1_0MOOMANT.BAK

备份集 19 中的已存档日志列表

Thrd Seq    低 SCN   短时间    下一个 SCN  下一次

---- ------- ---------- ---------- ---------- ---------

1   90363   3497060228 11-11月-13 3497060260 11-11月-13

BS 关键字  类型 LV 大小      设备类型 经过时间 完成时间

------- ---- -- ---------- ----------------------- ----------

20      Full   2.80G      DISK        00:00:00     11-11月-13

BP 关键字: 20   状态:AVAILABLE  已压缩: NO  标记: FULL

段名:C:\RMANBAK\DATE_2013%MTEST_FULL_TEST_17_1_0HOOMADP.BAK

备份集 20 中的数据文件列表

文件 LV 类型 Ckp SCN    Ckp 时间   名称

---- -- ---- ---------- ---------- ----

2      Full 3497054687 11-11月-13C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\OEENET

CH\UNDOTBS01.DBF

3      Full 3497054687 11-11月-13C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\OEENET

CH\SYSAUX01.DBF

5      Full 3497054687 11-11月-13C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\OEEDAT

A.DBF

8      Full 3497054687 11-11月-13C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\SMLIND

X.DBF

10     Full 3497054687 11-11月-13C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\MEDIND

X.DBF

11     Full 3497054687 11-11月-13C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\LRGDAT

A.DBF

BS 关键字  类型 LV 大小      设备类型 经过时间 完成时间

------- ---- -- ---------- ----------------------- ----------

21      Full   7.83M      DISK        00:00:00     11-11月-13

BP 关键字: 21   状态:AVAILABLE  已压缩: NO  标记: FULL

段名:C:\RMANBAK\DATE_2013%MTEST_FULL_TEST_18_1_0IOOMAL5.BAK

包括的控制文件: CkpSCN: 3497060126   Ckp 时间: 11-11月-13

BS 关键字  类型 LV 大小      设备类型 经过时间 完成时间

------- ---- -- ---------- ----------------------- ----------

22      Full   80.00K     DISK        00:00:00     11-11月-13

BP 关键字: 22   状态:AVAILABLE  已压缩: NO  标记: FULL

段名:C:\RMANBAK\DATE_2013%MTEST_FULL_TEST_19_1_0JOOMAL8.BAK

包含的 SPFILE: 修改时间: 09-11月-13

再次尝试restore database没有上述错误。

使用recover database完成,但报一个错误:

RMAN-06054: media recovery requestingunknown archived log for thread 1 with sequence 9 and starting SCN of 823627

recover databaseuntil sequence 90364避免了此问题,当然我们可以使用set until scn或者set until time 。来避免提醒恢复到最后一个未知的scn号。

使用sql>alter database open resetlogs;还是报错。

这个错误为ORA-00344:unable to re-create online log

使用网上提供的方法尝试:

如果数据库正常关闭:

用命令清空日志组的方法:

1. 已归档,重建该日志

SQL> alter database clearlogfile group 2;

2. 归档模式下如果没有归档

SQL> alter database clearunarchived logfile group 2

依然不行。

接着执行如下操作:

SQL> select group#,status,member fromv$logfile;

GROUP#       MEMBER

----------        ------------------------------------------------------

3                   C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\TEST\REDO03.LOG

2                   C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\TEST\REDO02.LOG

1                    C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\TEST\REDO01.LOG

SQL> selectgroup#,thread#,members,status from v$log;

GROUP#    THREAD#    MEMBERS STATUS

---------- ---------- --------------------------

1          1          1 CLEARING_CURRENT

3          1          1 INACTIVE

2          1          1 INACTIVE

SQL> alter database rename file'C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\TEST\R

EDO01.LOG' to'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\REDO01.LOG';

数据库已更改。

SQL> alter database rename file'C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\TEST\R

EDO02.LOG' to'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\REDO02.LOG';

数据库已更改。

SQL> alter database rename file'C:\ORACLE_STD\PRODUCT\10.2.0\ORADATA\TEST\R

EDO03.LOG' to'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\REDO03.LOG';

数据库已更改。

SQL> alter database open resetlogs;

alter database open resetlogs

*

第 1 行出现错误:

ORA-01092: ORACLE实例终止。强制断开连接

Fri Nov 15 14:13:52 2013

MTTR advisory is disabled becauseFAST_START_MTTR_TARGET is not set

Fri Nov 15 14:13:52 2013

ARC0: STARTING ARCH PROCESSES

Fri Nov 15 14:13:52 2013

SMON: enabling cache recovery

Fri Nov 15 14:13:52 2013

ARC2: Archival started

ARC2 started with pid=20, OS id=4156

Fri Nov 15 14:13:52 2013

Errors in filec:\oracle\product\10.2.0\admin\test\udump\test_ora_5904.trc:

ORA-00704: 引导程序进程失败

ORA-39700:必须用 UPGRADE 选项打开数据库

Fri Nov 15 14:13:52 2013

Error 704 happened during db open,shutting down database

USER: terminating instance due to error704

ARC1 started with pid=19, OS id=5352

Fri Nov 15 14:13:53 2013

ARC0: STARTING ARCH PROCESSES COMPLETE

Fri Nov 15 14:13:53 2013

ARC0: Becoming the 'no FAL' ARCH

ARC0: Becoming the 'no SRL' ARCH

Fri Nov 15 14:13:53 2013

Errors in filec:\oracle\product\10.2.0\admin\test\bdump\test_pmon_3456.trc:

ORA-00704: bootstrap process failure

Fri Nov 15 14:13:54 2013

Errors in filec:\oracle\product\10.2.0\admin\test\bdump\test_reco_4636.trc:

ORA-00704: bootstrap process failure

Fri Nov 15 14:13:54 2013

Errors in filec:\oracle\product\10.2.0\admin\test\bdump\test_mman_5880.trc:

ORA-00704: bootstrap process failure

Fri Nov 15 14:13:54 2013

Errors in filec:\oracle\product\10.2.0\admin\test\bdump\test_psp0_5936.trc:

ORA-00704: bootstrap process failure

Fri Nov 15 14:13:54 2013

Errors in filec:\oracle\product\10.2.0\admin\test\bdump\test_lgwr_4820.trc:

ORA-00704: bootstrap process failure

Fri Nov 15 14:13:54 2013

Errors in filec:\oracle\product\10.2.0\admin\test\bdump\test_smon_3068.trc:

ORA-00704: bootstrap process failure

Fri Nov 15 14:13:54 2013

Errors in filec:\oracle\product\10.2.0\admin\test\bdump\test_dbw0_5212.trc:

ORA-00704: bootstrap process failure

Fri Nov 15 14:13:54 2013

Errors in filec:\oracle\product\10.2.0\admin\test\bdump\test_ckpt_4836.trc:

ORA-00704: bootstrap process failure

这里报这个升级过程中经常报的错误,跟我数据库异机迁移版本不同可能有关系。

根据提示使用:alter database open upgrade;数据库正常打开,最后执行catupgrd.sql一切正常。

上一篇:渗透技巧——导出Chrome浏览器中保存的密码


下一篇:蓝桥杯练习系统—基础练习 sine之舞