1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Data Guardでプライマリ停止時の状態を確認する(Oracle Database 19c)

Last updated at Posted at 2020-12-11

Oracle Data Guard環境では V\$ARCHIVE_DEST_STATE ビューや V\$MANAGED_STANDBY ビューで状態を確認します。本記事ではプライマリ・インスタンス停止が発生したときと、MANAGED STANDBYがキャンセルされたときにこれらのビューの内容がどのように変化するかを確認します。環境は昨日の記事と同じです。

プライマリ停止

プライマリ・インスタンスを異常終了させて、スタンバイ・インスタンスの状態を確認します。

ALERTファイルの状態

alertファイルには接続が切れたことが直ちに出力されます。

2020-12-10T10:24:09.586896+09:00
 rfs (PID:42589): Possible network disconnect with primary database
2020-12-10T10:24:09.598992+09:00
 rfs (PID:42587): Possible network disconnect with primary database

V$ARCHIVE_DEST_STATUSの状態

V\$ARCHIVE_DEST_STATUS ビューは変化がありません。STATUS 列はVALID で、RECOVERY_MODE列はMANAGED REAL TIME APPLY のままです。V$MANAGED_STANDBY ビューにも変化はありません。

SQL> SELECT dest_name, status, recovery_mode FROM v$archive_dest_status WHERE dest_id IN (1, 2) ORDER BY 1;

DEST_NAME                      STATUS    RECOVERY_MODE
------------------------------ --------- ----------------------------------
LOG_ARCHIVE_DEST_1             VALID     MANAGED REAL TIME APPLY
LOG_ARCHIVE_DEST_2             VALID     IDLE

SQL> SELECT status FROM v$managed_standby WHERE process LIKE 'MRP%';

STATUS
------------
APPLYING_LOG

プライマリ・インスタンスの起動

プライマリ・インスタンスを起動します。スタンバイ・インスタンスのalertログには接続が復活したことを示すメッセージが出力されます。

2020-12-10T10:27:06.331100+09:00
 rfs (PID:44277): Primary database is in MAXIMUM PERFORMANCE mode
2020-12-10T10:27:06.365077+09:00
 rfs (PID:44277): Selected LNO:11 for T-1.S-78 dbid 2941070004 branch 1055164276
2020-12-10T10:27:06.380011+09:00
 rfs (PID:44275): Selected LNO:12 for T-1.S-77 dbid 2941070004 branch 1055164276
2020-12-10T10:27:06.533684+09:00
PR00 (PID:42840): Media Recovery Waiting for T-1.S-78 (in transit)
2020-12-10T10:27:06.541579+09:00
Recovery of Online Redo Log: Thread 1 Group 11 Seq 78 Reading mem 0
  Mem# 0: /u01/app/oracle/oradata/O19S/slog11.dbf
2020-12-10T10:27:06.577222+09:00
ARC0 (PID:42564): Archived Log entry 70 added for T-1.S-77 ID 0xaf4d09b4 LAD:1

スタンバイ・インスタンスの V$ARCHIVE_DEST_STATE ビューやV\$MANAGED_STANDBY ビューには何の変化もありません。

MANAGED STANDBYのキャンセルと復帰

MANAGED STANDBYのキャンセル

スタンバイ・インスタンスで ALTER DATABASE RECOVER MANAGED STANDBY CANCEL 文を実行します。スタンバイ・インスタンスの alert ログには処理の完了メッセージが出力されます。

2020-12-10T10:37:10.267347+09:00
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL
2020-12-10T10:37:10.270076+09:00
PR00 (PID:42840): MRP0: Background Media Recovery cancelled with status 16037
2020-12-10T10:37:10.275652+09:00
Errors in file /u01/app/oracle/diag/rdbms/o19s/O19S/trace/O19S_pr00_42840.trc:
ORA-16037: user requested cancel of managed recovery operation
PR00 (PID:42840): Managed Standby Recovery not using Real Time Apply
Recovery interrupted!
Recovered data files to a consistent state at change 7685343
stopping change tracking
2020-12-10T10:37:10.351243+09:00
Errors in file /u01/app/oracle/diag/rdbms/o19s/O19S/trace/O19S_pr00_42840.trc:
ORA-16037: user requested cancel of managed recovery operation
2020-12-10T10:37:10.464808+09:00
Background Media Recovery process shutdown (O19S)
2020-12-10T10:37:11.269815+09:00
Managed Standby Recovery Canceled (O19S)
Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL

V\$ARCHIVE_DEST_STATUS ビューの log_archive_dest_1 のRECOVERY_MODE 列は IDLE に戻ります。MRP プロセスは停止するため V$MANAGED_STANDBY ビューからはエントリーが消えます。

SQL> SELECT dest_name, status, recovery_mode FROM v$archive_dest_status WHERE dest_id IN (1, 2) ORDER BY 1;

DEST_NAME                      STATUS    RECOVERY_MODE
------------------------------ --------- ----------------------------------
LOG_ARCHIVE_DEST_1             VALID     IDLE
LOG_ARCHIVE_DEST_2             VALID     IDLE

SQL> SELECT status FROM v$managed_standby WHERE process LIKE 'MRP%';

レコードが選択されませんでした。

プライマリ・インスタンスの V$ARCHIVE_DEST_STATUS ビューのRECOVERY_MODE 列 も IDLE になります。

SQL> SELECT dest_name, status, recovery_mode FROM v$archive_dest_status WHERE dest_id IN (1, 2) ORDER BY 1;

DEST_NAME                      STATUS    RECOVERY_MODE
------------------------------ --------- ----------------------------------
LOG_ARCHIVE_DEST_1             VALID     IDLE
LOG_ARCHIVE_DEST_2             VALID     IDLE

MANAGED STANDBYの復帰

スタンバイ・インスタンスで ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT 文を実行します。スタンバイ・インスタンスの alert ログには処理完了のメッセージが出力されます。

2020-12-10T10:42:33.150775+09:00
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT
2020-12-10T10:42:33.151156+09:00
Attempt to start background Managed Standby Recovery process (O19S)
Starting background process MRP0
2020-12-10T10:42:33.159680+09:00
MRP0 started with pid=8, OS id=45250
2020-12-10T10:42:33.160435+09:00
Background Managed Standby Recovery process started (O19S)
2020-12-10T10:42:38.175418+09:00
 Started logmerger process
2020-12-10T10:42:38.182064+09:00
PR00 (PID:45256): Managed Standby Recovery starting Real Time Apply
2020-12-10T10:42:38.220576+09:00
Parallel Media Recovery started with 4 slaves
2020-12-10T10:42:38.336731+09:00
stopping change tracking
PR00 (PID:45256): Media Recovery Waiting for T-1.S-78 (in transit)
2020-12-10T10:42:38.485182+09:00
Recovery of Online Redo Log: Thread 1 Group 11 Seq 78 Reading mem 0
  Mem# 0: /u01/app/oracle/oradata/O19S/slog11.dbf
2020-12-10T10:42:39.167813+09:00
Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT

プライマリ・インスタンスの alert ログには何も出力されませんが、V$ARCHIVE_DEST_STATUS ビューは変化します。

SQL> SELECT dest_name, status, recovery_mode FROM v$archive_dest_status WHERE dest_id IN (1, 2) ORDER BY 1;

DEST_NAME                      STATUS    RECOVERY_MODE
------------------------------ --------- ----------------------------------
LOG_ARCHIVE_DEST_1             VALID     IDLE
LOG_ARCHIVE_DEST_2             VALID     MANAGED REAL TIME APPLY
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?