DBAtlas · データベース運用アトラス

SQLでプライマリ/スタンバイのロールとスイッチオーバー可否を確認

OracleData Guard

コマンド

SELECT name, db_unique_name, database_role, open_mode, protection_mode,
       switchover_status, force_logging, flashback_on, dataguard_broker
FROM   v$database;

-- State of redo destinations and gaps (on the primary):
SELECT dest_id, dest_name, status, type, database_mode,
       recovery_mode, gap_status, error
FROM   v$archive_dest_status
WHERE  status <> 'INACTIVE';

-- Missing archivelog range on the standby:
SELECT thread#, low_sequence#, high_sequence# FROM v$archive_gap;

概要

データベースロール、オープンモード、保護モード、switchover_status(TO STANDBY / TO PRIMARY / SESSIONS ACTIVE / NOT ALLOWED)、FORCE LOGGINGとフラッシュバックの状態、REDO転送先のエラーとギャップを表示する。

使用する場面

スイッチオーバー/フェイルオーバー前の事前チェック、新規スタンバイ構築後、Brokerを使用しない環境での基本監視に。

注意

読み取り専用。FORCE_LOGGING=NOの場合、NOLOGGING操作によりスタンバイに破損ブロックが残る。Data GuardのプライマリではALTER DATABASE FORCE LOGGINGを有効にする必要がある。FLASHBACK_ON=NOの場合、フェイルオーバー後に旧プライマリを回復(reinstate)できず、再構築が必要になる。

DBAtlas で開く →

関連項目