Data Guard の使い方

スタンバイで神殿を二重にする(Oracle)

書き方

SELECT db_unique_name, database_role, protection_mode, open_mode, switchover_status FROM v$database;
SELECT dest_id, status, database_mode, recovery_mode, gap_status FROM v$archive_dest_status WHERE dest_id = 2;
SELECT name, value FROM v$dataguard_stats;   -- スタンバイで
ALTER SYSTEM SET log_archive_dest_state_2 = ENABLE;   -- プライマリで
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;   -- スタンバイで
ALTER DATABASE SWITCHOVER TO free_stby VERIFY;
ALTER DATABASE SWITCHOVER TO free_stby;
CONNECT sys/パスワード@free_stby AS SYSDBA

プライマリの REDO をスタンバイへ送り(転送)、スタンバイで当て続け(適用)ます。遅れは スタンバイの V$DATAGUARD_STATS の transport lag・apply lag で見ます。転送が止まる主な理由は LOG_ARCHIVE_DEST_STATE_2 が DEFER のこと、適用が止まる理由は MRP(RECOVER MANAGED STANDBY)が動いていないことです。スイッチオーバーは VERIFY で確かめてから行い、元のプライマリは止まるので STARTUP MOUNT して適用を始め、新しいプライマリは ALTER DATABASE OPEN で開きます。Enterprise Edition の機能で、スタンバイを開いたまま適用する(READ ONLY WITH APPLY)には Active Data Guard のライセンスが別に要ります。

例

ALTER DATABASE SWITCHOVER TO free_stby VERIFY;

実際に打って練習する

Oracle DBA コースの Lv59「双子の神殿 Data Guard」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

すべてのレベルが、プラチナ以上のプランで遊べます。

Oracle Database の管理コマンド一覧(DBA)へ戻る