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 Broker のスイッチオーバーによる Grid Infrastucture の設定変化

Last updated at Posted at 2025-04-22

Data Guard Broker によるスイッチオーバー

 Data Guard Broker 環境でスイッチオーバーを実行するには DGMGRL ユーティリティから SWITCHOVER TO 文を実行します。下記の例ではプライマリ・データベース「O19A」からスタンバイ・データベース「O19S」にスイッチオーバーしています。

スイッチオーバーの実行
DGMGRL> SWITCHOVER TO 'O19S'
現在スイッチオーバーを実行しています。お待ちください...
操作にはデータベース"O19S"への接続が必要です
接続中...
"O19S"に接続しました
SYSDBAとして接続しました。
新しいプライマリ・データベース"O19S"がオープン中です...
Oracle Clusterwareはデータベース"O19A"を再起動しています...
[W000 2025-04-21T20:53:27.122+09:00] Failed to attach to o19a.
<<途中省略>>
[W000 2025-04-21T20:53:43.148+09:00] Failed to attach to o19a.
"O19A"に接続しました
"O19A"に接続しました
スイッチオーバーに成功しました。新しいプライマリは"O19S"です
DGMGRL>

Data Guard と Grid Infrastucture の関係

データベースが Oracle Grid Infrastructure の管理下にある場合、Data Guard Broker も Oracle Grid Infrastructor を認識します。以下の例では VALIDATE DATABASE 文を実行しています。「クラスタウェアにより管理される」項目が YES になっています。

VALIDATE DATABASE コマンドの実行
DGMGRL> VALIDATE DATABASE O19A

  データベース・ロール:  プライマリ・データベース

  スイッチオーバー可能:  はい

  クラスタウェアにより管理される:
    O19A:  YES

初期状態

Oracle Grid Infrastucture の登録状態を確認します。初期状態では以下のようになっています。

srvctl オプション 説明 データベース O19A データベース O19S
-db 一意データベース名 O19A O19S
-role ロール PRIMARY PHYSICAL_STANDBY
-startoption 起動オプション open mount
-policy 管理ポリシー AUTOMATIC AUTOMATIC

プライマリ・データベース「O19A」の Oracle Grid Infrastructure 設定を確認します。スタンバイ・データベース「O19S」では起動オプション(Start options)は mount になっています。

プライマリ・データベース
$ srvctl config database -db o19a
Database unique name: O19A
Database name: O19A
Oracle home: /opt/oracle/product/19.0.0/dbhome_1
Oracle user: oracle
Spfile: +DATA/O19A/PARAMETERFILE/spfile.269.1102456437
Password file: +DATA/O19A/PASSWORD/orapwo19a
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Disk Groups: DATA,REDO1,REDO2
Services: srv01
OSDBA group:
OSOPER group:
Database instance: O19A
スタンバイ・データベース
$ srvctl config database -db o19s
Database unique name: O19S
Database name: O19A
Oracle home: /opt/oracle/product/19.0.0/dbhome_1
Oracle user: oracle
Spfile:
Password file:
Domain:
Start options: mount
Stop options: immediate
Database role: PHYSICAL_STANDBY
Management policy: AUTOMATIC
Disk Groups: DATA,REDO1,REDO2
Services:
OSDBA group:
OSOPER group:
Database instance: O19S

スイッチオーバー

 スイッチオーバーを行うと Oracle Grid Indrastructure に登録されたデータベース設定のうち起動オプション(Start options)オプションとロール(Database role)オプションが変更されます。

