zoukankan      html  css  js  c++  java
  • 不成功的RMAN恢复到其他机器的例子

    事实上,RMAN备份的时候,如果是使用control file 来作catalog,那么一定要把control file和spfile恢复到另外的机器上面。

    否则,会出现类似如下的错误:

    原来的实例:

    [oracle@localhost ~]$ rman target /

    Recovery Manager: Release 11.2.0.4.0 - Production on Sun Apr 6 15:54:41 2014

    Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

    connected to target database: ORCL (DBID=1370687811)

    RMAN> backup tablespace users;

    Starting backup at 06-APR-14
    using target database control file instead of recovery catalog
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=41 device type=DISK
    channel ORA_DISK_1: starting full datafile backup set
    channel ORA_DISK_1: specifying datafile(s) in backup set
    input datafile file number=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf
    channel ORA_DISK_1: starting piece 1 at 06-APR-14
    channel ORA_DISK_1: finished piece 1 at 06-APR-14
    piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/o1_mf_nnndf_TAG20140406T155529_9n223km6_.bkp tag=TAG20140406T155529 comment=NONE
    channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
    Finished backup at 06-APR-14

    RMAN> quit


    Recovery Manager complete.
    [oracle@localhost ~]$

    然后,如果我另外再安装一套oracle,会发生什么状况呢?

    [oracle@localhost ~]$ rman target /

    Recovery Manager: Release 11.2.0.4.0 - Production on Sun Apr 6 16:00:00 2014

    Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

    connected to target database: ORCL (DBID=1371965186, not open)

    RMAN> list backup;

    using target database control file instead of recovery catalog
    specification does not match any backup in the repository

    RMAN> restore tablespace users from '/u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/o1_mf_nnndf_TAG20140406T155529_9n223km6_.bkp';

    Starting restore at 06-APR-14
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=20 device type=DISK

    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of restore command at 04/06/2014 16:00:38
    RMAN-06509: only SPFILE or control file can be restored from AUTOBACKUP

    RMAN>

    一开始,我对上述的RMAN-06509非常不理解,后来参考了如下的网站,明白了错误所在。

    http://www.doc88.com/p-900857827054.html

    由于RMAN要依赖于catalog,当catalog是controle file的形式的时候,需要先把control file和spfile拿到新的数据库实例的对应的目录下,那样才可以继续进行restore/recover的活动。

    ***********************************************

    接着我又进行了试验,看看把control file 挪过来回如何:

    旧实例上:

    RMAN> backup current controlfile;

    Starting backup at 06-APR-14
    using target database control file instead of recovery catalog
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=33 device type=DISK
    channel ORA_DISK_1: starting full datafile backup set
    channel ORA_DISK_1: specifying datafile(s) in backup set
    including current control file in backup set
    channel ORA_DISK_1: starting piece 1 at 06-APR-14
    channel ORA_DISK_1: finished piece 1 at 06-APR-14
    piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/o1_mf_ncnnf_TAG20140406T213831_9n2p6rw4_.bkp tag=TAG20140406T213831 comment=NONE
    channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
    Finished backup at 06-APR-14

    RMAN>

    在旧实例上:

    RMAN> backup current controlfile;

    Starting backup at 06-APR-14
    using target database control file instead of recovery catalog
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=33 device type=DISK
    channel ORA_DISK_1: starting full datafile backup set
    channel ORA_DISK_1: specifying datafile(s) in backup set
    including current control file in backup set
    channel ORA_DISK_1: starting piece 1 at 06-APR-14
    channel ORA_DISK_1: finished piece 1 at 06-APR-14
    piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/o1_mf_ncnnf_TAG20140406T213831_9n2p6rw4_.bkp tag=TAG20140406T213831 comment=NONE
    channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
    Finished backup at 06-APR-14

    RMAN>

    [oracle@localhost ~]$ cd /u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/

    [oracle@localhost 2014_04_06]$ cp o1_mf_ncnnf_TAG20140406T213831_9n2p6rw4_.bkp /u02/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/

    然后,启动新实例

    SQL> startup nomount;
    ORACLE instance started.

    Total System Global Area 814227456 bytes
    Fixed Size 2257640 bytes
    Variable Size 528485656 bytes
    Database Buffers 281018368 bytes
    Redo Buffers 2465792 bytes
    SQL>

    [oracle@localhost ~]$ rman target /

    Recovery Manager: Release 11.2.0.4.0 - Production on Sun Apr 6 21:45:09 2014

    Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

    connected to target database: ORCL (not mounted)

    RMAN>

    开始恢复control file,进而得到备份集的信息:

    RMAN> restore controlfile from '/u02/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/o1_mf_ncnnf_TAG20140406T213831_9n2p6rw4_.bkp';

    Starting restore at 06-APR-14
    using target database control file instead of recovery catalog
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=20 device type=DISK

    channel ORA_DISK_1: restoring control file
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
    output file name=/u02/app/oracle/oradata/orcl/control01.ctl
    output file name=/u02/app/oracle/fast_recovery_area/orcl/control02.ctl
    Finished restore at 06-APR-14

    RMAN> list backup;

    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of list command at 04/06/2014 21:46:06
    ORA-01507: database not mounted

    RMAN> quit

    ********************************************************

    SQL> alter database mount;

    Database altered.

    SQL>

    [oracle@localhost ~]$ rman target /

    Recovery Manager: Release 11.2.0.4.0 - Production on Sun Apr 6 21:46:42 2014

    Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

    connected to target database: ORCL (DBID=1370687811, not open)

    RMAN> list backup;

    using target database control file instead of recovery catalog

    List of Backup Sets
    ===================


    BS Key Type LV Size Device Type Elapsed Time Completion Time
    ------- ---- -- ---------- ----------- ------------ ---------------
    1 Full 1.43M DISK 00:00:00 06-APR-14
    BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20140406T155529
    Piece Name: /u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/o1_mf_nnndf_TAG20140406T155529_9n223km6_.bkp
    List of Datafiles in backup set 1
    File LV Type Ckp SCN Ckp Time Name
    ---- -- ---- ---------- --------- ----
    4 Full 988907 06-APR-14 /u01/app/oracle/oradata/orcl/users01.dbf

    RMAN>

    这些个信息里面记的都是旧实例所拥有的位置信息。

    再试验看:

    RMAN> list backup;

    using target database control file instead of recovery catalog

    List of Backup Sets
    ===================


    BS Key Type LV Size Device Type Elapsed Time Completion Time
    ------- ---- -- ---------- ----------- ------------ ---------------
    1 Full 1.43M DISK 00:00:00 06-APR-14
    BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20140406T155529
    Piece Name: /u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/o1_mf_nnndf_TAG20140406T155529_9n223km6_.bkp
    List of Datafiles in backup set 1
    File LV Type Ckp SCN Ckp Time Name
    ---- -- ---- ---------- --------- ----
    4 Full 988907 06-APR-14 /u01/app/oracle/oradata/orcl/users01.dbf

    RMAN> restore tablespace users from '/u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/o1_mf_nnndf_TAG20140406T155529_9n223km6_.bkp';

    Starting restore at 06-APR-14
    Starting implicit crosscheck backup at 06-APR-14
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=18 device type=DISK
    Crosschecked 1 objects
    Finished implicit crosscheck backup at 06-APR-14

    Starting implicit crosscheck copy at 06-APR-14
    using channel ORA_DISK_1
    Finished implicit crosscheck copy at 06-APR-14

    searching for all files in the recovery area
    cataloging files...
    cataloging done

    List of Cataloged Files
    =======================
    File Name: /u02/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/o1_mf_ncnnf_TAG20140406T213831_9n2p6rw4_.bkp
    File Name: /u02/app/oracle/fast_recovery_area/ORCL/archivelog/2014_04_06/o1_mf_1_3_9n22917q_.arc

    using channel ORA_DISK_1

    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of restore command at 04/06/2014 21:56:09
    RMAN-06509: only SPFILE or control file can be restored from AUTOBACKUP

    RMAN>

    因为新旧实例不同,所以会出问题。

  • 相关阅读:
    原生JavaScript事件详解
    如何真正重写window对象的方法
    JSLint JavaScript代码质量审查工具汉化中文版隆重发布
    {{偷偷告诉你}}本博客已适配移动端浏览
    谷歌(Chrome)浏览器调试JavaScript小技巧
    小米Web前端JavaScript面试题
    根据配置文件加载js依赖模块(JavaScript面试题)
    中移杭州研发中心
    MyBatis与Hibernate区别
    hashmap源码解析,JDK1.8和1.7的区别
  • 原文地址:https://www.cnblogs.com/gaojian/p/3649335.html
Copyright © 2011-2022 走看看