• rman 备份并异机恢复


    1.RMAN 备份脚本

    RUN {
    
     CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF  7  DAYS;
    
     CONFIGURE CONTROLFILE AUTOBACKUP ON;
    
     CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO "/backup/ZGW_Controlfile_%F";
    
     ALLOCATE CHANNEL CH1 DEVICE TYPE DISK;
    
     ALLOCATE CHANNEL CH2 DEVICE TYPE DISK;
     
     BACKUP DATABASE FORMAT "/backup/ZGW_%U"
         
         SKIP INACCESSIBLE FILESPERSET 10
    
         PLUS ARCHIVELOG FILESPERSET 20
    
         DELETE ALL INPUT;
    
     RELEASE CHANNEL CH1;
    
     RELEASE CHANNEL CH2;
     
     }
    
     BACKUP SPFILE FORMAT '/backup/ZGW_spfile_%U.bak'; 
     
     ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;
    
     CROSSCHECK BACKUPSET;
    
     DELETE NOPROMPT OBSOLETE;

    2.执行备份

     export ORACLE_SID=zgw
     rman target / @/home/oracle/scipts/rman_backup.rman

    3.备份数据打包并传输

    tar czvf zgw.tar.gz /ackup/ZGW*
    scp zgw.tar.gz 192.168.199.68:/home/oracle/backup/

    4.异机恢复环境准备

    #环境变量
    export ORACLE_SID=zgw
    export ORACLE_BASE=/opt/oracle
    export ORACLE_HOME=/opt/oracle/11g
    
    #由于只安装软件未创建数据库所以需创建对应文件夹
    mkdir -p $ORACLE_BASE/admin/zgw/adump/
    mkdir -p $ORACLE_BASE/admin/zgw/dpdump/
    mkdir -p $ORACLE_BASE/admin/zgw/pfile/
    mkdir -p $ORACLE_BASE/oradata/zgw/
    mkdir -p $ORACLE_BASE/flash_recovery_area
    mkdir -p $ORACLE_BASE/flash_recovery_area/zgw

    5.恢复操作

    $ rman target /
    
    Recovery Manager: Release 11.2.0.1.0 - Production on Thu May 28 16:27:19 2015
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    
    connected to target database (not started)
    
    RMAN> startup nomount;
    
    startup failed: ORA-01078: failure in processing system parameters
    LRM-00109: could not open parameter file '/opt/oracle/11g/dbs/initzgw.ora'
    
    starting Oracle instance without parameter file for retrieval of spfile
    Oracle instance started
    
    Total System Global Area     158662656 bytes
    
    Fixed Size                     2211448 bytes
    Variable Size                 88080776 bytes
    Database Buffers              62914560 bytes
    Redo Buffers                   5455872 bytes
    
    
    RMAN> restore spfile from '/home/oracle/backup/ZGW_spfile_0pq82u8b_1_1.bak'; //恢复spfile文件
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    RMAN> startup nomount force;
    
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of startup command at 05/28/2015 16:33:12
    RMAN-04014: startup failed: ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated
    ORA-01262: Stat failed on a file destination directory
    Linux-x86_64 Error: 2: No such file or directory
    
    mkdir -p $ORACLE_BASE/flash_recovery_area
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    RMAN> startup nomount force; //重启实例到nomount状态
    
    Oracle instance started
    
    Total System Global Area     776646656 bytes
    
    Fixed Size                     2217384 bytes
    Variable Size                532679256 bytes
    Database Buffers             239075328 bytes
    Redo Buffers                   2674688 bytes
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    RMAN> restore controlfile from '/home/oracle/backup/ZGW_Controlfile_c-4066279841-20150528-03';
    
    Starting restore at 28-MAY-15
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=19 device type=DISK
    
    channel ORA_DISK_1: restoring control file
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of restore command at 05/28/2015 16:40:45
    ORA-19504: failed to create file "/opt/oracle/flash_recovery_area/zgw/control02.ctl"
    ORA-27040: file create error, unable to create file
    Linux-x86_64 Error: 2: No such file or directory
    ORA-19600: input file is control file  (/opt/oracle/oradata/zgw/control01.ctl)
    ORA-19601: output file is control file  (/opt/oracle/flash_recovery_area/zgw/control02.ctl)
    
    mkdir -p $ORACLE_BASE/flash_recovery_area/zgw
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    RMAN> restore controlfile from '/home/oracle/backup/ZGW_Controlfile_c-4066279841-20150528-03'; //还原控制文件
    
    Starting restore at 28-MAY-15
    using channel ORA_DISK_1
    
    channel ORA_DISK_1: restoring control file
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
    output file name=/opt/oracle/oradata/zgw/control01.ctl
    output file name=/opt/oracle/flash_recovery_area/zgw/control02.ctl
    Finished restore at 28-MAY-15
    
    RMAN> sql 'alter database mount'; //启动数据库到mount状态
    
    sql statement: alter database mount
    released channel: ORA_DISK_1
    
    RMAN> list backup of database; //查看备份集
    
    
    List of Backup Sets
    ===================
    
    
    BS Key  Type LV Size       Device Type Elapsed Time Completion Time
    ------- ---- -- ---------- ----------- ------------ ---------------
    16      Full    988.79M    DISK        00:01:35     28-MAY-15      
            BP Key: 16   Status: AVAILABLE  Compressed: NO  Tag: TAG20150528T135534
            Piece Name: /backup/0hq82s2m_1_1
      List of Datafiles in backup set 16
      File LV Type Ckp SCN    Ckp Time  Name
      ---- -- ---- ---------- --------- ----
      1       Full 1081536    28-MAY-15 /opt/oracle/oradata/zgw/system01.dbf
      2       Full 1081536    28-MAY-15 /opt/oracle/oradata/zgw/sysaux01.dbf
      3       Full 1081536    28-MAY-15 /opt/oracle/oradata/zgw/undotbs01.dbf
      4       Full 1081536    28-MAY-15 /opt/oracle/oradata/zgw/users01.dbf
    
    BS Key  Type LV Size       Device Type Elapsed Time Completion Time
    ------- ---- -- ---------- ----------- ------------ ---------------
    20      Full    396.28M    DISK        00:01:14     28-MAY-15      
            BP Key: 20   Status: AVAILABLE  Compressed: NO  Tag: TAG20150528T143051
            Piece Name: /backup/ZGW_0mq82u4r_1_1
      List of Datafiles in backup set 20
      File LV Type Ckp SCN    Ckp Time  Name
      ---- -- ---- ---------- --------- ----
      2       Full 1083181    28-MAY-15 /opt/oracle/oradata/zgw/sysaux01.dbf
      3       Full 1083181    28-MAY-15 /opt/oracle/oradata/zgw/undotbs01.dbf
    
    BS Key  Type LV Size       Device Type Elapsed Time Completion Time
    ------- ---- -- ---------- ----------- ------------ ---------------
    21      Full    592.91M    DISK        00:01:37     28-MAY-15      
            BP Key: 21   Status: AVAILABLE  Compressed: NO  Tag: TAG20150528T143051
            Piece Name: /backup/ZGW_0lq82u4r_1_1
      List of Datafiles in backup set 21
      File LV Type Ckp SCN    Ckp Time  Name
      ---- -- ---- ---------- --------- ----
      1       Full 1083180    28-MAY-15 /opt/oracle/oradata/zgw/system01.dbf
      4       Full 1083180    28-MAY-15 /opt/oracle/oradata/zgw/users01.dbf
    
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    RMAN> restore database from '/home/oracle/backup/ZGW_0mq82u4r_1_1';
    
    Starting restore at 28-MAY-15
    Starting implicit crosscheck backup at 28-MAY-15
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=19 device type=DISK
    Crosschecked 9 objects
    Finished implicit crosscheck backup at 28-MAY-15
    
    Starting implicit crosscheck copy at 28-MAY-15
    using channel ORA_DISK_1
    Finished implicit crosscheck copy at 28-MAY-15
    
    searching for all files in the recovery area
    cataloging files...
    no files cataloged
    
    using channel ORA_DISK_1
    
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of restore command at 05/28/2015 16:50:44
    RMAN-06509: only SPFILE or control file can be restored from AUTOBACKUP
    
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    RMAN
    > catalog start with '/home/oracle/backup/'; //将备份集导入控制文件,此处适用于异机还原时备份集没有在默认位置的场景。 searching for all files that match the pattern /home/oracle/backup/ List of Files Unknown to the Database ===================================== File Name: /home/oracle/backup/ZGW_0mq82u4r_1_1 File Name: /home/oracle/backup/ZGW_spfile_0pq82u8b_1_1.bak File Name: /home/oracle/backup/ZGW_0lq82u4r_1_1 File Name: /home/oracle/backup/ZGW_Controlfile_c-4066279841-20150528-03 File Name: /home/oracle/backup/ZGW_Controlfile_c-4066279841-20150528-04 File Name: /home/oracle/backup/zgw.tar.gz Do you really want to catalog the above files (enter YES or NO)? y cataloging files... cataloging done List of Cataloged Files ======================= File Name: /home/oracle/backup/ZGW_0mq82u4r_1_1 File Name: /home/oracle/backup/ZGW_spfile_0pq82u8b_1_1.bak File Name: /home/oracle/backup/ZGW_0lq82u4r_1_1 File Name: /home/oracle/backup/ZGW_Controlfile_c-4066279841-20150528-03 File Name: /home/oracle/backup/ZGW_Controlfile_c-4066279841-20150528-04 RMAN> restore database; //还原数据文件 Starting restore at 28-MAY-15 using channel ORA_DISK_1 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00002 to /opt/oracle/oradata/zgw/sysaux01.dbf channel ORA_DISK_1: restoring datafile 00003 to /opt/oracle/oradata/zgw/undotbs01.dbf channel ORA_DISK_1: reading from backup piece /home/oracle/backup/ZGW_0mq82u4r_1_1 channel ORA_DISK_1: piece handle=/home/oracle/backup/ZGW_0mq82u4r_1_1 tag=TAG20150528T143051 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:55 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00001 to /opt/oracle/oradata/zgw/system01.dbf channel ORA_DISK_1: restoring datafile 00004 to /opt/oracle/oradata/zgw/users01.dbf channel ORA_DISK_1: reading from backup piece /home/oracle/backup/ZGW_0lq82u4r_1_1 channel ORA_DISK_1: piece handle=/home/oracle/backup/ZGW_0lq82u4r_1_1 tag=TAG20150528T143051 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:56 Finished restore at 28-MAY-15 RMAN> recover database; Starting recover at 28-MAY-15 using channel ORA_DISK_1 starting media recovery RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of recover command at 05/28/2015 17:07:45 RMAN-06053: unable to perform media recovery because of missing log RMAN-06025: no backup of archived log for thread 1 with sequence 12 and starting SCN of 1083172 found to restore //这里报日志缺少,实际上是备份的数据库文件后,没有备份归档日志,归档日志全部丢失 //下面尝试进行不完全恢复 $ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Thu May 28 17:08:29 2015 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> recover database using backup controlfile until cancel; ORA-00279: change 1083180 generated at 05/28/2015 14:30:51 needed for thread 1 ORA-00289: suggestion : /opt/oracle/flash_recovery_area/ZGW/archivelog/2015_05_28/o1_mf_1_12_%u_.arc ORA-00280: change 1083180 for thread 1 is in sequence #12 Specify log: {<RET>=suggested | filename | AUTO | CANCEL} ORA-00308: cannot open archived log '/opt/oracle/flash_recovery_area/ZGW/archivelog/2015_05_28/o1_mf_1_12_%u_.arc' ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory Additional information: 3 SQL> alter database open resetlogs; //至此恢复完毕 Database altered. SQL> select name,OPEN_MODE from v$database; //验证数据库状态 NAME OPEN_MODE --------- -------------------- ZGW READ WRITE

    此文参考:

      第六篇 实战RMAN备份 http://www.5ienet.com/note/html/rman/rman-backup-script-example.shtml

         Rman备份异机恢复指南 http://ylw6006.blog.51cto.com/470441/659104/

         Oracle 11g RMAN 备份异机恢复并创建新DBID http://blog.csdn.net/leishifei/article/details/6317688

         catalog start with rman备份集直接导入控制文件中 http://blog.itpub.net/27042095/viewspace-759237/

         使用_allow_resetlogs_corruption打开无归档日志rman备份库 http://www.xifenfei.com/2619.html

  • 相关阅读:
    HDOJ 2011
    OpenCV学习笔记(1)——VS2010 下安装OpenCV 2.4.4安装
    OC——Foundation—常用的类(2)----NSArray
    OC——Foundation—常用的类(1)字符串(NSString)
    OC——Foundation—结构体
    OC----Block语法
    OC----protocol语法
    OC----初识
    OC----内存管理
    OC----Category语法
  • 原文地址:https://www.cnblogs.com/storymedia/p/4536553.html
Copyright © 2020-2023  润新知