スタンドバイ・データベースの運用と回復手順
スタンドバイ・データベース
データベースが障害が発生した場合、回復するまでの間はデータベースにアクセスできないことになる。スタンドバイデータベースは、元のデータベースからデータファイルとREDOログファイルを受け取ることで、障害発生時に短期間で処理を継続できるようにするものである。
スタンドバイ・データベースは、元のデータベースとの間で、以下のような条件を満たす必要がある:
- 同等のプラットフォームで、OSのバージョンが同じであること
- Oracleサーバのバージョンが同じであること
- パラメータファイルが同等であること
スタンドバイ・データベースの作成
スタンドバイ・データベースの作成は、以下の手順で行う。
- 主データベースからデータファイルをコピーする
- ALTER DATABASE CREATE STANDBY CONTROLFILE AS (ファイル名)コマンドで、スタンドバイ・データベースの制御ファイルを作成する。
- ALTER SYSTEM ARCHIVE LOG CURRENTコマンドで、オンライン・ログをアーカイブする
- スタンドバイ・データベースの適切な場所に、データファイル・制御ファイル・ログファイルをコピーする
- スタンドバイ・データベースのファイル配置が主データベースと異なる場合、初期化パラメータDB_FILE_STANDBY_NAME_CONVERT・LOG_FILE_STANDBY_NAME_CONVERTを設定し、位置の読み替えを行えるようにする。
- インスタンスをNOMOUNTモードで起動する
- ALTER DATABASE MOUNT STANDBY DATABASEコマンドを発行する
- RECOVER STANDBY DATABASEコマンドを発行し、スタンドバイ・データベースを回復モードにする。
スタンドバイ・データベースのメンテナンス
スタンドバイ・データベースは、立ち上げ時にREDOログファイルの適用を行って使用可能となる。このため、立ち上げ時間を十分に短くするためには、頻繁に同期化作業を行う必要がある。これは、以下の手順で行う。
- 主データベースからアーカイブログファイルをコピーする
- インスタンスをNOMOUNTモードで起動する
- ALTER DATABASE MOUNT STANDBY DATABASEコマンドを発行する
- RECOVER STANDBY DATABASEコマンドを発行し、アーカイブログファイルを適用する。
スタンドバイ・データベースの有効化
スタンドバイ・データベースは、以下の手順で有効化される。但し、一旦有効になったスタンドバイデータベースはもはや主データベースのコピーではなくなる。
- インスタンスをNOMOUNTモードで起動する
- ALTER DATABASE MOUNT STANDBY DATABASEコマンドを発行する
- RECOVER STANDBY DATABASEコマンドを発行し、アーカイブログファイルを適用する。
- ALTER DATABASE MOUNT ACTIVATE STANDBY DATABASEコマンドを発行する
- 代替データベースはアクティブになった時点でディスマウントされる
- インスタンスを再起動する