リカバリ-restore archivelog(転載)

4541 ワード

第一.すべてのアーカイブ・ログ・ファイルのバックアップ

RMAN> backup archivelog all delete input;

第二.restore archivelogの各種オプション

  • restore archivelog allすべてのアーカイブログファイルRMAN> restore archivelog all;
  • をリカバリ
  • は、5~8の4つのアーカイブ・ログ・ファイルRMAN> restore archivelog from logseq 5 until logseq 8;
  • のみをリカバリします.
  • は、5番目のアーカイブ・ログからRMAN> restore archivelog from logseq 5;
  • を復元する.
  • 7 7日間のアーカイブ・ログのリカバリRMAN> restore archivelog from time 'sysdate-7';
  • sequence between書き方RMAN> restore archivelog sequence between 1 and 3;
  • どのログファイルに復元するかまでRMAN> restore archivelog until logseq 3;
  • 5 5 5ログ目からRMAN> restore archivelog low logseq 5;
  • のリカバリを開始
  • から5番目のログまでRMAN> restore archivelog high logseq 5;別のパスに復元するには、次の文
  • を使用します.
    set archivelog destination to 'd:\backup';
    RMAN> run
    2> {allocate channel ci type disk;
    3> set archivelog destination to 'd:\backup';
    4> restore archivelog all;
    5> release channel ci;
    6> }
    

    OracleデータベースでRMANバックアップを使用する場合、アーカイブ・ログはバックアップ・セット(backup set)に圧縮されますが、データをリカバリするためにこれらのバックアップ・セットからアーカイブ・ログ(archive log)を解析する必要がある場合があります.restoreというコマンドを使用できます.
    このコマンドのパラメータは、SCN、SEQUENCE、TIMEなどを使用してもよいし、list backup of archivelogと等価なpreviewパラメータを追加して計画を先に表示してもよい.
    1.必要なバックアップ・セットを時間に応じて表示します.
    ERPDB1@/orabak>rman target /
    
    RMAN> list backup of archivelog time 
    between "to_date('2009-06-24 08:00:00','yyyy-mm-dd hh24:mi:ss')" 
    and "to_date('2009-06-24 13:00','yyyy-mm-dd hh24:mi:ss')";
    

    次の例は、元のファイルのリストではありません.
    BS Key  Size       Device Type Elapsed Time Completion Time
    ------- ---------- ----------- ------------ ---------------
    18021   104.97M    DISK        00:00:25     02-APR-10
    BP Key: 21243   Status: AVAILABLE  Compressed: YES  Tag: TAG20100402T213015
    Piece Name: /orabak/arch/CNDERPDB_arch_20100402_715296294_18088_1
    
    List of Archived Logs in backup set 18021
    Thrd Seq     Low SCN    Low Time  Next SCN   Next Time
    ---- ------- ---------- --------- ---------- ---------
    1    130930  12425302024 02-APR-10 12425464067 02-APR-10
    1    130931  12425464067 02-APR-10 12425612482 02-APR-10
    1    130932  12425612482 02-APR-10 12425741312 02-APR-10
    1    130933  12425741312 02-APR-10 12425903002 02-APR-10
    1    130934  12425903002 02-APR-10 12426033120 02-APR-10
    1    130935  12426033120 02-APR-10 12426231614 02-APR-10
    1    130936  12426231614 02-APR-10 12426258334 02-APR-10
    

    またはpreviewで表示します.
    
    RMAN> restore archivelog time 
    between "to_date('2009-06-24 08:00:00','yyyy-mm-dd hh24:mi:ss')" 
    and "to_date('2009-06-24 13:00','yyyy-mm-dd hh24:mi:ss')" preview;
    

    時間フォーマットを指定してからto_を使わなくてもいいですdate関数は次のとおりです.
    RMAN> SQL 'ALTER SESSION SET NLS_DATE_FORMAT="YYYY-MM-DD:HH24:MI:SS"';
    RMAN> restore archivelog time 
    between '2009-06-24 09:00:00' and '2009-06-24 12:00:00' preview;
    

    2、バックアップセットファイルCOPYをデフォルトのアーカイブパスに入れる
    ここは/orabak/archです.最初のファイルリストのPiece Nameからもアーカイブのパスが見えます.それ以外の場合、restore中に次のエラーが表示されます.
    
    channel ORA_DISK_1: reading from backup piece /orabak/arch/ERPDB_arch_20090624_690383375_14453_1
    ORA-19870: error reading backup piece /orabak/arch/ERPDB_arch_20090624_690383375_14453_1
    ORA-19505: failed to identify file "/orabak/arch/ERPDB_arch_20090624_690383375_14453_1"
    ORA-27037: unable to obtain file status
    IBM AIX RISC System/6000 Error: 2: No such file or directory
    Additional information: 3
    

    3、restoreコマンドを実行します.一般的にこれらのファイルが一時的に必要な場合は、アーカイブログを他のディレクトリに復元するように指定できます.runコマンドを使用する必要があります.
    RMAN> run {
    2> set archivelog destination to '/orabak/testarch';
    3> SQL 'ALTER SESSION SET NLS_DATE_FORMAT="YYYY-MM-DD:HH24:MI:SS"';
    4> restore archivelog time between '2009-06-24 09:00:00' and '2009-06-24 12:10:00';
    5> }
    executing command: SET ARCHIVELOG DESTINATION
    using target database control file instead of recovery catalog
    
    sql statement: ALTER SESSION SET NLS_DATE_FORMAT="YYYY-MM-DD:HH24:MI:SS"
    
    Starting restore at 29-JUN-09
    allocated channel: ORA_DISK_1
    ......
    Finished restore at 29-JUN-09
    

    どのアーカイブ・ログをリカバリするかを明確にする場合は、SEQUENCE BETWEEN integer 1 AND integer 2コマンドを使用して操作します.