Oracle Database 19c の Data Guard Broker についていくつかの記事を書きました。
- Data Guard Broker 環境の構築 (Oracle Database 19c)
- Data Guard Broker によるスイッチオーバーとフェイルオーバー (Oracle Database 19c)
- Data Guard Broker のスイッチオーバーによる Grid Infrastucture の設定変化
ここでは上記の記事に含まれないその他のコマンドについて紹介します。
HELP
使用方法を確認するもっとも簡単な方法がHELPコマンドです。
DGMGRL> HELP
次のコマンドは使用可能です:
@ DGMGRLスクリプト・ファイルを実行します
! ホスト・オペレーティング・システム・コマンド
/ 最後のコマンドを繰り返します
-- DGMGRLで無視されるコメント
add メンバーをブローカ構成に追加します
connect Oracleデータベース・インスタンスに接続します
convert データベースをあタイプから別のタイプに変換します
create ブローカ構成を作成します
disable 構成、メンバーまたはファスト・スタート・フェイルオーバーを使用不可にします
edit 構成またはメンバーを編集します
enable 構成、メンバーまたはファスト・スタート・フェイルオーバーを使用可能にします
exit プログラムを終了します
export Data Guard Broker構成をファイルにエクスポートします。
failover スタンバイ・データベースをプライマリ・データベースに変更します
help コマンドの説明と構文を表示します
host ホスト・オペレーティング・システム・コマンド
import Data Guard Broker構成をファイルからインポートします。
migrate 構成間でプラガブル・データベースを移行します。
quit プログラムを終了します
reinstate 修復対象としてマークされたデータベースを稼働可能なスタンバイに変更します
rem DGMGRLで無視されるコメント
remove 構成またはメンバーを削除します
set DGMGRLI CLIプロパティを指定された値に設定します
show 構成またはメンバーに関する情報を表示します
shutdown 現在実行中のOracleデータベース・インスタンスを停止します
spool DGMGRL CLIの入力および出力をファイルに格納します
sql SQL文を実行します
start ファスト・スタート・フェイルオーバーのオブザーバを起動します
startup Oracleデータベース・インスタンスを起動します
stop ファスト・スタート・フェイルオーバー・オブザーバを停止します
switchover プライマリ・データベースとスタンバイ・データベースのロールを切り替えます
validate メンバーに対してあらゆる検証を実行します
個々のコマンドの構文を表示するには、"help <command>"を使用します
特定のコマンドについて詳細を調べる時には HELP にコマンド名を指定します。
DGMGRL> HELP SHOW
構成またはメンバーに関する情報を表示します
構文:
SHOW ALL;
SHOW CONFIGURATION [LAG] [VERBOSE];
SHOW CONFIGURATION WHEN PRIMARY IS <database name>;
SHOW { RECOVERY_APPLIANCE | DATABASE | FAR_SYNC } [VERBOSE]
<object name> [<property name>];
SHOW { RECOVERY_APPLIANCE | DATABASE | FAR_SYNC | MEMBER }
<object name> PARAMETER [<initialization parameter name>];
SHOW INSTANCE [VERBOSE] <instance name> [<property name>]
[ON { DATABASE | FAR_SYNC } <object name>];
SHOW FAST_START FAILOVER;
SHOW OBSERVER;
SHOW OBSERVERS [FOR <configuration group name>];
SHOW OBSERVERCONFIGFILE;
EXPORT
Data Guard Broker 構成ファイルをテキストファイルにエクスポートします。ファイル名を指定すると、ADR 内のtrace ディレクトリに XML 形式で出力されます。
DGMGRL> EXPORT CONFIGURATION TO 'dgtest'
成功しました。
DGMGRL> HOST cat /opt/oracle/diag/rdbms/o19a/O19A/trace/dgtest.txt
オペレーティング・システム・コマンドを実行しています:" cat /opt/oracle/diag/rdbms/o19a/O19A/trace/dgtest.txt"
<?xml version="1.0" encoding="UTF-8"?>
<DRC Version="19.0.0.0.0" CurrentPath="True" Name="dgtest">
<DefaultState>ONLINE</DefaultState>
<DRC_UNIQUE_ID>946560433</DRC_UNIQUE_ID>
<IntendedState>ONLINE</IntendedState>
<FastStartFailoverOBID1>1679565369</FastStartFailoverOBID1>
<FastStartFailoverOBID2>1679565370</FastStartFailoverOBID2>
<FastStartFailoverOBID3>1679565371</FastStartFailoverOBID3>
...
ファイル名を省略した場合には{SID}_dmon_{PID}_brkmeta_{#}.trc ファイルが作成されます。このコマンドは Oracle Database 19c から利用できるようになりました。
IMPORT
IMPORT コマンドはエクスポートされたファイルをインポートします。既に構成が存在する場合にはエラーになります。
DGMGRL> IMPORT CONFIGURATION FROM O19A_dmon_2141773_brkmeta_1.trc
ORA-16504: Oracle Data Guard Broker構成はすでに存在します。
SET
いくつかの設定を変更します。以下の設定が利用できます。
動作 | 構文 |
---|---|
時刻表示 | SET TIME { ON | OFF } |
コマンド出力 | SET ECHO { ON | OFF } |
トレースレベル | SET TRACE_LEVEL { SUPPORT | USER | NONE } |
ファストスタートフェイルオーバー移行先 | SET FAST_START FAILOVER TARGET TO db [ NOWAIT ] |
オブザーバー設定 | SET MASTEROBSERVER TO name |
オブザーバーホスト | SET MASTEROBSERVERHOSTS [ FOR group ] TO host |
オブザーバー設定ファイル | SET OBSERVERCONFIGFILE=file |
DGMGRL> SET TIME ON
22:48:25 DGMGRL> SET TIME OFF
DGMGRL>
SQL
DGMGRL から接続しているデータベースに対して SQL 文を発行できます。
HELP 文の出力には行末にセミコロン(;)が指定されていますが、実際にはセミコロンは不要です。CREATE 文や INSERT 文等のデータを返さない SQL 文を実行できますが、SELECT 文は実行できません。
DGMGRL> SQL "INSERT INTO data1 VALUES (100, 'data1')"
SQL "INSERT INTO data1 VALUES (100, 'data1')"
成功しました。
DGMGRL> SQL "SELECT * FROM data1"
SQL "SELECT * FROM data1"
ORA-24374: フェッチまたは実行してフェッチする前に、定義されていません
失敗しました。
SPOOL
コマンドの出力結果をファイルに出力することができます。
SPOOLコマンドにファイル名を指定します。
DGMGRL> SPOOL /tmp/spool.out
SPOOL /tmp/spool.out
DGMGRL> SHOW CONFIGURATION
SHOW CONFIGURATION
構成 - dgtest_config
保護モード: MaxPerformance
メンバー:
O19A - プライマリ・データベース
O19S - フィジカル・スタンバイ・データベース
ファスト・スタート・フェイルオーバー: Disabled
構成ステータス:
SUCCESS (ステータスは54秒前に更新されました)
DGMGRL> SPOOL OFF
SPOOL OFF
スプールがオフに設定されています
ファイル名の後ろには既存のファイルについての動作を指定できます。
指定 | 動作 | 備考 |
---|---|---|
CREATE | ファイルを作成します。既にファイルが存在する時はエラーになります | |
REPLACE | 既存のファイルを上書きします | デフォルト |
APPEND | 既存のファイルに追記します |
VALIDATE
VALIDATE コマンドは環境の検証を行います。以下の構文を利用できます。
動作 | コマンド |
---|---|
データベース | VALIDATE DATABASE [VERBOSE] db |
データファイル | VALIDATE DATABASE [VERBOSE] db DATAFILE number OUTPUT=file |
SPFILE | VALIDATE DATABASE [VERBOSE] db SPFILE |
FAR SYNC | VALIDATE FAR_SYNC [VERBOSE] name [ WHEN PRIMARY IS name ] |
Network | VALIDATE NETWORK CONFIGURATION FOR { ALL | member } |
Clusterware対応 | VALIDATE STATIC CONNECT IDENTIFIER FOR { ALL | db } |
DGMGRL> VALIDATE NETWORK CONFIGURATION FOR ALL
VALIDATE NETWORK CONFIGURATION FOR ALL
インスタンス"O19A" (データベース"O19A")に接続しています...
"O19A"に接続しました
インスタンス"O19A" (データベース"O19A)から次への接続を確認しています インスタンス"O19S" (データベース"O19S") ...
成功しました。
インスタンス"O19S" (データベース"O19S")に接続しています...
"O19S"に接続しました
インスタンス"O19S" (データベース"O19S)から次への接続を確認しています インスタンス"O19A" (データベース"O19A") ...
成功しました。
データベース"O19A"のOracle Clusterwareでは、データベース再起動が可能で す。
データベース"O19S"のOracle Clusterwareでは、データベース再起動が可能で す。
DGMGRL> VALIDATE STATIC CONNECT IDENTIFIER FOR ALL
VALIDATE STATIC CONNECT IDENTIFIER FOR ALL
データベース"O19A"のOracle Clusterwareでは、データベース再起動が可能で す。
データベース"O19S"のOracle Clusterwareでは、データベース再起動が可能で す。
Author: Noriyoshi Shinoda / Date: May 13, 2025