DataGuard入門 その4
Oracle DataGuardについて、その基本構成、セットアップ方法、スイッチオーバー、Flashback、管理方法などを紹介する全4回の連載を1冊にまとめました。
Oracle DataGuardとは・・・1つ以上の Standby Database から構成されていてプライマリデータベース(稼動している方)から Standby Database へ REDO ログを転送し、同期をとることで、可用性を高めるものです。DataGuard には、Physical Standby Database と Logical Standby Database の 2つの構成を利用することができます。
*eBook版のダウンロードをご希望の方は、画像をクリック
<DataGuard入門 その4>
ペンネーム:りん
今週も新米りんのDataGuard入門です。
今までいくつかのSELECT文を利用してきましたが今週はPhysical Standbyを
管理に使えるビューやテーブルについてです。
○ロール・ログモード・制御ファイルタイプ・保護モードを確認する
現在のロール・ログモード・制御ファイルタイプ・保護モードを確認するには
v$databaseを参照します。
SQL> select database_role,log_mode,controlfile_type,protection_mode from v$database; DATABASE_ROLE LOG_MODE CONTROL PROTECTION_MODE ---------------- ------------ ------- -------------------- PHYSICAL STANDBY ARCHIVELOG STANDBY MAXIMUM PERFORMANCE
SwitchOverやFailOverなどに確認すべきビューなんですね。
SwitchOverが可能かどうかを判断する為にもv$databaseのSWITCHOVER_STATUS
を参照します。
○REDOデータのあて先を確認する
initファイルを参照してもlog_archive_dest_nに記載されているはずですが
Oracle上から確認するのであれば、v$archive_destビューで確認できます。
SQL> select destination,status,target,archiver,process from v$archive_dest; DESTINATION STATUS TARGET ARCHIVER PROCESS ------------------------------------ --------- ------- ---------- ---------- /home/oracle/archive VALID LOCAL ARCH ARCH standby.world VALID REMOTE LGWR LGWR primary.world VALID REMOTE LGWR LGWR INACTIVE LOCAL ARCH ARCH INACTIVE LOCAL ARCH ARCH INACTIVE LOCAL ARCH ARCH INACTIVE LOCAL ARCH ARCH INACTIVE LOCAL ARCH ARCH INACTIVE LOCAL ARCH ARCH INACTIVE LOCAL ARCH ARCH /home/oracle/archive/standby/standby VALID LOCAL ARCH RFS 11行が選択されました。
v$archive_destを参照すると、LOCALのARCHなのか、リモートのLGWRなのかを
確認することができます。
○転送状況を確認する
リアルタイム適用を行っている場合は、ちゃんと適用されているか気になる
ところです確認のために、v$archived_logビューを参照します。
SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#; SEQUENCE# APP ---------- --- 9 YES ~中略~ SEQUENCE# APP ---------- --- 26 YES 27 YES 28 YES 29 YES 30 YES 31 YES 32 YES
また、現在の適用方法を確認するにはv$archive_dest_statusビューを参照
します。
SQL> select dest_name,recovery_mode from v$archive_dest_status; DEST_NAME RECOVERY_MODE -------------------- ----------------------- LOG_ARCHIVE_DEST_1 MANAGED REAL TIME APPLY LOG_ARCHIVE_DEST_2 MANAGED REAL TIME APPLY ~ LOG_ARCHIVE_DEST_10 MANAGED REAL TIME APPLY STANDBY_ARCHIVE_DEST MANAGED REAL TIME APPLY 11行が選択されました。
○転送プロセス状況を確認する
転送プロセスの情報は、v$managed_standbyビューを参照します。
SQL> select PROCESS,PID,STATUS,CLIENT_PROCESS,CLIENT_PID, SQL> CLIENT_DBID,RESETLOG_ID,SEQUENCE#,DELAY_MINS,ACTIVE_AGENTS SQL> from v$managed_standby; PROCESS PID STATUS CLIENT_P CLIENT_PID RESETLOG_ID SEQUENCE# DELAY_MINS ACTIVE_AGENTS --------- ------- ----------- -------- ---------- ----------- ---------- ---------- ------------- ARCH 7863 CONNECTED ARCH 7863 0 0 0 0 ARCH 7865 CONNECTED ARCH 7865 0 0 0 0
では、Primary側でalter database switch logfileを実行してみます。
SQL> alter system switch logfile; システムが変更されました。 SQL> select PROCESS,PID,STATUS,CLIENT_PROCESS,CLIENT_PID, SQL> CLIENT_DBID,RESETLOG_ID,SEQUENCE#,DELAY_MINS,ACTIVE_AGENTS SQL> from v$managed_standby; PROCESS PID STATUS CLIENT_P RESETLOG_ID SEQUENCE# DELAY_MINS ACTIVE_AGENTS --------- ---------- ------------ -------- ----------- ---------- ---------- ------------- ARCH 7863 CONNECTED ARCH 0 0 0 0 ARCH 7865 CONNECTED ARCH 0 0 0 0 RFS 8291 WRITING LGWR 529269042 95 0 0 RFS 8293 RECEIVING UNKNOWN 0 0 0 0 RFS 8295 ATTACHED UNKNOWN 0 0 0 0
この場合、RFS(Remote File Server)が書き込み中であることがわかります。
今回で、DataGuard入門はおしまいです。
次回に向けて修行して参ります。
浜降祭が夏を告げる茅ヶ崎にて