Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Oracle Data Guard Brokerの管理と障害対応

Oracle Data Guard Brokerの管理と障害対応

Oracle Database Technology Night#77 【詳説】Oracle Data Guard Brokerの後半パート資料です。
・Brokerでの管理操作
・トラブルシューティング

前半パートの資料はこちら https://speakerdeck.com/oracle4engineer/dataguard-broker-detail

DG / ADG / Active Data Guard / FSFO / ファスト・スタート・フェイルオーバー

oracle4engineer

March 28, 2024
Tweet

Video

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. • 前提 • Oracle Database の基本的な知識、および、Oracle Data Guard の機能の概要を 理解していることを前提としています

    • 注意事項 • Oracle Database ⻑期サポート・リリースにあたる、19cならびに23cの利⽤を想定した内容としています • Broker 操作の例として挙げている実⾏コマンドや実⾏結果は 23c の内容になります。ただし、19c でも同様の コマンド、実⾏結果となります。 • Broker 操作の例として挙げている実⾏コマンドや実⾏結果はオンプレミス環境のものとなります。 はじめに Copyright © 2024, Oracle and/or its affiliates 2
  2. • ⽬的 • Data Guard Broker 構成での⼀般的な運⽤・管理コマンドの理解 • Data Guard

    Broker 構成での障害調査の基本⽅針の理解 • ⽬指すところ • サポートお問い合わせ時にどのような情報を提供する必要があるのかの理解を深める • サポートにお問い合わせいただく前に、ご担当者様⾃⾝で確認できる情報の理解を深める このパートの目的 Copyright © 2024, Oracle and/or its affiliates 3
  3. • プロパティとステートの違い • ログ転送 • 設定⽅法 • 有効化・無効化 • 設定状況の確認⽅法

    • ログ適⽤ • 有効化・無効化 • dgmgrl コマンド • 実⾏結果のサンプル • Tips この章の内容 Copyright © 2024, Oracle and/or its affiliates 6
  4. Configuration Data Guard Broker 使用時の論理的構成 Broker 構成 Copyright © 2024,

    Oracle and/or its affiliates 7 Database (Primary) Instance Instance Database (Standby) Instance Instance REDO 転送 • configuration • プライマリDB・スタンバイDBを含めた Broker 構成全体の情報 • database • プライマリDBまたはスタンバイDBの 個別のDBに関する情報 • Instance • プライマリDBまたはスタンバイDBの 各インスタンスに関する情報 • RAC 環境の場合にのみ使⽤
  5. プロパティとステート(状態) • プロパティ • Configuration や Database に対して設定を⾏う • 指定した対象に対する永続的な設定を⾏うために⽤いる

    • (例) 保護モード、ログ転送の設定、アーカイブログファイル作成先の設定、FSFO の発動タイミング • ステート(状態) • Database に対して、ログ転送のON/OFF、ログ適⽤のON/OFFを設定する • ログ転送(プライマリDBに設定) è TRANSPORT-ON / TRANSPORT-OFF • ログ適⽤(スタンバイDBに設定) è APPLY-ON / APPLY-OFF Broker 構成での管理操作 Copyright © 2024, Oracle and/or its affiliates 8 DGMGRL> edit configuration set property <プロパティ名>=<値>; DGMGRL> edit database <データベース名> set property <プロパティ名>=<値>; DGMGRL> edit database <データベース名> set state=<値>
  6. ログ転送の設定 • 各種プロパティの設定を変更することで対応する • (例) 転送モードを SYNC に変更する場合 • (例)

    転送モードの設定をデフォルトに戻す場合 • ログ転送に関するプロパティの設定を⾏う対象DBは、受信側(スタンバイDB側) • edit database の後には、スタンバイDBを指定する • 設定情報を確認する場合にも以下のように実⾏する Broker 構成での管理操作 Copyright © 2024, Oracle and/or its affiliates 9 DGMGRL> edit database <StandbyDB> set property LogXptMode=‘SYNC’; DGMGRL> show database verbose <StandbyDB>; または DGMGRL> show database <StandbyDB> <対象のプロパティ名>; DGMGRL> edit database <StandbyDB> reset property LogXptMode; プライマリ スタンバイ Data Guard 構成
  7. ログ転送の設定 • log_archive_dest_n(LAD) の値とBroker のプロパティの対⽐ Broker 構成での管理操作 Copyright © 2024,

    Oracle and/or its affiliates 10 LAD での設定 プロパティ名 デフォルト値 設定可能な値 補足事項 SERVICE DGConnectIdentifier なし 接続文字列 次のスライド参照 MANDATORY OPTIONAL Binding OPTIONAL MANDATORY OPTIONAL なし SYNC ASYNC LogXptMode ASYNC SYNC ASYNC FASTSYNC 次のスライド参照 MAX_FAILURE MaxFailure 0 >= 0 なし NET_TIMEOUT NetTimeout 30 0 ~ 1200 なし COMPRESSION RedoCompression DISABLE DISABLE, ENABLE, ZLIB, LZO 次のスライド参照 REOPEN ReopenSecs 300 >= 0 なし プライマリ スタンバイ Data Guard 構成
  8. ログ転送の設定 • Broker でのプロパティ変更時の注意点 1. DGConnectIdentifier • 設定値変更時に指定した接続⽂字列で接続可能かのチェックが実施される • 以下を両⽅満たしていない場合、設定変更がエラーで失敗する

    Ø 指定した接続⽂字列が tnsnames.ora 内に定義されている Ø 指定した接続⽂字列で対象 DB に接続可能である 2. LogXptMode • LAD で指定可能な AFFIRM/NOAFFIRM の設定はできず、LogXptMode の設定で⾃動的に以下が設定される Ø LogXptMode=ASYNC è LAD では ASYNC NOAFFIRM が設定される Ø LogXptMode=SYNC è LAD では SYNC AFFIRM が設定される Ø LogXptMode=FASTSYNC è LAD では SYNC NOAFFIRM が設定される 3. RedoCompression • LZO を設定する場合、LogXptMode = ASYNC に設定されている必要がある • SYNC / FASTSYNC の場合、設定時に以下のようにエラーが発⽣する。 Broker 構成での管理操作 Copyright © 2024, Oracle and/or its affiliates 11 DGMGRL> edit database stby set property RedoCompression=LZO; Error: ORA-16886: The RedoCompression property cannot be set to LZO for a member that receives redo data in SYNC or FASTSYNC mode. プライマリ スタンバイ Data Guard 構成
  9. RedoRoute for db2 ログ転送の設定 • RedoRoutes パラメータでの設定 • カスケードスタンバイの構成で主に使⽤する •

    (例) DB1 (Primary) è SYNC è DB2 (Standby) è ASYNC è DB3 (Cascade Standby) の場合 Broker 構成での管理操作 Copyright © 2024, Oracle and/or its affiliates 12 DGMGRL> EDIT DATABASE db1 SET PROPERTY RedoRoutes = '(LOCAL : db2 SYNC)'; DGMGRL> EDIT DATABASE db2 SET PROPERTY RedoRoutes = '(db1 : db3 ASYNC)'; RedoRoute for db1 プライマリ (db1) スタンバイ1 (db2) Data Guard 構成 スタンバイ2 (db3) SYNC ASYNC
  10. ログ転送の有効化・無効化 • 2つの⽅法で変更が可能 A) プライマリDBのステートで TRANSPORT-ON / TRANSPORT-OFF を設定する B)

    スタンバイDBの LogShipping プロパティに ON / OFF を設定する Broker 構成での管理操作 Copyright © 2024, Oracle and/or its affiliates 13 プライマリ スタンバイ1 Data Guard 構成 スタンバイ2 A B
  11. ログ転送の有効化・無効化 • 設定変更の対象範囲 A) ステートの変更はすべてのスタンバイDBへの転送に影響 • スタンバイDBが複数ある場合、すべてのスタンバイDBへの 転送が有効化・無効化される B) LogShipping

    プロパティの変更は設定を変更したスタンバイDBへの転送のみ影響する • スタンバイDB として DB_A と DB_B があり、DB_B だけ LogShipping=OFF に設定すると、 DB_A へのログ転送は有効な状態で、DB_B へのログ転送だけ停⽌する • ステート、LogShipping のどちらかが OFF の場合はログ転送が⾏われない • 複数スタンバイDBの構成でステートが ON の場合、LogShipping が ON のスタンバイDBにのみ転送される Broker 構成での管理操作 Copyright © 2024, Oracle and/or its affiliates 14 プライマリ スタンバイ Data Guard 構成
  12. ログ転送の有効化・無効化 (ステートの設定) • DGMGRL から edit コマンドで操作する • ログ転送の有効化 •

    ログ転送の無効化 • 設定状況は show database コマンドで確認可能 • 実⾏例 (ログ転送が有効な場合) Broker 構成での管理操作 Copyright © 2024, Oracle and/or its affiliates 15 DGMGRL> edit database <PrimaryDB> set state=‘TRANSPORT-ON’ DGMGRL> edit database <PrimaryDB> set state=‘TRANSPORT-OFF’ DGMGRL> show database prim Database - prim Role: PRIMARY Intended State: TRANSPORT-ON Redo Rate: 104 Byte/s in 15 seconds (computed 1 second ago) プライマリ スタンバイ Data Guard 構成
  13. ログ転送の有効化・無効化 (ステートの設定) • ステートの設定でのログ転送無効化時の注意点 • Broker から実⾏すると裏では以下が実施されている • ログスイッチは実⾏されないので edit

    コマンド実⾏タイミングでログ転送は停⽌しない • 停⽌するのは次のログスイッチのタイミングから • 即座に停⽌したい場合、edit コマンド実⾏後に alter system archive log current の実⾏が必要 • 有効化の場合には裏で以下が実施されるため、edit コマンド実施後から転送は再開される Broker 構成での管理操作 Copyright © 2024, Oracle and/or its affiliates 16 ALTER SYSTEM SET log_archive_dest_state_2='RESET' SCOPE=BOTH; ALTER SYSTEM SET log_archive_dest_state_2='ENABLE' SCOPE=BOTH; ALTER SYSTEM ARCHIVE LOG プライマリ スタンバイ Data Guard 構成
  14. ログ転送の有効化・無効化 (ステートの設定) • SQL*Plus からの変更時の注意点 • Broker 側で TRANSPORT-ON の状態でも、

    SQL*Plus から log_archive_dest_state_2 = defer を設定して ログ転送を停⽌することは可能 • ただし Broker 側の設定が変更されるわけではないので、show database コマンドでも 以下のようにエラーとして検出される Broker 構成での管理操作 Copyright © 2024, Oracle and/or its affiliates 17 DGMGRL> show database prim Database - prim Role: PRIMARY Intended State: TRANSPORT-ON Redo Rate: 4.88 KByte/s in 15 seconds (computed 3 seconds ago) PDB Data Guard Role: SOURCE and TARGET Instance(s): prim Error: ORA-16738: Redo transport service for member "stby" is not running. Database Status: ERROR プライマリ スタンバイ Data Guard 構成
  15. Copyright © 2024, Oracle and/or its affiliates 18 ログ転送の有効化・無効化 Broker

    構成での管理操作 プライマリ スタンバイ Data Guard 構成 • Broker動作の裏での動きの実例 DGMGRL> edit database prim set state='TRANSPORT-OFF'; edit database prim set state='TRANSPORT-OFF'; Succeeded. DGMGRL> edit database prim set state='TRANSPORT-ON'; edit database prim set state='TRANSPORT-ON'; Succeeded. 2024-03-13T05:48:36.442518-04:00 ALTER SYSTEM SET log_archive_dest_state_2='RESET' SCOPE=BOTH; 2024-03-13T05:48:40.192956-04:00 LGWR (PID:3855): LAD:2 no longer supports SYNCHRONIZATION [krsl.c:7658] : 2024-03-13T05:48:54.135842-04:00 ALTER SYSTEM SET log_archive_dest_state_2='ENABLE' SCOPE=BOTH; 2024-03-13T05:48:58.348528-04:00 LGWR (PID:3855): LAD:2 is SYNCHRONIZED [krsl.c:7880] ・アラートログ(プライマリDB) ・Broker コマンド
  16. ログ転送の有効化・無効化 (プロパティの設定) • DGMGRL から edit コマンドで操作する • ログ転送の有効化 •

    ログ転送の無効化 • 設定状況は show database コマンドで確認可能 • 実⾏例 (ログ転送が有効な場合) Broker 構成での管理操作 Copyright © 2024, Oracle and/or its affiliates 19 DGMGRL> edit database <StandbyDB> set property LogShipping=‘ON’ DGMGRL> edit database <StandbyDB> set property LogShipping=‘OFF’ DGMGRL> show database prim LogShipping; LogShipping = 'ON' プライマリ スタンバイ Data Guard 構成
  17. ログ転送の有効化・無効化 (プロパティの設定) • LogShipping プロパティでのログ転送設定変更時の注意点 • Broker から実⾏すると裏では以下が実施されている • 無効化時

    (LogShipping=ʻOFFʼ) • 有効化時 (LogShipping=ʻONʼ) • 無効化時・有効化時とも明⽰的なログスイッチは実施されない Broker 構成での管理操作 Copyright © 2024, Oracle and/or its affiliates 20 ALTER SYSTEM SET log_archive_dest_state_2='RESET' SCOPE=BOTH; ALTER SYSTEM SET log_archive_dest_state_2=‘ENABLE' SCOPE=BOTH; プライマリ スタンバイ Data Guard 構成
  18. ログ転送の設定状況の確認 • ステート、LogShipping のいずれかでログ転送が無効化 されている場合には以下のコマンドで確認が可能 • ログ転送が有効な場合の出⼒例 • ログ転送が無効な場合の出⼒例 Broker

    構成での管理操作 Copyright © 2024, Oracle and/or its affiliates 21 DGMGRL> show database <PrimaryDB> LogXptstatus; DGMGRL> show database prim LogXptStatus; LOG TRANSPORT STATUS PRIMARY_INSTANCE_NAME STANDBY_DATABASE_NAME STATUS ERROR prim stby DEFERRED DGMGRL> show database prim LogXptStatus; LOG TRANSPORT STATUS PRIMARY_INSTANCE_NAME STANDBY_DATABASE_NAME STATUS ERROR prim stby VALID プライマリ スタンバイ Data Guard 構成
  19. ログ適用の有効化・無効化 • DGMGRL から edit コマンドで操作する • ログ適⽤の有効化 • ログ適⽤の無効化

    • 設定状況は show database コマンドで確認可能 • 実⾏例 (ログ適⽤が有効な場合) Broker 構成での管理操作 Copyright © 2024, Oracle and/or its affiliates 22 DGMGRL> edit database <StandbyDB> set state=‘APPLY-ON’ DGMGRL> edit database < StandbyDB > set state=‘APPLY-OFF’ DGMGRL> show database stby Database - stby Role: PHYSICAL STANDBY Intended State: APPLY-ON PDB Data Guard Role: SOURCE and TARGET Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 1 second ago) Average Apply Rate: 0 Byte/s Real Time Query: OFF プライマリ スタンバイ Data Guard 構成 MRP PR
  20. ログ適用の有効化・無効化 • SQL*Plus からの変更時の注意点 • Broker 側で APPLY-OFF の状態でも、SQL*Plus からログ適⽤を開始することは可能

    • ただし、Broker 側の設定が変更されるわけではないので、show database コマンドでも 以下のようにエラーとして検出される Broker 構成での管理操作 Copyright © 2024, Oracle and/or its affiliates 23 DGMGRL> show database stby Database - stby Role: PHYSICAL STANDBY Intended State: APPLY-OFF PDB Data Guard Role: SOURCE and TARGET Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 1 second ago) Average Apply Rate: (unknown) Real Time Query: OFF Data Guard Source PDB(s): 1 Data Guard Target PDB(s): 1 Instance(s): stby Error: ORA-16765: Redo Apply is running. プライマリ スタンバイ Data Guard 構成 MRP PR
  21. ログ適用の有効化・無効化 • ログ適⽤無効化時の注意点 • Broker 構成固有の動きとして、スタンバイDB起動時に⾃動的にログ適⽤が開始される • ただ、edit database で

    APPLY-OFF に設定した状態でスタンバイDBを再起動した場合には ログ適⽤は無効化された状態であるため、起動後も⾃動的にログ適⽤は開始されない Broker 構成での管理操作 Copyright © 2024, Oracle and/or its affiliates 24 プライマリ スタンバイ Data Guard 構成 MRP PR
  22. • REDO 転送のための設定は必ず Broker から設定する • アーカイブログファイルの出⼒先は以下のいずれでも設定可能 • log_archive_dest_n パラメータで直接指定する

    • Broker の ArchiveLocation / StandbyArchiveLocation プロパティを設定する • 設定コマンド • 設定例 Broker 構成での log_archive_dest_n の設定 Copyright © 2024, Oracle and/or its affiliates 25 DGMGRL> edit database prim set property ArchiveLocation='/home/oracle/arc'; Property "archivelocation" updated for member "prim". DGMGRL> show database prim ArchiveLocation ArchiveLocation = '/home/oracle/arc' DGMGRL> edit database <対象DB> set property ArchiveLocation=‘<ディレクトリ>’;
  23. 構成情報の確認 (show コマンド) • show コマンドで構成情報の確認が可能 • 対象は以下の3つ • configuration

    • プライマリDB・スタンバイDBを含めた Broker 構成全体の情報 • database • プライマリDBまたはスタンバイDBの 個別のDBに関する情報 • Instance • プライマリDBまたはスタンバイDBの 各インスタンスに関する情報 • RAC 環境の場合にのみ使⽤ dgmgrl での操作単位 Copyright © 2024, Oracle and/or its affiliates 26 Configuration Database (Primary) Instance Instance Database (Standby) Instance Instance REDO 転送 操作対象 操作対象 操作対象 操作対象 操作対象
  24. dgmgrl での操作単位 Copyright © 2024, Oracle and/or its affiliates 27

    Configuration ※ Broker構成全体 [表示] show configuration [編集] edit configuration [作成] create configuration [削除] remove configuration [有効] enable configuration [無効] disable configuration Database ※ 各DB単位 [表示] show database [編集] edit database [検証] validate database [作成] add database [削除] remove database Instance ※ 各インスタンス単位 [表示] show instance [編集] edit instance [削除] remove instance 運 用 構 成
  25. show configuration (1) • 基本的な構成情報の出⼒ • 出⼒される情報 • configuration の名称

    • 保護モードの設定値 • 構成に含まれる DB 名とそのロール • FSFO の構成状態 • PDB レベルの構成状態(DGPDB) • その時点での構成のステータス dgmgrl での構成情報の確認 Copyright © 2024, Oracle and/or its affiliates 28 DGMGRL> show configuration DGMGRL> show configuration Configuration - dg23 Protection Mode: MaxPerformance Members: prim - Primary database stby - Physical standby database Data Guard for PDB: Enabled in SOURCE and TARGET role Configuration Status: SUCCESS (status updated 16 seconds ago)
  26. • PDB 単位で Data Guard 構成が可能 (21.7以降) • Broker を⽤いて構成

    • 参考情報 https://blogs.oracle.com/oracle4engineer/post/oracle-data-guard-per-pluggable-database-ja Copyright © 2024, Oracle and/or its affiliates 29 余談) DataGuard per Pluggable Database (DGPDB)の概要 dgmgrl での構成情報の確認 プライマリCDB スタンバイCDB プライマリCDB プライマリCDB REDO転送 REDO転送 プライマリPDB プライマリPDB スタンバイPDB スタンバイPDB Data Guard DGPDB
  27. show configuration (2) • 基本的な構成情報とラグ関連情報の出⼒ • 出⼒される情報 • トランスポート・ラグの情報 •

    適⽤ラグの情報 • show configuration で出⼒される情報 • (次のスライドの) verbose と lag は同時に指定可能 dgmgrl での構成情報の確認 Copyright © 2024, Oracle and/or its affiliates 30 DGMGRL> show configuration lag DGMGRL> show configuration lag Configuration - dg23 Protection Mode: MaxPerformance Members: prim - Primary database stby - Physical standby database Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 1 second ago) Data Guard for PDB: Enabled in SOURCE and TARGET role Configuration Status: SUCCESS (status updated 29 seconds ago)
  28. show configuration (3) • 基本的な構成情報と設定されているプロパティ情報の出⼒ • 出⼒される情報 • Configuration に対して設定されているプロパティの情報

    • show configuration で出⼒される情報 • コマンド実⾏時には健全性チェックの処理が実施される • RSM0 プロセスが毎分実⾏している処理と同等の処理 • RSM0 プロセスが停⽌していると、コマンド実施時に起動する • verbose と (前のスライドの) lag は同時に指定可能 dgmgrl での構成情報の確認 Copyright © 2024, Oracle and/or its affiliates 31 DGMGRL> show configuration verbose DGMGRL> show configuration verbose Configuration - dg23 Protection Mode: MaxPerformance Members: prim - Primary database stby - Physical standby database Properties: BystandersFollowRoleChange = 'ALL' CommunicationTimeout = '180' ConfigurationSimpleName = 'dg23' ConfigurationWideServiceName = 'prim_CFG’ : PrimaryLostWriteAction = 'CONTINUE' TraceLevel = 'USER' Data Guard for PDB: Enabled in SOURCE and TARGET role Fast-Start Failover: Disabled Configuration Status: SUCCESS
  29. show configuration (4) • 指定されたプロパティの設定値を出⼒ • 出⼒される情報 • 指定したプロパティに設定されている情報のみ •

    (注意) show configuration で出⼒される情報はこのコマンドでは出⼒されない dgmgrl での構成情報の確認 Copyright © 2024, Oracle and/or its affiliates 32 DGMGRL> show configuration <プロパティ名> (実行例) DGMGRL> show configuration FastStartFailoverThreshold FastStartFailoverThreshold = '30’
  30. show configuration (5) • 指定された DBがプライマリロールに変更された際の REDO 転送の構成を出⼒ • 出⼒される情報

    • プライマリDB名 • スタンバイDB名 • 指定した DB へのスイッチオーバー実施後の構成を確認可能 • 実際にスイッチオーバーが実⾏されるわけではない dgmgrl での構成情報の確認 Copyright © 2024, Oracle and/or its affiliates 33 DGMGRL> show configuration when primary is <スタンバイDB名> (実行例) DGMGRL> show configuration when primary is stby; Configuration when stby is primary - dg23 Members: stby - Primary database prim - Physical standby database
  31. show database (1) • 基本的なデータベース情報の出⼒ • 出⼒される情報 • データベース名 •

    ロールの情報 • 含まれるインスタンスの情報 • PDB レベルの構成状態(DGPDB) • ロール毎の情報 • プライマリの場合 • REDO転送の有効・無効 • REDO転送速度 • スタンバイの場合 • REDO適⽤の有効・無効 • トランスポート・ラグの情報 / 適⽤ラグの情報 / 平均適⽤速度 • リアルタイム問合せの有効・無効 dgmgrl での構成情報の確認 Copyright © 2024, Oracle and/or its affiliates 34 DGMGRL> show database <データベース名> DGMGRL> show database prim Database - prim Role: PRIMARY Intended State: TRANSPORT-ON Redo Rate: 104 Byte/s in 15 seconds (computed 14 seconds ago) PDB Data Guard Role: SOURCE and TARGET Data Guard Source PDB(s): 1 Data Guard Target PDB(s): 1 Instance(s): prim Database Status: SUCCESS
  32. show database (2) • 基本的なデータベース情報とプロパティ情報、ログファイル情報の出⼒ • 出⼒される情報 • データベースに対して設定されているプロパティの情報 •

    DB のアラートログのフルパス • Broker のログのフルパス • show database で出⼒される情報 • スタンバイ・ロールのみ出⼒される情報 • 現時点での REDO 適⽤の速度 • 最⼤の REDO 適⽤の速度 dgmgrl での構成情報の確認 Copyright © 2024, Oracle and/or its affiliates 35 DGMGRL> show database verbose <データベース名>
  33. show database (3) • 指定されたプロパティの設定値を出⼒ • 出⼒される情報 • 指定したプロパティに設定されている情報のみ •

    (注意) show database で出⼒される情報は出⼒されない dgmgrl での構成情報の確認 Copyright © 2024, Oracle and/or its affiliates 36 DGMGRL> show database <データベース名> <プロパティ名> (実行例) DGMGRL> show database prim LogShipping LogShipping = 'ON'
  34. show database (4) • 指定された初期化パラメータの設定値を出⼒ • 出⼒される情報 • 指定した初期化パラメータに設定されている情報のみ •

    (注意) show database で出⼒される情報は出⼒されない dgmgrl での構成情報の確認 Copyright © 2024, Oracle and/or its affiliates 37 DGMGRL> show database <データベース名> <パラメータ名> (実行例) DGMGRL> show database prim 'db_unique_name' DB_Unique_Name = 'prim'
  35. show instance (1) • 基本的なインスタンス情報の出⼒ • 出⼒される情報 • インスタンス名 dgmgrl

    での構成情報の確認 Copyright © 2024, Oracle and/or its affiliates 38 DGMGRL> show instance <インスタンス名>
  36. show instance (2) • 基本的なインスタンス情報とインスタンス構成の出⼒ • 出⼒される情報 • インスタンスに対して設定されているプロパティの情報 •

    DB のアラートログのフルパス • Broker のログのフルパス • show instance で出⼒される情報 dgmgrl での構成情報の確認 Copyright © 2024, Oracle and/or its affiliates 39 DGMGRL> show instance verbose <インスタンス名> DGMGRL> show instance verbose prim Instance 'prim' of database 'prim' PFILE: Properties: HostName = 'dgprim' SidName = '(monitor)' StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dgprim)(PORT =1521))(CONNECT_DATA=(SERVICE_NAME=prim_DGMGRL)(INSTANC E_NAME=prim)(SERVER=DEDICATED)))' TopWaitEvents = '(monitor)' Log file locations: Alert log : /opt/oracle/diag/rdbms/prim/prim/trace/alert_prim.log Data Guard Broker log : /opt/oracle/diag/rdbms/prim/prim/trace/drcprim.log Instance Status: SUCCESS
  37. show instance (3) • 指定されたプロパティの設定値を出⼒ • 出⼒される情報 • 指定したプロパティに設定されている情報のみ •

    (注意) show instance で出⼒される情報は出⼒されない dgmgrl での構成情報の確認 Copyright © 2024, Oracle and/or its affiliates 40 DGMGRL> show instance <インスタンス名> <プロパティ名> (実行例) DGMGRL> show instance prim StaticConnectIdentifier StaticConnectIdentifier = ‘(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dgprim)(PORT=1521))(CONNECT_DATA =(SERVICE_NAME=prim_DGMGRL)(INSTANCE_NAME=prim)(SERVER=DEDICATED)))'
  38. • 直前に実⾏したコマンドの再実⾏ • / で実⾏可能 • OS コマンドの実⾏ • HOST

    <OSコマンド> または ! <OSコマンド> で実⾏可能 (! の後にスペースが必要) dgmgrl コマンドの tips Copyright © 2024, Oracle and/or its affiliates 41 DGMGRL> / DGMGRL> ! date Executing operating system command(s):" date" Wed Mar 13 04:42:40 EDT 2024 DGMGRL> host date Executing operating system command(s):" date" Wed Mar 13 04:42:58 EDT 2024
  39. • 実⾏時間の表⽰ • set time on / off で時間情報の切り替えが可能 •

    設定情報の出⼒ • show all コマンドで出⼒可能 dgmgrl コマンドの tips Copyright © 2024, Oracle and/or its affiliates 42 DGMGRL> set time on 11:29:31 DGMGRL> set time off DGMGRL> DGMGRL> show all echo OFF observerconfigfile = observer.ora time OFF trace_level USER Database version is 23.2.0.0.0. Oracle SID is prim. Connected as SYSDBA to instance prim of prim.
  40. • 画⾯ログの取得 • spool <ファイル名> / spool off で画⾯ログのファイルへの出⼒が可能 •

    ファイルはカレントディレクトリに出⼒される (フルパスで指定すればそのパスに作成される) • spool だけ実⾏すると、spool 設定が実施されているか確認可能 dgmgrl コマンドの tips Copyright © 2024, Oracle and/or its affiliates 43 DGMGRL> spool not spooling currently DGMGRL> spool log.txt DGMGRL> show configuration; Configuration - dg23 Protection Mode: MaxPerformance
  41. • ファイルの実⾏ • @<ファイル名> で⽤意したファイルの実⾏が可能 • デフォルトでは実⾏コマンドが表⽰されないので set echo on

    を併せて実⾏がお薦め dgmgrl コマンドの tips Copyright © 2024, Oracle and/or its affiliates 44 DGMGRL> set echo on DGMGRL> @dgb.txt @dgb.txt show instance prim; ç set echo on 実行時のみ出力される Instance 'prim' of database 'prim' Instance Status: SUCCESS show instance stby; ç set echo on 実行時のみ出力される Instance 'stby' of database 'stby' Instance Status: SUCCESS
  42. • 構成ファイルの export/import • export 時は trace ファイルの出⼒ディレクトリに出⼒される • import

    時にも対象ファイルは trace ファイルの出⼒ディレクトリに配置する必要がある • export • import dgmgrl コマンドの tips Copyright © 2024, Oracle and/or its affiliates 45 DGMGRL> export configuration; または DGMGRL> export configuration to ‘<ファイル名>’; DGMGRL> import configuration from '<ファイル名>’; DGMGRL> enable coniguration;
  43. • マニュアルに記載のトラブルシューティングガイド • 障害調査時の基本⽅針 • ログの確認ポイント • デバッグ情報 • 問題毎の採取情報

    • トラブルシューティングで利⽤可能なコマンド この章の内容 Copyright © 2024, Oracle and/or its affiliates 47
  44. マニュアルに記載の情報 • 以下のマニュアルに、よくある問題についての記載あり • 具体的には以下のケースが説明されている • ORA-16596: データベースがOracle Data Guard

    Broker構成に含まれていない • プライマリ・データベースに累積されたREDOが⼀部のスタンバイ・データベースに送信されない場合 • スタンバイ・データベース上で多数のログ・ファイルが受信されるが適⽤されない場合 • 要求がタイムアウトしたか、Cloud Controlのパフォーマンスが低い場合 • プライマリ・データベースがフラッシュバックされる場合 • 不明なサービスのためにスタンバイが⾃動開始できない場合(ORA-12514) • スイッチオーバー操作時の問題のトラブルシューティング • フェイルオーバー操作時の問題のトラブルシューティング • オブザーバに関する問題のトラブルシューティング トラブルシューティング基礎 Copyright © 2024, Oracle and/or its affiliates 48 Oracle Data Guard Broker 23c 14 Troubleshooting Oracle Data Guard Oracle Data Guard Broker 19c/21c も同様のマニュアルがあります
  45. 基本アクション • DB や Broker に関するログを確認する • DB のアラートログ、トレースファイル、インシデントファイル •

    Broker のログ (drc<SID>.log) • dgmgrl の show コマンドから状況を把握する • dgmgrl の validate database コマンドで構成の妥当性をチェックする 障害調査の基本方針 Copyright © 2024, Oracle and/or its affiliates 49
  46. 基本情報 • Broker の構成情報 • プライマリDBに dgmgrl で接続して以下のコマンドの結果を取得する • 以下のドキュメントに含まれるDGDiagnostic.sh

    でも同等のコマンドの結果が取得されている • Doc ID 2328532.1 SRDC - Data Guard Broker 情報の収集 • Doc ID 2372286.1 SRDC - Data Guard の診断情報収集 障害調査で確認すべき情報 Copyright © 2024, Oracle and/or its affiliates 50 ・Broker 構成の情報 DGMGRL> show configuration; DGMGRL> show configuration verbose; ・データベース毎の情報 DGMGRL> show database verbose <PrimaryDB>; DGMGRL> show database verbose <StandbyDB>; ・インスタンス毎の情報 DGMGRL> show instance verbose <InstanceName1> on database <PrimaryDB>; DGMGRL> show instance verbose <InstanceName2> on database <PrimaryDB>; DGMGRL> show instance verbose <InstanceName1> on database <StandbyDB>; DGMGRL> show instance verbose <InstanceName2> on database <StandbyDB>;
  47. 基本情報 • SRDC • Doc ID 2328532.1 SRDC - Data

    Guard Broker 情報の収集 • 記載されているのは DGDiagnostic.sh のスクリプトの実⾏のみ • Windows の場合は、DGDiagnostic.sh 内で実⾏している作業内容が個別に記載されている • Doc ID 2372286.1 SRDC - Data Guard の診断情報収集 • 以下の 3 パターンの収集⽅法について記載 1. TFAを使⽤した⾃動収集 2. Unix ⽤スクリプトを使⽤した⼿動収集 Doc ID 2328532.1 と同様に DGDiagnostic.sh の実⾏ 3. Windows ⽤のスクリプトを使⽤した⼿動収集 srdc_DGPrimary_diag.sql の実⾏および Doc ID 2328532.1 と同様に個別の情報収集作業を実施 障害調査で確認すべき情報 Copyright © 2024, Oracle and/or its affiliates 51 $TFA_HOME/bin/tfactl diagcollect -srdc dbdataguard
  48. Broker のログ (drc<SID>.log) と GI 環境での注意点 • Broker の障害時には基本的にこのファイルとアラートログを⾒ていくことになる •

    問題発⽣時にはログ出⼒はあるが、正常時にはほとんど出⼒はない • 問題発⽣後に解消されたとしても、解消されたことが明確に出⼒はされない • 「エラーが出⼒されなくなっている」=「問題が解消されている」と考えることになる • GI 環境の場合、フェイルオーバーやスイッチオーバーに伴う DB インスタンスの再起動は Clusterware 側で実施するため、GI 側のログも確認が必要 • crsd.trc や crsd_oraagent_oracle.trc ログの確認ポイント Copyright © 2024, Oracle and/or its affiliates 52
  49. Broker のデバッグ情報 • 以下の2つの設定がある (詳細は次以降のスライド参照) • プロパティでの TraceLevel の設定 •

    set TRACE_LEVEL コマンドでの設定 より詳細な情報の取得 Copyright © 2024, Oracle and/or its affiliates 53 プロパティでの設定 set コマンドでの設定 設定対象 Broker 構成内の DB Broker のクライアント 情報の出力先 Broker のログファイル(drc<SID>.log) dgmgrl の実行端末 設定可能な値 USER, SUPPORT NONE, USER, SUPPORT デフォルト値 USER USER 情報取得ケース Broker のログにエラーが発生している ケース dgmgrl から実行している コマンドに関連する問題
  50. Broker のデバッグ情報 • プロパティでの TraceLevel の設定 • USER (デフォルト) /

    SUPPORT の設定が可能 • 設定値の確認 • SUPPORT への設定変更 • デフォルト(USER) への設定変更 • 設定対象は Broker 構成内のすべてのデータベース • Broker のログ(drc<SID>.log) の出⼒量が増加する より詳細な情報の取得 Copyright © 2024, Oracle and/or its affiliates 54 DGMGRL> edit configuration set property TraceLevel='SUPPORT'; DGMGRL> show configuration TraceLevel; DGMGRL> edit configuration reset property TraceLevel;
  51. Broker のデバッグ情報 • set TRACE_LEVEL コマンドでの設定 • USER (デフォルト) /

    SUPPORT / NONE の設定が可能 • 設定値の確認 • SUPPORT への設定変更 • デフォルト(USER) への設定変更 • 設定対象は Broker のクライアント • dgmgrl コマンドの実⾏画⾯に追加情報が出⼒される より詳細な情報の取得 Copyright © 2024, Oracle and/or its affiliates 55 DGMGRL> set TRACE_LEVEL SUPPORT; DGMGRL> show all; DGMGRL> set TRACE_LEVEL USER;
  52. ログ転送関連の事象 • ログ転送関連の確認コマンド • ログ転送が有効化されているかを確認可能 • エラーが発⽣している場合はそのエラーの確認が可能 • Broker の構成ファイル内の設定と実際に設定されている

    LAD の設定の差異を確認可能 • 設定が異なっている場合の出⼒例 • Broker では LogXptMode に ASYNC が設定されているが、LAD では SYNC NOAFFIRM が設定されていることを⽰している 問題毎の Broker での採取情報 Copyright © 2024, Oracle and/or its affiliates 56 DGMGRL> show database <PrimaryDB> LogXptstatus; DGMGRL> show database <PrimaryDB> InconsistentLogXptProps; DGMGRL> show database prim InconsistentLogXptProps; INCONSISTENT LOG TRANSPORT PROPERTIES INSTANCE_NAME STANDBY_NAME PROPERTY_NAME MEMORY_VALUE BROKER_VALUE prim stby LogXptMode (LGWR SYNC NOAFFIRM) ASYNC (= LGWR ASYNC NOAFFIRM)
  53. 転送・適用のラグに関する事象 • LAG の確認⽅法(1) • 指定したスタンバイDBに対する転送ラグ・適⽤ラグ の発⽣状況を確認可能。 • 実⾏例 問題毎の

    Broker での採取情報 Copyright © 2024, Oracle and/or its affiliates 57 DGMGRL> show database <StandbyDB>; DGMGRL> show database stby show database stby Database - stby Role: PHYSICAL STANDBY Intended State: APPLY-ON PDB Data Guard Role: SOURCE and TARGET Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 1 second ago) Average Apply Rate: 1.00 KByte/s Real Time Query: OFF Data Guard Source PDB(s): 1 Data Guard Target PDB(s): 1 Instance(s): stby Database Status: SUCCESS プライマリ スタンバイ1 Data Guard 構成 スタンバイ2 Lag
  54. 転送・適用のラグに関する事象 • LAG の確認⽅法(2) • Broker 構成全体での転送ラグ・適⽤ラグの 発⽣状況を確認可能。 • 実⾏例

    問題毎の Broker での採取情報 Copyright © 2024, Oracle and/or its affiliates 58 DGMGRL> show configuration lag; DGMGRL> show configuration lag; Configuration - dg19c Protection Mode: MaxPerformance Members: dg19p - Primary database dg19s - Physical standby database Transport Lag: 0 seconds (computed 0 seconds ago) Apply Lag: 0 seconds (computed 0 seconds ago) Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 3 seconds ago) プライマリ スタンバイ1 Data Guard 構成 スタンバイ2 Lag
  55. Broker 構成のチェック • Broker 構成としての問題点の有無をチェック可能 • 実⾏時には dgmgrl では /

    での接続ではなく、SYS/SYSDG のユーザー名指定で実⾏しておく ※ / での接続では、static connect identifier のチェックが失敗します トラブルシューティングで利用可能なコマンド Copyright © 2024, Oracle and/or its affiliates 59 DGMGRL> validate database <対象のDB>; または DGMGRL> validate database verbose <対象のDB>;
  56. spfile の設定差異のチェック • スタンバイDBの spfile に設定されている値がプライマリDBと同⼀かどうかのチェックが可能 • 実⾏時には dgmgrl では

    / での接続ではなく、SYS/SYSDG のユーザー名指定で実⾏しておく ※ / での接続では失敗します • 実⾏例 (以下の場合は audit_file_dest と dispatchers の設定値が異なる) トラブルシューティングで利用可能なコマンド Copyright © 2024, Oracle and/or its affiliates 60 DGMGRL> validate database <StandbyDB> spfile; DGMGRL> validate database stby spfile; Connecting to “prim". Connected to “prim" Connecting to “stby". Connected to “stby" Parameter settings with different values: audit_file_dest: prim (PRIMARY) : /opt/oracle/admin/prim/adump stby : /opt/oracle/admin/stby/adump dispatchers: prim (PRIMARY) : (PROTOCOL=TCP) (SERVICE=primXDB) stby : (PROTOCOL=TCP) (SERVICE=stbyXDB)
  57. Broker 構成の再作成 • 以下のようなケースでは Broker 構成の再作成も対処として検討 • DB 側は問題なく稼働しているが Broker

    だけエラーが発⽣している • DGMGRL からのコマンドがエラーで実⾏できない • Broker 構成を再作成しても DB 側への影響はない • 参考⼿順 • Doc ID 2873459.1 Dataguard Broker構成を再作成する⼿順 • Doc ID 2577991.1 19c How to Export and Import Data Guard Broker Configuration トラブルシューティング関連の参考情報 Copyright © 2024, Oracle and/or its affiliates 61
  58. 2024/03/28 Oracle Database Technology Night#77【詳説】Oracle Data Guard Broker 後日回答とさせていただいたご質問のみ掲載しています Q1:

    log_archive_dest_nパラメータのvalid_for属性を変更したい場合、対応するブローカーのプロパティは 何になりますでしょうか。 A1: valid_for属性に直接作用するブローカのプロパティはございません。 Q2:ブローカーのログファイルはADRの管理対象でしょうか。 A2:実機を確認したところ、purge の対象には含まれずadrci からの参照もできないため、管理対象外と みえます。 Q3: drc<SID>.log ←このdrcは何の略か教えてください。直感的にぱっと思い出せるようにしたいと思っ たため。 A3: Disaster Recovery Center (DRC) の略です。 Q&A Copyright © 2024, Oracle and/or its affiliates 63