新プライマリ・データベース(O19S)
$ srvctl config database -db o19s
Database unique name: O19S
Database name: O19A
Oracle home: /opt/oracle/product/19.0.0/dbhome_1
Oracle user: oracle
Spfile:
Password file:
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Disk Groups: DATA,REDO1,REDO2
Services:
OSDBA group:
OSOPER group:
Database instance: O19S
新スタンバイ・データベース(O19A)
$ srvctl config database -db o19a
Database unique name: O19A
Database name: O19A
Oracle home: /opt/oracle/product/19.0.0/dbhome_1
Oracle user: oracle
Spfile: +DATA/O19A/PARAMETERFILE/spfile.269.1102456437
Password file: +DATA/O19A/PASSWORD/orapwo19a
Domain:
Start options: mount
Stop options: immediate
Database role: PHYSICAL_STANDBY
Management policy: AUTOMATIC
Disk Groups: DATA,REDO1,REDO2
Services: srv01
OSDBA group:
OSOPER group:
Database instance: O19A

スタンバイ・インスタンスをオープン

スタンバイ・データベース・インスタンスを OPEN READ ONLY ステータスに移行します。Data Guard Broker 環境では ALTER DATABASE MANAGED STANDBY DATABASE 文を実行しなくてもスタンバイ・データベース・インスタンスを OPEN READ ONLY WITH APPLY モード(Active Data Guard)に移行できます。

インスタンスを OPEN READ ONLY モードへ変更
SQL> ALTER DATABASE OPEN READ ONLY;

データベースが変更されました。

SQL> SELECT i.STATUS, d.OPEN_MODE FROM V$INSTANCE i, V$DATABASE d;

STATUS       OPEN_MODE
------------ --------------------
OPEN         READ ONLY WITH APPLY

スイッチオーバーふたたび

 スタンバイ・データベースを OPEN READ ONLY に変更した状態で再びスイッチオーバーを行います。プライマリ・データベースは O19A、スタンバイ・データベースが O19S に戻ります。処理が完了したら Grid Infrastructure の設定を確認します。

スイッチオーバーを実行
DGMGRL> SWITCHOVER TO 'O19A'
現在スイッチオーバーを実行しています。お待ちください...
新しいプライマリ・データベース"O19A"がオープン中です...
Oracle Clusterwareはデータベース"O19S"を再起動しています...
[W000 2025-04-21T20:58:56.016+09:00] Failed to attach to o19s.
<<途中省略>>
[W000 2025-04-21T20:59:11.049+09:00] Failed to attach to o19s.
"O19S"に接続しました
"O19S"に接続しました
スイッチオーバーに成功しました。新しいプライマリは"O19A"です

DGMGRL> SHOW CONFIGURATION

構成 - dg1_config

  保護モード: MaxPerformance
  メンバー:
  O19A - プライマリ・データベース
    O19S - フィジカル・スタンバイ・データベース

ファスト・スタート・フェイルオーバー:  Disabled

構成ステータス:
SUCCESS   (ステータスは19秒前に更新されました)
新プライマリ・データベース(O19A)の属性確認
$ srvctl config database -db o19a
Database unique name: O19A
Database name: O19A
Oracle home: /opt/oracle/product/19.0.0/dbhome_1
Oracle user: oracle
Spfile: +DATA/O19A/PARAMETERFILE/spfile.269.1102456437
Password file: +DATA/O19A/PASSWORD/orapwo19a
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Disk Groups: DATA,REDO1,REDO2
Services: srv01
OSDBA group:
OSOPER group:
Database instance: O19A
新スタンバイ・データベース(O19S)の属性確認
$ srvctl config database -db o19s
Database unique name: O19S
Database name: O19A
Oracle home: /opt/oracle/product/19.0.0/dbhome_1
Oracle user: oracle
Spfile:
Password file:
Domain:
Start options: read only  ← 変わっている
Stop options: immediate
Database role: PHYSICAL_STANDBY
Management policy: AUTOMATIC
Disk Groups: DATA,REDO1,REDO2
Services:
OSDBA group:
OSOPER group:
Database instance: O19S

 OPEN READ ONLY モードのスタンバイ・データベースからスイッチオーバーすると、新スタンバイ・データベースも OPEN READ ONLY モードになるように Grid Infrastructure の属性が変化することがわかります。

Author: Noriyoshi Shinoda / Date: April 22, 2025

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?