スタンドバイ・データベースの運用と回復手順

スタンドバイ・データベース

データベースが障害が発生した場合、回復するまでの間はデータベースにアクセスできないことになる。スタンドバイデータベースは、元のデータベースからデータファイルとREDOログファイルを受け取ることで、障害発生時に短期間で処理を継続できるようにするものである。

スタンドバイ・データベースは、元のデータベースとの間で、以下のような条件を満たす必要がある:

スタンドバイ・データベースの作成

スタンドバイ・データベースの作成は、以下の手順で行う。

  1. 主データベースからデータファイルをコピーする
  2. ALTER DATABASE CREATE STANDBY CONTROLFILE AS (ファイル名)コマンドで、スタンドバイ・データベースの制御ファイルを作成する。
  3. ALTER SYSTEM ARCHIVE LOG CURRENTコマンドで、オンライン・ログをアーカイブする
  4. スタンドバイ・データベースの適切な場所に、データファイル・制御ファイル・ログファイルをコピーする
  5. スタンドバイ・データベースのファイル配置が主データベースと異なる場合、初期化パラメータDB_FILE_STANDBY_NAME_CONVERTLOG_FILE_STANDBY_NAME_CONVERTを設定し、位置の読み替えを行えるようにする。
  6. インスタンスをNOMOUNTモードで起動する
  7. ALTER DATABASE MOUNT STANDBY DATABASEコマンドを発行する
  8. RECOVER STANDBY DATABASEコマンドを発行し、スタンドバイ・データベースを回復モードにする。

スタンドバイ・データベースのメンテナンス

スタンドバイ・データベースは、立ち上げ時にREDOログファイルの適用を行って使用可能となる。このため、立ち上げ時間を十分に短くするためには、頻繁に同期化作業を行う必要がある。これは、以下の手順で行う。

  1. 主データベースからアーカイブログファイルをコピーする
  2. インスタンスをNOMOUNTモードで起動する
  3. ALTER DATABASE MOUNT STANDBY DATABASEコマンドを発行する
  4. RECOVER STANDBY DATABASEコマンドを発行し、アーカイブログファイルを適用する。

スタンドバイ・データベースの有効化

スタンドバイ・データベースは、以下の手順で有効化される。但し、一旦有効になったスタンドバイデータベースはもはや主データベースのコピーではなくなる。

  1. インスタンスをNOMOUNTモードで起動する
  2. ALTER DATABASE MOUNT STANDBY DATABASEコマンドを発行する
  3. RECOVER STANDBY DATABASEコマンドを発行し、アーカイブログファイルを適用する。
  4. ALTER DATABASE MOUNT ACTIVATE STANDBY DATABASEコマンドを発行する
  5. 代替データベースはアクティブになった時点でディスマウントされる
  6. インスタンスを再起動する