分享

| Backupset与Incarnation | DBA之路:OoNiceDream |

 ylzrx 2011-04-12

Reset database重新注册新的Incarnation之后,默认恢复时,即使我们指定了tag,也不会去使用之前incarnation的备份集。备份集总是对应一个特定的incarnation,无法在一个incarnation下恢复另一个incarnation下的备份集,但我们可以使用reset database to incarnation Inc,指定了incarnation后,就可以恢复那个incarnation下的备份集了。例如我们不完全恢复后,仍想使用老的备份集再进行恢复,就需要指定incarnation了。

举了例子,在reset database之后,没有进行新的备份,虽然list backup of controlfile有不少备份集,但却无法恢复:

RMAN> list incarnation;
             
             
            数据库 Incarnations 列表
            DB 关键字  Inc 关键字 DB 名  DB ID            CUR 重置 SCN   重置时间
            ------- ------- -------- ---------------- --- ---------- ----------
            1       2       SKY      2987191772       NO  1248567    19-7-08
            1       37      SKY      2987191772       NO  1270013    16-10-08
            1       697     SKY      2987191772       NO  1442433    29-6-09
            1       891     SKY      2987191772       YES 1443480    21-7-09
             
             
            RMAN> run {
            2>  allocate channel ch00 type DISK;
            3>  allocate channel ch01 type DISK;
            4>  allocate channel ch02 type DISK;
            5>  restore controlfile from tag "DB_FULL_BACKUP";
            6>  release channel ch00;
            7>  release channel ch01;
            8>  release channel ch02;
            9> }
             
            分配的通道: ch00
            通道 ch00: sid=11 devtype=DISK
             
            分配的通道: ch01
            通道 ch01: sid=12 devtype=DISK
             
            分配的通道: ch02
            通道 ch02: sid=13 devtype=DISK
             
            启动 restore 于 21-7-09
             
            释放的通道: ch00
            释放的通道: ch01
            释放的通道: ch02
            RMAN-00571: ===========================================================
            RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
            RMAN-00571: ===========================================================
            RMAN-03002: failure of restore command at 07/21/2009 16:05:34
            RMAN-06026: some targets not found - aborting restore
            RMAN-06024: no backup or copy of the controlfile found to restore

此时可以使用reset database to incarnation Inc,恢复到之前备份集对应的incarnation:

RMAN> reset database to incarnation 697;
             
            数据库重设为恢复目录中的原型 697
             
            RMAN> run {
            2>  allocate channel ch00 type DISK;
            3>  allocate channel ch01 type DISK;
            4>  allocate channel ch02 type DISK;
            5>  restore controlfile from tag "DB_FULL_BACKUP";
            6>  release channel ch00;
            7>  release channel ch01;
            8>  release channel ch02;
            9> }
             
            分配的通道: ch00
            通道 ch00: sid=11 devtype=DISK
             
            分配的通道: ch01
            通道 ch01: sid=12 devtype=DISK
             
            分配的通道: ch02
            通道 ch02: sid=13 devtype=DISK
             
            启动 restore 于 21-7-09
             
            通道 ch00: 正在开始恢复数据文件备份集
            通道 ch00: 正在恢复控制文件
            输出文件名=E:\CONTROL01.CTL
            通道 ch00: 已恢复备份段 1
            段 handle=D:\ORACLE_BAK\FULL_SKY_20090721_18_1 tag=DB_FULL_BACKUP
            params=NULL
            通道 ch00: 恢复完成
            正在复制控制文件
            输出文件名=E:\CONTROL01.CTL
            输出文件名=E:\CONTROL02.CTL
            输出文件名=E:\CONTROL03.CTL
            完成 restore 于 21-7-09
             
            释放的通道: ch00
             
            释放的通道: ch01
             
            释放的通道: ch02
             
            RMAN>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多