基本的なリストアおよびリカバリ

この記事では「完全リカバリ」について説明します。

完全リカバリとは

データベースをARCHIVELOGモードで運用している場合、一部の例外をのぞいて障害発生直前の状態にデータベースを復旧できます。この復旧のことを「完全リカバリ」といいます。

完全リカバリは、一般的に使用される復旧手順、という理解で間違いありません。

リストア(RMAN RESTOREコマンド)

RMANのRESTOREコマンドを実行することでリストアを実行できます。

完全リカバリの実行手順

データ格納用の永続表領域(SYSTEM表領域、UNDO表領域以外の永続表領域)に障害が発生したとき、正確にはデータの格納用の永続表領域を構成するデータファイルに障害が発生した場合、データベースをオープンしたまま復旧作業を実行できます。

この場合の復旧手順は以下の通りです。

  1. 障害が発生したデータファイルで構成されている永続表領域をいったんOFFLINEにする
  2. 障害対処のため即時オフラインを示すOFFLINE IMMEDIATEオプションを指定する
  3. RMANのRESTORE DATAFILEコマンドを実行して障害が発生したデータファイルをリストアする
  4. RMANのRECOVER DATAFILEコマンドを実行して障害が発生したデータファイルをリカバリする
  5. 復旧した永続表領域をONLINEにする

破損状況に応じた完全リカバリの実行手順

データ格納用の永続表領域(SYSTEM表領域、UNDO表領域以外の永続表領域)に障害が発生した場合は、データベースをオープンしたまま復旧作業を実行できます。

SYSTEM表領域、UNDO表領域に障害が発生した場合

SYSTEM/UNDO表領域に障害が発生したとき、正確にはSYSTEM/UNDO表領域を構成するデータファイルに障害が発生した場合、Oracleによりインスタンスが強制終了されます。

この時の復旧作業は以下の通りです。

  1. MOUNTモードでインスタンスを起動する
  2. RMANのRESTORE TABLESPACEまたはRESTORE DATAFILEコマンドを実行して、障害が発生したデータファイルをリストアする
  3. RMANのRECOVER TABLESPACEまたはRECOVER DATAFILEコマンドを実行して障害が発生したデータファイルをリカバリする
  4. データベースをOPENする

すべてのデータファイルに障害が発生した場合

すべてのデータファイルに障害が発生した場合(制御ファイル、オンラインログファイルには障害が発生していない場合)は、Oracleによりインスタンスが強制終了されます。

この時の復旧手順は以下の通りです。

  1. MOUNTモードでインスタンスを起動する
  2. RMANのRESTORE DATABASEコマンドを実行して全てのデータファイルをリストアする
  3. RMANのRECOVER DATABASEコマンドを実行してすべてのデータファイルをリカバリする
  4. データベースをOPENする

NOARCHIVELOGモードの障害からの復旧

NOARCHIVELOGモードのデータベースで障害が発生した場合、障害発生直前の状態に復旧することができないため、直近のバックアップ取得時点の状態に復旧することになります。

新規報告

閉じる