Oracle Data Guard その③ [DBMS]
今回はスタンバイデータベースの作成です。
ですが、その前に Data Guard が機能する様にデータベースの設定を少し変更します。
データベースのログを転送して適用するしかけなので、ログを作成しないモードだと不整合になります。
archive log モードにしておくのはもちろんですし、FORCE LOGGING モードにする必要があります。
FORCE LOGGING モードは以下で設定します。
alter database force logging;
Data Guard でログ転送を SYNC 又は ASYNC で行う場合はスタンバイログを設定する必要があり、REDOログと同じサイズで数を1つ多く作る必要があります。
ログ転送が ARCH の場合はスタンバイログを設定する必要はありません。
ちなみに、ファスト・スタート・フェイルオーバーを実現するためには SYNC か ASYNC にする必要があり、スタンバイログが必要になります。
フォルダは予め作成してから以下でスタンバイログを作成します。サイズと数は前述の通り調整して下さい。
alter database add standby logfile 'E:\oracle\SO1\standbylog\LOG_S11.DBF' size 50M reuse;
alter database add standby logfile 'E:\oracle\SO1\standbylog\LOG_S12.DBF' size 50M reuse;
alter database add standby logfile 'E:\oracle\SO1\standbylog\LOG_S13.DBF' size 50M reuse;
alter database add standby logfile 'E:\oracle\SO1\standbylog\LOG_S14.DBF' size 50M reuse;
alter database add standby logfile 'E:\oracle\SO1\standbylog\LOG_S15.DBF' size 50M reuse;
さて、スタンバイデータベースの作成です。
基本的にデータベースファイル(SYSTEM,SYSAUX,TEMP,UNDO含む全て)とREDOログとアーカイブログをコピーします。
コピーする時にコピー先は完全に止めます。コピー元はデータベースを停止した状態で行うのが無難ですが、alter database bigin backup ~ end backup の間の静止状態でも構いません。
その場でコピーする代わりに、オンライン又はオフラインのバックアップをスタンバイ側にリストアして構いません。ただし、バックアップ時から現在までのアーカイブログは必要です。
他に、パスワードファイル PWD(SID).ORA もコピーします。
コントロールファイルとinit(SID).ora, SPFILE(SID).ORA, Listener.ora, TNSNames.ora, sqlnet.ora はコピーしません。
スタンバイDBへのコピーが完了したら、プライマリDBを起動してスタンバイDB用のコントロールファイルを作成します。
スタンバイDB用コントロールファイルの出力先は任意です。
alter database create standby controlfile as 'E:\oracle\SO1\CNTRLSO1.DBF' reuse;
スタンバイDB用コントロールファイルはスタンバイDBのコントロールファイルへコピーして上書きます。
コントロールファイルは普通は複数あるので全てを上書きします。
スタンバイDBはこの後、mount 状態で起動させます。
startup mount
以上でスタンバイデータベースの用意が出来ました。
この後は Data Guard Broaker を構成します。
ですが、その前に Data Guard が機能する様にデータベースの設定を少し変更します。
データベースのログを転送して適用するしかけなので、ログを作成しないモードだと不整合になります。
archive log モードにしておくのはもちろんですし、FORCE LOGGING モードにする必要があります。
FORCE LOGGING モードは以下で設定します。
alter database force logging;
Data Guard でログ転送を SYNC 又は ASYNC で行う場合はスタンバイログを設定する必要があり、REDOログと同じサイズで数を1つ多く作る必要があります。
ログ転送が ARCH の場合はスタンバイログを設定する必要はありません。
ちなみに、ファスト・スタート・フェイルオーバーを実現するためには SYNC か ASYNC にする必要があり、スタンバイログが必要になります。
フォルダは予め作成してから以下でスタンバイログを作成します。サイズと数は前述の通り調整して下さい。
alter database add standby logfile 'E:\oracle\SO1\standbylog\LOG_S11.DBF' size 50M reuse;
alter database add standby logfile 'E:\oracle\SO1\standbylog\LOG_S12.DBF' size 50M reuse;
alter database add standby logfile 'E:\oracle\SO1\standbylog\LOG_S13.DBF' size 50M reuse;
alter database add standby logfile 'E:\oracle\SO1\standbylog\LOG_S14.DBF' size 50M reuse;
alter database add standby logfile 'E:\oracle\SO1\standbylog\LOG_S15.DBF' size 50M reuse;
さて、スタンバイデータベースの作成です。
基本的にデータベースファイル(SYSTEM,SYSAUX,TEMP,UNDO含む全て)とREDOログとアーカイブログをコピーします。
コピーする時にコピー先は完全に止めます。コピー元はデータベースを停止した状態で行うのが無難ですが、alter database bigin backup ~ end backup の間の静止状態でも構いません。
その場でコピーする代わりに、オンライン又はオフラインのバックアップをスタンバイ側にリストアして構いません。ただし、バックアップ時から現在までのアーカイブログは必要です。
他に、パスワードファイル PWD(SID).ORA もコピーします。
コントロールファイルとinit(SID).ora, SPFILE(SID).ORA, Listener.ora, TNSNames.ora, sqlnet.ora はコピーしません。
スタンバイDBへのコピーが完了したら、プライマリDBを起動してスタンバイDB用のコントロールファイルを作成します。
スタンバイDB用コントロールファイルの出力先は任意です。
alter database create standby controlfile as 'E:\oracle\SO1\CNTRLSO1.DBF' reuse;
スタンバイDB用コントロールファイルはスタンバイDBのコントロールファイルへコピーして上書きます。
コントロールファイルは普通は複数あるので全てを上書きします。
スタンバイDBはこの後、mount 状態で起動させます。
startup mount
以上でスタンバイデータベースの用意が出来ました。
この後は Data Guard Broaker を構成します。
コメント 0