黑帽联盟

 找回密码
 会员注册
查看: 1591|回复: 0
打印 上一主题 下一主题

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

[复制链接]

852

主题

38

听众

3174

积分

白金VIP

Rank: 8Rank: 8

  • TA的每日心情
    开心
    2024-3-7 12:52
  • 签到天数: 1538 天

    [LV.Master]伴坛终老

    前不久因工作需要使用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一切正常。

    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    勿忘初心,方得始终!
    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部