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の前半パートが元の資料です。
・Oracle Data Guard Broker概要
・Oracle Data Guard Broker詳細
- ブローカ構成
- 操作の簡易性
- 構成の有効化・無効化
・19cから23cまでの変更点まとめ

後半パートの資料はこちら
https://speakerdeck.com/oracle4engineer/dataguard-broke-management-troubleshooting

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

oracle4engineer

March 28, 2024
Tweet

Video

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. Copyright © 2024, Oracle and/or its affiliates 2 この資料は、Oracle Data

    Guard Brokerに関する技術説明資料です • Oracle Database ⻑期サポート・リリースにあたる、19cならびに23cの利⽤を想定した内容としています • (2024/03時点)DG PDBの管理⽅法の詳細は含んでいません。今後アップデート予定です • 前提となるOracle Data Guardに関しては、下記の資料をご参照ください • Oracle DBaseCamp「⾼可⽤性システム構築: Oracle Data Guard基本編」 資料/動画 • Oracle Active Data Guardと ストレージのリモート・ミラー化 の⽐較 資料 (最新版(英語)) • Oracle Data Guardを含め、Oracle Databaseでの⾼可⽤性については、下記のサイト・資料をご参照ください • ⾼可⽤性概要ベストプラクティス マニュアル はじめに
  2. 1. Oracle Data Guard Broker 概要 2. Oracle Data Guard

    Broker 詳細 • ブローカ構成 • 操作の簡易性 3. まとめ Agenda Copyright © 2024, Oracle and/or its affiliates 3
  3. Copyright © 2024, Oracle and/or its affiliates 5 データベースの停⽌時間の与える影響 35

    万ドル 1時間あたりの停⽌時 間の平均コスト 1000 万ドル データセンターの計画 外停⽌や災害の平均 コスト 87 時間 年間平均停⽌時間 91% 過去24か⽉以内に データセンターの 計画外停⽌を経験した 企業の割合
  4. Oracle Database⾃⾝が持つレプリケーション機能でデータ保護・可⽤性の提供 + 適切なROIを実現 Oracle Active Data Guard / Data

    Guard プライマリDB スタンバイDB 同期 破損ブロックの ⾃動修復(※) レポーティング(※) バックアップ(※) ※参照処理や⾼速増分バックアップをする場合は Active Data Guardオプションが必要 データ保護 切り替え リソースの有効活⽤ スイッチオーバー フェイルオーバー REDO転送によって⾃動で同期がとられ ることで、データーベースを障害およびデー タ破損から保護 計画/計画外停⽌時に切り替えられるこ とで、ダウンタイムを縮⼩し、業務を継続 レポーティング、テストやバックアップ⽤途 でスタンバイ・データベースを活⽤可能 Copyright © 2024, Oracle and/or its affiliates 6
  5. こんな理由で、切り替えのハードルが⾼いと思っていませんか︖ 切り替えの課題 Copyright © 2024, Oracle and/or its affiliates 7

    複数の環境の⼀括管理ができ、 障害時の切り替えが簡単で定期的な切り替えを⾏うことが理想 複数の環境があるので ⼿順が難しい(怖い) 確認する情報(画⾯) が多くて⼤変 切り替えの 判断・作業に 時間がかかる いざという時に 切り替えられない、 切り替えに失敗する。。。 AP層含めた切り替えを 実施したことがない
  6. Oracle Data Guard Broker概要 • Oracle Data Guard 構成の管理と監視を、⾃動化・集中化する管理フレームワーク •

    Data Guard構成内の複数データベースを、まとめて管理・監視できるように論理的にグループ化 • 複雑な⼿順を踏まずに、Data Guard環境への操作をシンプルに実⾏可能 • ⾃動フェイルオーバー(ファスト・スタート・フェイルオーバー)の利⽤や、アプリケーションへの通知(FAN)等のOracle Clusterwareと の連携による切り替え作業の⾃動化が可能 • 追加ライセンスは不要 Oracle Data Guard 環境の管理を簡単に Copyright © 2024, Oracle and/or its affiliates 8 プライマリ スタンバイ Data Guard 構成 構成確認 同期状況 切り替え 構成変更 Data Guard Broker DGMGRL> Enterprise Manager Cloud Control Oracle Cloud Infrastructure の Database Servicesでも利⽤
  7. Oracle Data Guard Brokerのメリット たとえば・・・ Oracle Data Guard 環境の管理を簡単に Copyright

    © 2024, Oracle and/or its affiliates 9 管理の集中化 操作の簡略化 健全性監視と⾃動化 ブローカが ない時 ブローカが ある時 Data Guard構成内の 各データベースに 接続して管理が必要 Data Guard Broker管理 ユーティリティ(もしくはEMCC) に接続して、Data Guard 構成全体の⼀括管理が可能 Data Guard構成内の 各データベースの状況確認をして、 それぞれで必要な⼿順を実⾏ プライマリ・スタンバイどちらに アクセスしても、1コマンドでData Guard構成全体への操作が可能。 スタンバイ起動時に⾃動でREDO 適⽤開始 Data Guard構成内の 各データベースの情報・状態を監視し、 健全性判断・対応をユーザーが実施 Data Guard構成全体の 健全性を⾃動で継続的に監視。 ⾃動でのフェイルオーバーや 切り替え時のアプリ層への 通知機能もあり
  8. 余談) よくある誤ったイメージ Oracle Data Guard Broker Copyright © 2024, Oracle

    and/or its affiliates 10 Data Guard Brokerを使う(有効化)すると、 ⾃動でフェイルオーバーされるのは怖いので有 効化したくないです。。 Data Guard Brokerを有効にしても、 ファスト・スタート・フェイルオーバー(FSFO)による ⾃動フェイルオーバーは有効にはなりません Data Guard Brokerは⾃動フェイルオーバーの前提条件ですが、 ⾃動フェイルオーバーはデフォルト無効です ①構築・起動が必要 ②FSFO有効化が必要 FSFO有効時もフェイルオーバーの 実⾏⽅法を選択可能 • ⼿動切り替え • 監視専⽤モード • ⾃動フェイルオーバー
  9. Oracle Data Guard Brokerが有効な環境では、以下のいずれかのインターフェースを使⽤してOracle Data Guard環 境の監視・管理が可能 • Oracle Data

    Guard コマンドライン・インターフェース(DGMGRL) • Oracle Enterprise Manager Cloud Control (EMCC) • Oracle Cloud Infrastructure(OCI) Database Servicesの管理ツール(コンソール、API、CLI等) 管理⽅法 Copyright © 2024, Oracle and/or its affiliates 12 Data Guard Broker 有効 Data Guard Broker 無効 DGMGRL EMCC/OCI SQL*Plus スタンバイ・データベースの 作成 ⼿動で実⾏ 簡単に作成可能(GUI) ⼿動で実⾏ 監視・管理 ⼀元管理(CUI) ⼀元管理(GUI) データベース毎に管理 ロール切り替えや変換など 1コマンド(CUI) 1クリック(GUI) 関連データベース毎に必要な作 業を順を追って実⾏ 本⽇は主にこの内容
  10. DGMGRLコマンドライン・インターフェース • DGMGRLコマンドライン・インターフェースでブローカ構成の管理・操作 • ローカル・システム上やリモート・システム上のデータベースへ接続可能 • 使⽤時の注意事項 • DGMGRLコマンドを利⽤してデータベース管理をする際、SYSDGもしくは SYSDBA権限が必要

    • CDB環境の場合、ブローカ・アクションはすべてルート・レベルで実⾏。CDB_DBA権限が必要 • DGMGRLで指定する⽂字は、⼆重引⽤符(“)または⼀重引⽤符(‘)で囲まれていない場合、⼩⽂字として解釈 ブローカの操作 Copyright © 2024, Oracle and/or its affiliates 13 $ dgmgrl DGMGRL for Linux: Release 23.0.0.0.0 - Production on Thu Mar 21 11:07:53 2024 Version 23.3.0.23.09 Copyright (c) 1982, 2023, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. DGMGRL>
  11. Data Guard Broker無効(未使⽤)時のData Guard構成 ブローカ構成 Copyright © 2024, Oracle and/or

    its affiliates 14 プライマリ スタンバイ Data Guard 構成 SQL> REDOログ/ アーカイブログ REDOログ/ アーカイブログ REDO転送 管理・操作 ・環境(DBインスタンス)ごとに管理 ・各DBインスタンスに接続して操作が必要 SQL>
  12. スタンバイ Data Guard 構成 DMON DMON REDOログ/ アーカイブログ REDOログ/ アーカイブログ

    REDO転送 構成ファイル 構成ファイル プライマリ Data Guard Broker有効時のData Guard構成 ブローカ構成 Copyright © 2024, Oracle and/or its affiliates 15 DGMGRL> 構成に含められるメンバー 最⼤253メンバー ・1つのプライマリ・データベース ・スタンバイ・データベース ・遠隔同期インスタンス(Far Sync) ・Zero Data Loss Recovery Appliance 管理・操作 ・ブローカから集約管理 ・設定・変更等はブローカから⼀括して実施 DBMS_DG PL/SQL API • Enterprise Manager Cloud Control • Oracle Cloud Infrastructure UI/API
  13. • パラメータ設定値に基づいて⾃動作成 • パラメータ • DG_BROKER_CONFIG_FILE1 • DG_BROKER_CONFIG_FILE2 • ブローカ無効時のみ、パラメータを変更可能

    • データベースごとに2つずつ保持 • Real Application Clustersの場合、全てのインスタンスで共有される同⼀パスの場所を指定(ASMやNFSなど) • デフォルトは $ORACLE_HOME/dbs に指定されているため、設定変更が必要 • 構成ファイルのexport/importが可能 • traceディレクトリ内にテキストファイルとして出⼒ ブローカ構成の構成ファイル Copyright © 2024, Oracle and/or its affiliates 16
  14. 構成情報確認コマンド : show configuration [verbose] ブローカ構成 Copyright © 2024, Oracle

    and/or its affiliates 17 DGMGRL> show configuration verbose Configuration - fsc Protection Mode: MaxPerformance Members: DB1033_hnx_kix - Primary database DB1033_vrr_kix - Physical standby database Properties: BystandersFollowRoleChange = 'ALL' CommunicationTimeout = '180' ConfigurationSimpleName = 'pri_tzn_kix_pri_vs5_kix' ConfigurationWideServiceName = 'PRI_CFG' DrainTimeout = '0' ExternalDestination1 = '' ExternalDestination2 = '' FastStartFailoverAutoReinstate = 'TRUE' FastStartFailoverLagGraceTime = '0' FastStartFailoverLagLimit = '30’ Fast-Start Failover: Disabled Configuration Status: SUCCESS ・・・ DGMGRL> show configuration Configuration - fsc Protection Mode: MaxPerformance Members: DB1033_hnx_kix - Primary database DB1033_vrr_kix - Physical standby database Warning: ORA-16853: apply lag has exceeded specified threshold Configuration Status: WARNING (status updated 14 seconds ago) 構成内に問題を検知している場合の表⽰例 適⽤ラグがApplyLagThreshold(ス タンバイ・ロールのプロパティ)の設定 値を上回っているメッセージ Verbose句をつけると プロパティ表⽰
  15. ブローカ構成が有効な環境に対する操作は、基本的にブローカで⾏ってください ブローカは、構成内のメンバー間のData Guard関連設定を管理し、定期的に健全性を監視 • ブローカが有効な環境では、ロール変換はブローカを介して(DGMGRLもしくは EMCC/OCIツール)実⾏ • プロパティの設定値に基づき、健全性を監視 • ブローカで設定されたプロパティの内容は、構成内のメンバー(データベース)に反映

    • 構成内のプロパティと関連する初期化パラメータの内容を変更したい場合、DGMGRLもしくはEMCC/OCIツールで関連プロパティを変更 ブローカ構成の管理 Copyright © 2024, Oracle and/or its affiliates 18 • データ保護モード • ロール • REDO転送サービス・適⽤サービス • プロパティ • 構成全体 • データベース全体 • インスタンス固有 ブローカ構成が有効な環境に対する操作は、基本的にブローカで実施することが推奨 参考) Doc ID 783445.1: Data Guard Broker and SQL*Plus
  16. 設定関連 • ブローカ構成のプロパティに含まれる初期化パラメータの内容を変更したい場合、DGMGRLで関連プロパティを変更する必要がある • ブローカでのプロパティ変更時は初期化パラメータに反映される • 初期化パラメータを直接変更した場合、ブローカ構成のプロパティには反映されないため、状態が正常でない(不⼀致)と判断さ れORA-16714、 ORA-16792等で構成もしくはデータベースがERROR状態となる。ERROR状態になると、操作内容によっては 解消するまで操作不可となる

    • 初期化パラメータを直接変更したい場合、ブローカ構成を無効・削除してから変更し、再度構成作成・有効化が必要 • 19c以降では、データベース初期化パラメータに関連するプロパティ(log_archive_dest_nおよびlog_archive_dest_state_nを 除く)は、ブローカ構成ファイルに格納されないように変更 • ブローカ構成が有効な環境で、ブローカを介さずにSQL*Plusからロール変換を⾏った場合、ブローカ構成を再構成する必要がある • ブローカの認識している管理情報と実際の環境情報が不⼀致な状態となるため 参考 Oracle Data Guard Broker有効時の注意事項 Copyright © 2024, Oracle and/or its affiliates 19 参考) Doc ID 783445.1: Data Guard Broker and SQL*Plus
  17. Configuration Database (Standby) Database (Primary) シングル環境の場合 ブローカ構成固有の起動プロセス Copyright © 2024,

    Oracle and/or its affiliates 20 Instance RSM0 Health Check DMON NSVn DRCX Instance DRCX DMON RSM0 Health Check NSVn 構成ファイル 1 2 構成ファイル 1 2
  18. Configuration Database (Standby) Database (Primary) RAC 環境の場合 ブローカ構成固有の起動プロセス Copyright ©

    2024, Oracle and/or its affiliates 21 Instance#1 RSM0 Health Check Instance#2 DMON NSVn Health Check INSV DRCX DMON RSM0 INSV Instance#1 DRCX DRCX NSVn INSV DMON RSM0 Health Check Instance#2 DMON RSM0 DRCX INSV NSVn Health Check NSVn 構成ファイル 1 2 構成ファイル 1 2
  19. バックグラウンド・プロセス詳細 ブローカ構成での起動プロセス Copyright © 2024, Oracle and/or its affiliates 22

    プロセス名 役割 起動タイミング DMON Broker 構成内の全てのDBの健全性のチェックと構成ファイルの更新 (1分間 隔) ブローカ起動時 (DG_BROKER_START=TRUE) RSM0 DMONに代わり、管理タスクの監視(SQL)を実⾏ ブローカ構成有効時 NSVn Data Guard環境のDB間でブローカ・ネットワーク通信を実⾏ ブローカ構成有効時 INSV RAC環境内のインスタンス間でのブローカ通信を実⾏ ブローカ起動時 (DG_BROKER_START=TRUE) FSFP プライマリとターゲット・スタンバイ間のファスト・スタート・フェイルオーバー状態を 保持する FSFO有効時
  20. V$DATAGUARD_PROCESS Data Guard関連のプロセスの情報を確認 ブローカ構成での起動プロセス Copyright © 2024, Oracle and/or its

    affiliates 23 SQL> select name,pid,role,action,THREAD#,SEQUENCE# from V$DATAGUARD_PROCESS; NAME PID ROLE ACTION THREAD# SEQUENCE# ----- --------------- ------------------------------- -------------------- ---------- ---------- LGWR 17093 log writer IDLE 0 0 TMON 17180 redo transport monitor IDLE 0 0 TT00 17282 gap manager IDLE 0 0 TT01 17284 redo transport timer IDLE 0 0 ARC0 17286 archive redo IDLE 0 0 ARC1 17288 archive redo IDLE 0 0 ... ARC7 17300 archive redo IDLE 0 0 DMON 17113 broker monitor IDLE 0 0 INSV 17398 broker instance worker IDLE 0 0 NSV0 17424 broker net worker IDLE 0 0 RSM0 17520 broker worker IDLE 0 0 rfs 17516 RFS ping IDLE 1 247 rfs 17518 RFS async RECEIVING 1 247 rfs 17532 RFS archive IDLE 0 0 MRP0 18527 managed recovery PSBY BG IDLE 0 0 PR00 18741 recovery logmerger APPLYING_LOG 1 247 .. PR08 18763 recovery applier APPLYING_LOG 0 0 V$MANAGED_STANDBYビューは12.2.0.1以降は⾮推奨。代わりにV$DATAGUARD_PROCESSを利⽤ ブローカ構成 固有のプロセス
  21. Oracle Data Guard Broker関連のビュー 名称 ⽤途 V$DG_BROKER_CONFIG ブローカ構成全体のプロパティを監視 V$DG_BROKER_PROPERTY (23c-)

    ブローカ構成全体のより詳細なプロパティを監視 V$DG_BROKER_ROLE_CHANGE(23c-) 過去のロール変更に関する情報(10レコード分) V$DATAGUARD_PROCESS Data Guard関連のプロセスの情報 ブローカ構成 Copyright © 2024, Oracle and/or its affiliates 24 名称 ⽤途 V$FAST_START_FAILOVER_CONFIG ファスト・スタート・フェイルオーバー構成に関する情報 V$FS_FAILOVER_STATS 23cから⾮推奨。V$DG_BROKER_ROLE_CHANGEを参照 V$FS_FAILOVER_OBSERVERS オブザーバに関する情報 V$FS_OBSERVER_HISTOGRAM オブザーバとプライマリ・データベースの通信(ping)の成功に関する統計情報 ファスト・スタート・フェイルオーバー関連
  22. V$DG_BROKER_ROLE_CHANGE ロール変換の履歴確認 Copyright © 2024, Oracle and/or its affiliates 25

    SQL> select * from V$DG_BROKER_ROLE_CHANGE; EVENT STANDBY_TYPE OLD_PRIMARY NEW_PRIMARY FS_FAILOVER_REASON BEGIN_TIME END_TIME ------------------- ------------ ----------- ----------- -------------------- -------------------- -------------------- Failover Physical mydb1 mydb1b Manual Failover 30-SEP-2022 19:01:14 30-SEP-2022 19:01:35 Switchover Physical mydb1b mydb1 30-SEP-2022 19:04:53 30-SEP-2022 19:05:15 Switchover Physical mydb1 mydb1b 30-SEP-2022 20:51:38 30-SEP-2022 20:52:03 Failover Physical mydb1b mydb1 Manual Failover 30-SEP-2022 20:52:46 30-SEP-2022 20:53:04 Switchover Physical mydb1 mydb1c 30-SEP-2022 19:53:14 30-SEP-2022 19:54:14 Switchover Physical mydb1c mydb1 30-SEP-2022 20:03:14 30-SEP-2022 20:04:04 Switchover Logical mydb1 mydb1d 30-SEP-2022 20:24:46 30-SEP-2022 20:26:32 Switchover Logical mydb1d mydb1 30-SEP-2022 20:35:27 30-SEP-2022 20:35:48 Fast-Start Failover Physical mydb1 mydb1b Primary Disconnected 30-SEP-2022 20:13:51 30-SEP-2022 20:14:53 過去10件分の履歴を確認可能 スイッチ・オーバー フェイルオーバー TRACK TRACK NEW IN 23c
  23. ロール変換 スイッチオーバー • メンテナンスなど、主に計画停⽌に⾏うロール変換 • 各データベースが正常にオープン(またはマウント)さ れ、データが完全に同期をとれている場合に実施 可能 • 切り替え後もData

    Guard構成(スタンバイがある 状態)のまま、継続運⽤やロールを戻す(スイッチ バック)ことが可能 フェイルオーバー • 障害発⽣時など、主に計画外停⽌で⾏うロール変換 • プライマリ・データベースが停⽌した状態など • 最⼤保護モード以外はデータ損失可能性あり • 旧プライマリは、新スタンバイとして同期がとれない 場合、スタンバイ・データベースとして復旧もしくは 再作成が必要 Oracle Data Guardの切り替えの種類 Copyright © 2024, Oracle and/or its affiliates 27 プライマリ → スタンバイ スタンバイ → プライマリ プライマリ スタンバイ → プライマリ
  24. ブローカを使う場合と使わない場合 Oracle Data Guard Brokerの操作の簡易性 Copyright © 2024, Oracle and/or

    its affiliates 28 接続先 コマンド プライマリ スイッチオーバーが可能な状態かを確認 SQL> ALTER DATABASE SWITCHOVER TO <DB名> VERIFY; プライマリ スイッチオーバーを実⾏ SQL> ALTER DATABASE SWITCHOVER TO <DB名>; プライマリと スタンバイ ロール変換がされているかを確認 SQL> SELECT DATABASE_ROLE FROM V$DATABASE; スタンバイ (新プライマリ) 新プライマリをオープン SQL> ALTER DATABASE OPEN; プライマリ (新スタンバイ) 新スタンバイをマウントorオープン(Active Data Guardの場合) SQL> STARTUP [|MOUNT]; プライマリ (新スタンバイ) 新スタンバイでREDO適⽤を開始 SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT; DGMGRL> SWITCHOVER TO <DB名>; ブローカを使うと1コマンドで可能 スイッチオーバー(フィジカル・スタンバイで、下記実⾏中エラーなしの場合) ブローカを使わない場合 REDO適⽤も⾃動で開始
  25. 実⾏はSWITCHOVERコマンドのみで、Oracle Clusterwareやブローカによって関連作業の⾃動化が可能 ブローカでのスイッチオーバー時の作業⾃動化 Copyright © 2024, Oracle and/or its affiliates

    29 DGMGRL> SWITCHOVER TO <DB名> [WAIT n]; Clusterware Connection Pool アプリケーション・サーバー FANイベント service Clusterware DMON FANイベント DMON ① (Clusterware管理)DrainTimeoutプロパティ or WAITオプションを指定した場合 1. ブローカからClusterwareにサービス停⽌するよう通知 2. WAITオプションの指定値(指定しなければサービスの drain_timeout値)に従って、全てのセッションが終了するか 指定値(時間)が経過するまで待機 ② プライマリをスタンバイへ変換 • Clusterware(またはブローカ)がインスタンス再起動 • ブローカによって、REDO適⽤開始(MRPの⾃動起動) • Clusterwareでロール・ベースのサービス起動・停⽌。FAN イベント発⾏ ③スタンバイをプライマリへ変換 • Clusterware(またはブローカ)がOPENモードへ変換。サービス構成に基づきPDBをOPEN。(ブローカ が⾏う場合は、全PDBオープン)。REDO転送開始 • Clusterwareによってロール・ベースのサービス起動・停⽌。FANイベント発⾏ • 旧プライマリでブロック・チェンジ・トラッキングが有効で旧スタンバイがMOUNTだった場合、ブロック・ チェンジ・トラッキングを有効化 WAITオプションは23cでは⾮推奨。 サービスのDrainTimeoutプロパティが推奨 service プライマリ →スタンバイ スタンバイ →プライマリ スイッチオーバー実⾏ ※Clusterwareの管理ではない環境ではブローカがインスタンス操作をするために、ユーザー/パスワード指定でデータベースに接続する
  26. Data Guardのロール変換とサービス起動を連動させることが可能 Oracle Data Guard Brokerとロール・ベースのサービス起動 Copyright © 2024, Oracle

    and/or its affiliates 30 Clusterware DMON DMON プライマリ →スタンバイ スタンバイ →プライマリ service service service service FANイベント 送出 Connection Pool プライマリ・データベースのREAD WRITE⽤サービス srvctl add service ... -role primary スタンバイ・データベースのREAD ONLY⽤サービス srvctl add service ... -role physical_standby ロール変換 サービス管理 Clusterware 1. ブローカでData Guardのロール変換操作。ブローカからClusterwareに通知 2. ロール・ベースのサービス起動 3. FAN UPイベント送出 DGMGRL> SWITCHOVER TO <DB名>; DGMGRL> FAILOVER TO <DB名>;
  27. 注意点 • 新プライマリ・データベース(旧フィジカル・スタンバイ) は再起動、 • Oracle Clusterware管理対象のデータベースの場合、Oracle Clusterwareによって再起動、サービス構成に基づき PDBをオープン •

    Oracle Clusterware管理対象でないデータベースの場合、ブローカによって再起動、全てのPDBをオープン • 注意点: DGMGRLの接続時に、username/passwordを指定してデータベースに接続すること (MOS ID 740327.1) • オペレーティング・システム認証を使⽤してデータベース接続した場合(” / “ 利⽤)、DGMGRLはリモートでは⾃⼰認証できないため、旧プ ライマリ・データベースを⾃動的に再起動できない 参考 Oracle Data Guard Brokerによるスイッチ・オーバー実⾏ Copyright © 2024, Oracle and/or its affiliates 31
  28. ブローカを使う場合と使わない場合 フェイルオーバー(フィジカル・スタンバイで、下記実⾏中エラーなしの場合) Oracle Data Guard Brokerの操作の簡易性 Copyright © 2024, Oracle

    and/or its affiliates 32 接続先 コマンド プライマリ プアイマリをマウント可能であればマウントし、REDOログのギャップを解決 (プライマリから未送信REDOのフラッシュ、スタンバイでREDOログ確認) SQL> ALTER DATABASE MOUNT; SQL> ALTER SYSTEM FLUSH REDO TO <DB名>; スタンバイ REDO適⽤の停⽌ SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; スタンバイ スタンバイをプライマリにロール切り替え SQL> ALTER DATABASE FAILOVER TO <DB名>; スタンバイ (新プライマリ) 新しいプライマリをオープン SQL> ALTER DATABASE OPEN; DGMGRL> FAILOVER TO <DB名>; ブローカを使わない場合 ブローカを使うと1コマンドで可能
  29. Oracle Clusterwareやブローカによって、ロール切り替え時の作業を⾃動化可能 フェイルオーバー時の作業⾃動化 Copyright © 2024, Oracle and/or its affiliates

    33 DGMGRL> FAILOVER TO <DB名>; ① 完全フェイルオーバーの場合(推奨) • フェイルオーバー実⾏前に未適⽤のREDOを全て適⽤し、REDO適⽤停⽌ • ターゲットがスナップショット・スタンバイの場合、フィジカル・スタンバイに変換さ れる 即時フェイルオーバーの場合(IMMEDIATEオプション) • 未適⽤のREDOの適⽤はせずに、即時REDO適⽤停⽌ ②スタンバイをプライマリへ変換 • 保護モードが最⼤保護モードだった場合は、最⼤パフォーマンスモードに変更 される。必要に応じて後で変更 • Clusterware(またはブローカ)がインスタンスを読み取り・書き込みモードで OPEN。フェイルオーバー実⾏前に停⽌されているRACインスタンスは全て起 動される。サービス構成に基づきPDBをOPEN。(ブローカが⾏う場合は、全 PDBオープン) • 他にもスタンバイ・データベースがメンバーにいる場合、無効化の必要性有無 を判断し、有効なメンバーにはREDO転送開始 • Clusterwareによってロール・ベースのサービス停⽌・起動。FANイベント発⾏ フェイルオーバー実⾏ Clusterware Connection Pool アプリケーション・サーバー FANイベント service Clusterware DMON FANイベント DMON service プライマリ →停⽌ スタンバイ →プライマリ
  30. Flashback Databaseを利⽤した旧プライマリのスタンバイ化 • フェイルオーバー後、旧プライマリはData Guard構成 から外れるため、スタンバイがない状態 • フェイルオーバーは、主に旧プライマリが利⽤できない状 態(壊れた状態)の際にスタンバイに切り替えがされるため、 旧プライマリはData

    Guard構成からはずれる • この状態で別の障害が発⽣するとデータロスや業務停 ⽌の可能性があるため、迅速な復旧が望ましい • 複数スタンバイがある構成であれば、別のスタンバイへの REDO転送・適⽤が継続 • Flashback Databaseを利⽤した構成の再編成 • Flashback Databaseが有効で必要なフラッシュバック・ ログがある場合、短時間で復旧可能 • ブローカのREINSTATE DATABASEコマンドで復旧する 場合、どこまで戻すか(SCN)も⾃動判別 旧プライマリの回復 Copyright © 2024, Oracle and/or its affiliates 34 プライマリ ①プライマリで障害発⽣、フェイルオーバー ②旧プライマリをFlashback Databaseで障害発⽣前の 時点に復旧 ③復旧後、スタンバイとしてData Guard構成へ追加。 過去時点に戻った分のデータ差分同期 同期 ブローカで1コマンドで実⾏ 切り替え スタンバイ →プライマリ 旧プライマリ プライマリ スタンバイ プライマリ
  31. 指定した時刻までデータベースの状態を戻す Flashback Database 0. Flashback Databaseを有効にすると、UNDOブロックのバックアップがFast Recovery Areaに取られる 1. 戻したい指定時刻(時刻t1)より前のUNDOブロックをリストア

    2. REDOを適⽤して指定時刻(時刻t1)までロールフォワード ⇒データファイル全体をリストアするポイント・イン・タイムリカバリより速いし簡単 Flashback Database Copyright © 2024, Oracle and/or its affiliates オンラインREDOログ アーカイブREDOログ 時間 時刻t0 時刻t2 リカバリ (REDOログの適⽤) Flashback Log (UNDOブロックのバックアップ) リストア (UNDOブロックの書き戻し) 時刻t1 リカバリを時刻t1までで⽌める 最新データの時刻はt2 35 Flashback Logの格納先をFRA以外に指定可能 • DB_FLASHBACK_LOG_DESTと DB_FLASHBACK_LOG_DEST_SIZE ※TechNight#72参照
  32. ブローカを使う場合と使わない場合 Oracle Data Guard Broker の操作の簡易性 Copyright © 2024, Oracle

    and/or its affiliates 36 接続先 コマンド 新プライマリ 旧スタンバイが新プライマリになったSCNを確認 SQL> SELECT TO_CHAR(STANDBY_BECAME_PRIMARY_SCN) FROM V$DATABASE; 旧プライマリ 旧プライマリをマウント状態にし、フラッシュバック・データベース実⾏ SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT; SQL> FLASHBACK DATABASE TO SCN standby_became_primary_scn; 旧プライマリ 旧プライマリをフィジカル・スタンバイに変換 SQL> ALTER DATABASE CONVERT TO PHYSICAL STANDBY; 新プライマリ 新スタンバイへのREDO転送を開始 SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_n=ENABLE; SQL> ALTER SYSTEM SWITCH LOGFILE; 新スタンバイ (旧プライマリ) 新スタンバイでREDO適⽤開始 SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT; DGMGRL>REINSTATE DATABASE <DB名>; 旧プライマリの回復 (フラッシュバック・データベースを利⽤した⽅法で、下記実⾏中エラーなしの場合) ブローカを使わない場合 ブローカを使うと1コマンドで可能 ※回復対象以外のデータベースに接続して実⾏ REDO適⽤も⾃動で開始
  33. Flashback Databaseを利⽤した旧プライマリのスタンバイ化 • フェイルオーバー実⾏後のデータベースの状態 • 必要なフラッシュバック・ログが⼗分にある場合 → REINSTATE DATABASEコマンドで回復可能 •

    下記のステータスの場合は、スタンバイを再作成する必要あり(必要なフラッシュバック・ログが⼗分にない場合など) • ブローカを介さず(REINSTATEコマンドを⽤いず)に旧プライマリ・データベースをリカバリして新スタンバイ・データベースとして回復させた 場合、⼀度そのデータベースをブローカ構成から削除し、再び構成に追加・有効化する必要がある • 旧プライマリ・データベースが新スタンバイ・データベースとして正常に起動していても、ブローカは回復したことを認識しないため Oracle Data Guard Brokerでの旧プライマリの回復 Copyright © 2024, Oracle and/or its affiliates 37 ORA-16661: The standby database must be reinstated ORA-16795: The standby database needs to be re-created
  34. 障害時に⾃動的にData Guard の切り替えを実⾏し、可⽤性を⾼め業務を継続 • Oracle Data Guard Broker 構成が有効になっている環境で、 障害時に⾃動での切り替え判断・実⾏をする機能

    • Oracle Data Guard Brokerが有効な環境で利⽤可能 (ファスト・スタート・フェイルオーバーはデフォルト無効) • オブサーバという監視プロセスが切り替えを判断 • オブサーバ・サーバーにはデータベース・ライセンス不要 • オブサーバの冗⻑化も可能(12.2以降) • ⾃動切り替えを⾏わない、監視のみモードも可能 • Oracle Enterprise Manager Cloud Control でオブザーバーの 監視が可能 • フェイルオーバー時の⾼速アプリケーション通知(FAN)により、ク ライアントに連携可能 • アプリケーションからのコールによる実⾏も可能 • 旧プライマリの復旧も⾃動で⾏う • フェイルオーバー後に旧プライマリを⾃動で復旧(フラッシュ・バック・ データベース)し、スタンバイとしてData Guard 構成に組み込む Oracle Data Guardファスト・スタート・フェイルオーバー(⾃動フェイルオーバー) Data Guard Broker 構成 オブザーバー 障害検知→ ⾃動切り替え スタンバイ→ 新プライマリ Copyright © 2024, Oracle and/or its affiliates 38
  35. データベースの変換: CONVERT DATABABSE フィジカル・スタンバイとスナップショット・スタンバイの切り替え • 更新可能な複製環境が必要な際に⼀時的にスナップ ショットに切り替え、フィジカル・スタンバイに戻して再同期 という利⽤が可能 • テスト環境利⽤

    • 例)短期テスト、レポート⽣成、RATの実⾏環境、data pumpでのexpdp実⾏ • スナップショット・スタンバイの期間 • REDOの受信・アーカイブはするが、適⽤は不可。そ の間は、プライマリ・データベースの可⽤性は低下 • スナップショット・スタンバイの期間が⻑いほど同期差 分が発⽣するため、フィジカル・スタンバイに戻す際に 追いつき処理(差分適⽤)に時間がかかる。また、再 同期するのに必要なログの保存領域が必要(⾼速リ カバリ領域の設定が必要) Data Guardの切り替えの種類 Copyright © 2024, Oracle and/or its affiliates 39 プライマリ ①スナップショット・スタンバイへ切り替え。REDO適⽤停⽌ ②利⽤が終わったら、フィジカル・スタンバイへ切り替え。切り替え時 (①)の時点にフラッシュバック ③スナップショット・スタンバイの期間に溜まっていた REDOを適⽤し、差分を追いつかせる REDO 転送のみ ブローカで1コマンドで実⾏ フィジカル・ スタンバイ ↓ スナップショット・ スタンバイ プライマリ プライマリ フィジカル・ スタンバイ 同期 or 同期+参照 更新&参照 REDO 転送のみ 同期 スナップショット・ スタンバイ ↓ フィジカル・ スタンバイ 同期 or 同期+参照 更新&参照 同期 or 同期+参照
  36. Oracle Data Guard Brokerを使う場合と使わない場合 Oracle Data Guard Broker の操作の簡易性 Copyright

    © 2024, Oracle and/or its affiliates 40 接続先 コマンド スタンバイ スタンバイでREDO適⽤停⽌ SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; スタンバイ スタンバイをマウント状態にする (Active Data GuardでOPENしている場合) SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT; スタンバイ スナップショット・データベースへの変換 SQL> ALTER DATABASE CONVERT TO SNAPSHOT STANDBY; スタンバイ 読み書き可能な状態でオープン SQL> ALTER DATABASE OPEN READ WRITE; DGMGRL> CONVERT DATABASE <DB名> TO SNAPSHOT STANDBY; ブローカを使うと1コマンドで可能 スタンバイの変換例(フィジカル・スタンバイからスナップショット・スタンバイへの変換で下記実⾏中エラーなしの場合) ブローカを使わない場合
  37. Oracle Data Guard Brokerを使う場合と使わない場合 Oracle Data Guard Broker の操作の簡易性 Copyright

    © 2024, Oracle and/or its affiliates 41 接続先 コマンド スタンバイ スタンバイでREDO適⽤停⽌ SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; スタンバイ スタンバイをマウント状態にする SQL> ALTER DATABASE OPEN; スタンバイ スタンバイでREDO適⽤開始 SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT; SQL> ALTER DATABASE OPEN; ブローカが有効だと1コマンドで可能 スタンバイの変換例(マウントモードからRead-onlyモードでのオープン) ブローカを使わない場合
  38. ブローカ構成の検証(1/2) ブローカ構成内のデータベースにロール変換(スイッチ・オーバーやフェイル・オーバー)ができる状況かどうか、状態を下記のコ マンドで確認が可能 • ロール変換が可能か、データベースの健全性を検証 • データベース全体のデータ・ファイルの検証。書き込み⽋落のチェックもされる • プライマリ・データベースとスタンバイ・データベース間のパラメータ値(SPFILEのエントリ)⽐較。ロール変換前に実施する ことで、ロール変更後も同じレベルで可⽤性を保ち、修正のための再起動を防ぐ

    • 遠隔同期インスタンス(Far Sync)の構成の検証 • ⾃動フェイルオーバー(ファスト・スタート・フェイルオーバー)構成の検証 Oracle Data Guard Brokerの操作の簡易性 Copyright © 2024, Oracle and/or its affiliates 42 DGMGRL> VALIDATE DATABASE [VERBOSE] <データベース名>; DGMGRL> VALIDATE DATABASE <データベース名> DATAFILE ALL; DGMGRL> VALIDATE DATABASE <スタンバイ・データベース名> SPFILE; DGMGRL> VALIDATE FAR_SYNC; DGMGRL> VALIDATE FAST_START FAILOVER; いざというときに切り替えられるように 事前確認は⼤事!
  39. ブローカ構成の検証(2/2) ブローカ構成内のデータベースにロール変換(スイッチ・オーバーやフェイル・オーバー)ができる状況かどうか、状態を下記のコ マンドで確認が可能 • メンバー間のネットワーク接続性を検証。ロール変換後の潜在的なネットワーク構成の問題を検証 • 接続⽂字列がプロパティ(DGConnectIdentifier)に対して有効かを確認 (23c〜) • 静的接続識別⼦を検証(StaticConnectIdentiferプロパティ)。ブローカで必要に応じてインスタンスを⾃動起動でき

    るように、Oracle Restartが構成されていないシングル・インスタンスでは静的サービスが必要 Oracle Data Guard Broker の操作の簡易性 Copyright © 2024, Oracle and/or its affiliates 43 DGMGRL> VALIDATE DGConnectIdentifier <接続⽂字列>; DGMGRL> VALIDATE NETWORK CONFIGURATION FOR ALL|<データベース名>; DGMGRL> VALIDATE STATIC CONNECT IDENTIFIER FOR ALL|<データベース名>; いざというときに切り替えられるように 事前確認は⼤事!
  40. ブローカを設定・利⽤する流れ Oracle Data Guard Brokerの利⽤ Copyright © 2024, Oracle and/or

    its affiliates 45 前提条件確認・インストール ブローカの有効化 ブローカ構成の作成 ブローカ構成の有効化 構成・プロパティ・ロール等の変更 構成の監視 前提条件確認・オブザーバ環境の⽤意 FSFO関連のプロパティ設定 FSFOを有効化 オブザーバの起動 構成・プロパティ・ロール等の変更 構成の監視 ファスト・スタート・フェイルオーバー(FSFO)を 有効化する場合
  41. 前提条件 • プロパティと初期化パラメータを調整するために、SPFILEを利⽤ • プライマリ・データベースをARCHIVELOGモードでオープン • プライマリ・データベースとスタンバイ・データベースの両⽅で、COMPATIBLE初期化パラメータが同じ値 • Real Application

    Clusters(RAC)の場合、DG_BROKER_CONFIG_FILEn初期化パラメータを、全インスタンスで同 じ共有ファイルを利⽤するように設定 (共有ファイルは、ASM上のファイル or クラスタ・ファイル・システム上のファイル) • DGConnectIdentifierプロパティで指定するデータベースの接続識別⼦は、下記を満たす必要がある • 対象のブローカ構成内のすべてのデータベースからアクセス可能、RACの場合は全インスタンスにアクセス可能 • RAC上の接続時フェイルオーバーを可能にするために、RACのすべてのインスタンスが動的にリスナーに登録するサー ビスを指定(Oracle Clusterwareで定義するサービスは不可) • スタンバイ・データベースのREDO受信でエラーが発⽣した場合にも続⾏できるように、REDO転送をフェイルオーバー できる属性が設定されている • 設定値が問題ないか検証(23c~) 参考 Oracle Data Guard Brokerの有効化 Copyright © 2024, Oracle and/or its affiliates 46 DGMGRL> VALIDATE DGConnectIdentifier <接続⽂字列>;
  42. 前提条件 • Oracle Clusterwareによって管理されていない構成の場合、構成内のインスタンスを再起動できるようにするため、各イ ンスタンスのローカル・リスナーに静的サービスを登録する必要がある • 12.1.0.2より、ブローカーがClusterwareを利⽤してインスタンスを再起動するようになったので、Clusterwareで管理 されているデータベースでは静的サービス(“_DGMGRL”)エントリは不要に • DG

    PDB構成では不要 設定例 (listener.ora) • 設定値が問題ないか検証 • 構成後に変更したLOCAL_LISTENR初期化パラメータをブローカに認識させるには以下の⼿順が必要 • プライマリの場合、ブローカ構成を削除・再構成 (ブローカ構成削除 MOS Doc ID 261336.1) • スタンバイの場合、ブローカ構成からスタンバイ・データベースを削除→再追加→有効化 参考 Oracle Data Guard Brokerの有効化 Copyright © 2024, Oracle and/or its affiliates 47 LISTENER = (DESCRIPTION = (ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=host_name)(PORT=port_num)))) SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=sid_name) (GLOBAL_DBNAME=db_unique_name_DGMGRL.db_domain) (ORACLE_HOME=oracle_home) (ENVS="TNS_ADMIN=oracle_home/network/admin"))) 別の静的サービス名を使⽤することもできます。その場合は、別のサービス名を反映するようにStaticConnectIdentifierプロパティを変更してください DGMGRL> VALIDATE STATIC CONNECT IDENTIFIER
  43. 有効化⼿順=ブローカの起動 前提 : 管理対象となるOracle Data Guard構成内のデータベースがすでに作成されている状態 下記⼿順を、管理対象にするData Guard環境の各データーベースで実施 1. ブローカの構成ファイルの場所を確認

    • 初めてブローカを有効化する際に、⾃動的に構成ファイルが作成される • RAC環境の場合、全インスタンスで同じ共有ファイルを利⽤するように設定 2. ブローカを有効化、ブローカ(DMON)起動 3. ブローカが有効化されたことを確認(有効化=TRUE、無効化=FALSE) 参考 Oracle Data Guard Broker有効化 Copyright © 2024, Oracle and/or its affiliates 48 SQL> SHOW PARAMETER DG_BROKER_START SQL> ALTER SYSTEM SET DB_BROKER_START=TRUE; SQL> SHOW PARAMETER DG_BROKER_CONFIG_FILE SQL> ALTER SYSTEM SET DG_BROKER_CONFIG_FILE1=<構成ファイルのパス>; SQL> ALTER SYSTEM SET DG_BROKER_CONFIG_FILE2=<構成ファイルのパス>;
  44. PREPARE DATABASE FOR DATA GUARDコマンド • アーカイブ・ログ・モード、強制ロギング、フラッシュバックデータベースが有効化され、RMANによるアーカイブログ削除ポリ シーがSHIPPED TO ALL

    STANDBYに設定されるなど、その他下記のパラメータについても最⼤可⽤性アーキテクチャ (MAA)向けの推奨値に従って設定 プライマリ・データベースをMAAの推奨値に従って設定 Copyright © 2024, Oracle and/or its affiliates 49 プライマリ Data Guard Broker DGMGRL> PREPARE DATABASE FOR DATA GUARD WITH DB_UNIQUE_NAME IS boston DB_RECOVERY_FILE_DEST IS "+FRA" DB_RECOVERY_FILE_DEST_SIZE is "400G" BROKER_CONFIG_FILE1 IS "+DATA/BOSTON/dg1.dat" BROKER_CONFIG_FILE2 IS "+FRA/BOSTON/dg2.dat"; ARCHIVELOG FORCE LOGGING FLASHBACK ON DELETION POLICY SPFILE CREATION DB_UNIQUE_NAME STANDBY LOGS PARAMETERS DB_FILES = 1024 LOG_BUFFER = 256M DB_BLOCK_CHECKSUM = TYPICAL DB_LOST_WRITE_PROTECT = TYPICAL DB_FLASHBACK_RETENTION_TARGET = 120 PARALLEL_THREADS_PER_CPU = 1 STANDBY_FILE_MANAGEMENT = AUTO DG_BROKER_START = TRUE コマンド実⾏にあたり • 推奨を満たしているパラメータは変更されない • パラメータ変更やアーカイブ有効化のために、DB再起動 NEW IN 21c
  45. ブローカ構成作成・有効化⼿順(1/2) 1. プライマリ・データベースで、管理対象として追加するスタンバイ・データベースや遠隔同期インスタンスへのREDO転送 設定の初期化パラメータをクリア 2. プライマリ・データベースへDGMGRLで接続(例はローカル・システム上のデータベースへの接続) 3. Oracle Data Guard

    Broker構成の作成 4. 構成にスタンバイ・データベースを登録 5. 構成を確認 参考 Oracle Data Guard Brokerの有効化 Copyright © 2024, Oracle and/or its affiliates 50 DGMGRL> CREATE CONFIGURATION <構成名> AS PRIMARY DATABASE IS <DB_UNIQUE_NAME> CONNECT IDENTIFIER IS <接続記述⼦>; SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_n=" " DGMGRL> CONNECT [sysdg|sysdba]; DGMGRL> ADD DATABASE <DB_UNIQUE_NAME> AS CONNECT IDENTIFIER IS <接続記述⼦>; DGMGRL> SHOW CONFIGURATION;
  46. ブローカ構成作成・有効化⼿順(2/2) 6. (データベース・プロパティを設定・確認 (構成やデータベースの有効後でも可)) 7. 構成の有効化 8. 有効化された構成を確認 • 遠隔同期インスタンスの追加

    (作成⾃体もブローカで可能) 参考 Oracle Data Guard Brokerの有効化 Copyright © 2024, Oracle and/or its affiliates 51 DGMGRL> EDIT DATABASE <DB名> SET PROPERTY ‘<プロパティ名>’=‘<設定値>’; DGMGRL> SHOW DATABASE VERBOSE <DB名> DGMGRL> ENABLE CONFIGURATION; DGMGRL> SHOW CONFIGURATION; DGMGRL> ADD FAR_SYNC <DB_UNIQUE_NAME> AS CONNECT IDENTIFIER IS <接続記述⼦>; DGMGRL> ENABLE FAR_SYNC <DB_UNIQUE_NAME>; DGMGRL> SHOW FAR_SYNC <DB_UNIQUE_NAME>;
  47. 転送サービスと適⽤サービス 参考 Oracle Data Guard Broker構成関連 Copyright © 2024, Oracle

    and/or its affiliates 52 転送サービス 適⽤サービス ブローカ有効時の特徴 ・関連プロパティの設定値に応じて、⾃動的に 転送サービスの設定がされる (LOG_ARCHIVE_DEST_n初期化パラメータ などを⾃動設定) ・⾃動的にリアルタイム適⽤が有効化され、適⽤プロセ スが⾃動的に起動される ・RAC環境の場合、適⽤インスタンスの指定や、適⽤ インスタンスの障害時に⾃動で適⽤インスタンスのフェイ ルオーバーが設定可能 関連Brokerプロパティ DGConnectIdentifier StandbyAlternateLocation Binding Encryption (ZDLRAのみ) LogShipping LogXptMode MaxFailure NetTimeout RedoCompression RedoRoutes ReopenSecs StandbyArchiveLocation ・REDO ApplyおよびSQL Applyに共通のプロパティ ApplyInstanceTimeout DelayMins PreferredApplyInstance ・REDO Applyに固有のプロパティ ApplyParallel ApplyInstances
  48. ブローカで遠隔同期インスタンスの作成、追加可能 • 遠隔同期インスタンスは、⻑距離間のData Guard構成でのデータ損失をゼロに近づけるためのインスタンス • 19cまでは、遠隔同期インスタンスを作成後に別途ADD FAR_SYNCコマンドでブローカ構成に追加が必要 • 21cからは、ブローカからCREATE FAR_SYNCコマンドにより遠隔同期インスタンスの作成と追加が同時に可能

    Oracle Data Guard Brokerの遠隔同期インスタンス作成 Copyright © 2024, Oracle and/or its affiliates 53 実⾏例 DGMGRL> CREATE FAR_SYNC bostonfs AS CONNECT IDENTIFIER IS "bostonfs_conn_str" PARAMETER_VALUE_CONVERT "boston","bostonfs" SET LOG_FILE_NAME_CONVERT "boston","bostonfs" SET DB_RECOVERY_FILE_DEST "$ORACLE_HOME/dbs/" SET DB_RECOVERY_FILE_DEST_SIZE "100G" RESET UNDO_TABLESPACE; プライマリ・データベース スタンバイ・データベース 同期 ⾮同期 遠隔同期インスタンス NEW IN 21c
  49. ブローカや構成の無効化・削除 Oracle Data Guard Brokerの利⽤ Copyright © 2024, Oracle and/or

    its affiliates 54 ブローカ構成の無効化 ブローカ構成の削除 ブローカの無効化 オブザーバーの停⽌ FSFOの無効化 プライマリ・データベースの停⽌ ファスト・スタート・フェイルオーバー(FSFO)を 無効化する場合 FSFOが有効な環境で プライマリを停⽌したい場合、 先にオブザーバを停⽌する必要がある ブローカ構成内のDBの削除 ブローカ構成内のDBの無効化 FSFOのターゲット・スタンバイの場合、 先にFSFOの無効化が必要 先にFSFOの無効化が必要 依存関係なし (順番なし)
  50. ブローカ構成の削除⼿順 • ブローカによって管理および監視されなくなる • ファスト・スタート・フェイルオーバーが有効化されている場合、構成削除は不可。先にファスト・スタート・フェイルオーバー を無効化 ⼿順 1. 構成を削除 2.

    構成を確認 参考 Oracle Data Guard Brokerの無効化 Copyright © 2024, Oracle and/or its affiliates 57 DGMGRL> REMOVE CONFIGURATION; DGMGRL> SHOW CONFIGURATION; Error: ORA-16532: Data Guard broker configuration does not exist Configuration details cannot be determined by DGMGRL
  51. 構成のexport/import⼿順 • 構成ファイルのexport/importが可能。出⼒形式は、txtやxmlなど ⼿順 1. プライマリに接続し、構成ファイルをexport。ADR トレース・ファイルのディレクトリに出⼒ (<ADR_BASE>/rdbms/<DB_NAME>/<SID>/trace/ 配下) 2.

    構成ファイルをimportし、有効化 • すでにブローカ構成がある場合は、事前に削除 ブローカ構成のバックアップや移⾏ Copyright © 2024, Oracle and/or its affiliates 58 DGMGRL> EXPORT CONFIGURATION TO 'dg_config.xml'; DGMGRL> IMPORT CONFIGURATION TO 'dg_config.xml’; DGMGRL> ENABLE CONFIGURATION; DGMGRL> REMOVE CONFIGURATION;
  52. 主な強化点 Oracle Data Guard Brokerのバージョンごとの機能強化 • VALIDATEコマンド強化(構成ファイルとSPFILEの設定⽐較、ネットワーク関連) • V$DATAGUARD_PROCESSビューでのブローカ・プロセス表⽰ •

    CDB構成、遠隔同期インスタンス、カスケード・スタンバイ、 Zero Data Loss Recovery Applianceのサポート • SYSDG管理権限サポート • CDB間のPDB移⾏やフェイルオーバーをサポート • スイッチオーバー時のACサポート強化 • ブローカ有効下でのローリング・アップグレードのサポート • 複数オブザーバーのサポート • ⾃動フェイルオーバーの最⼤保護モードサポート 18c 19c • ブローカ構成のテキスト・ファイルでのエクスポート・インポート • ⾃動フェイルオーバーの監視専⽤モード • ⾃動フェイルオーバーのターゲットの動的変更 23c • PDB対応 • (21.7-) PDBレベルでのData Guardのサポート(DGPDB) • ブローカによる遠隔同期インスタンスの作成と追加 • クライアント側のブローカファイルの管理ディレクトリ • ⾃動フェイルオーバー構成の検証&コールアウト • ⾃動フェイルオーバー構成の最⼤可⽤性モードの許容 • オブザーバを最⼤4つまでサポート 21c 12c Copyright © 2024, Oracle and/or its affiliates 60 • PL/SQLやREST APIでのBrokerの管理 • ブローカ関連の固定ビュー • プライマリ・データベースに基づく優先オブザーバ設定
  53. Oracle Data Guard Brokerとは まとめ Copyright © 2024, Oracle and/or

    its affiliates 61 01 02 03 Oracle Data Guardの管理・運⽤を簡単にできるフレームワーク 計画停⽌・計画外停⽌時の切り替えの⾃動化がしやすい仕組みで、 定期的に切り替えを実施し、いざというときに切り替えられるシステムへ Data Guard Broker有効時はブローカを介した操作が推奨
  54. Copyright © 2024, Oracle and/or its affiliates 63 • マニュアル

    Oracle Data Guard Broker 23c • 英語 https://docs.oracle.com/en/database/oracle/oracle-database/23/dgbkr/index.html • ⽇本語 https://docs.oracle.com/cd/F82042_01/dgbkr/oracle-data-guard-broker-concepts.html • MOS Note • Doc ID 783445.1: Data Guard Broker and SQL*Plus • Doc ID 1387859.1: Oracle Data Guard Broker and Static Service Registration • Doc ID 261336.1: How to Safely Remove a Data Guard Broker Configuration • Doc ID 1583588.1: 12c Create Dataguard Broker Configuration - DGMGRL • Doc ID 2577991.1: 19c How to Export and Import Data Guard Broker Configuration • Doc ID 2855164.1: How To Resolve ORA-16816 at Data Guard Broker Configuration • Doc ID 745201.1: Diagnosing Connection Problems with an enabled Data Guard Broker Configuration • Doc ID 1937089.1: What database service should be used for Oracle Data Guard Redo Transport and Broker connections? 参考情報
  55. Oracle Database 19c • 新機能 • 構成ファイルのテキスト・ファイルでのエクスポート・インポート(バックアップが可能に) • 遠隔同期インスタンスとRecovery Appliance対応

    • FSFOを無効せずに、FSFOターゲットを動的に変更可能 • FSFOの監視専⽤モード Oracle Database バージョンによる変更点 Copyright © 2024, Oracle and/or its affiliates 64
  56. Oracle Database 19c • ⾮推奨(今後のリリースではサポートされなくなる可能性があります) • InconsistentPropertiesプロパティ • ⾮サポート •

    MaxConnections構成プロパティ • 変更 • プロパティの名称変更: OnlineArchiveLocation→ArchiveLocation、 OnlineAlternateLocation→AlternateLocation Oracle Database バージョンによる変更点 Copyright © 2024, Oracle and/or its affiliates 65 初期化パラメータ関連プロパティ ロジカル・スタンバイ関連プロパティ ArchiveLagTarge、DataGuardSyncLatency LogArchiveMaxProcesses、LogArchiveMinSucceedDest LogArchiveTrace、StandbyFileManagement DbFileNameConvert、LogArchiveFormat LogFileNameConvert LsbyMaxEventsRecorded、LsbyMaxServers LsbyMaxSga、LsbyPreserveCommitOrder LsbyRecordAppliedDdl、LsbyRecordSkipDdl LsbyRecordSkipErrors、LsbyParameter EDIT DATABASE...SET PROPERTYコマンドのかわりに、EDIT DATABASE...SET PARAMATERコマンドで⾮推奨のプロパティに 対応するパラメータを変更 DBMS_LOGSTDBY.APPLY_SETプロシージャを使⽤して、ロジカ ル・スタンバイに関連するプロパティを構成
  57. Oracle Database 21c • 新機能 • PDBサポート • 21.7以降で、PDBレベルでのData Guard(DGPDB)のサポート

    • Brokerからの遠隔同期インスタンスの作成と構成追加 • PREPARE DATABASE FOR DATA GUARDコマンド • ロジカル・スタンバイでは、12.1以降に追加されたデータ型はサポートされません • FSFO関連 • FSFO構成の検証(VALIDATE FAST_START FAILOVER) • クライアント側Brokerファイルの管理ディレクトリ(主にオブザーバー関連) • FastStartFailoverLagLimit構成プロパティを設定し、同期モードのスタンバイが利⽤不可な場合に⾮同期モードのスタン バイをターゲットに利⽤できるように • 同期スタンバイがない場合でも、Far Syncインスタンスを含む構成の最⼤可⽤性モードの有効化が可能に • オブザーバ起動コマンドの機能強化 • オブザーバの優先度設定(PreferredObserverHostsプロパティ) • オブザーバを最⼤4つまでサポート Oracle Database バージョンによる変更点 Copyright © 2024, Oracle and/or its affiliates 66
  58. Oracle Database 21c • ⾮サポート • 19cで⾮推奨になった次のプロパティは、21cから⾮サポート Oracle Database バージョンによる変更点

    Copyright © 2024, Oracle and/or its affiliates 67 初期化パラメータ関連プロパティ ロジカル・スタンバイ関連プロパティ ArchiveLagTarge DataGuardSyncLatency LogArchiveMaxProcesses LogArchiveMinSucceedDest LogArchiveTrace StandbyFileManagement DbFileNameConvert LogArchiveFormat LogFileNameConvert LsbyMaxEventsRecorded LsbyMaxServers LsbyMaxSga LsbyPreserveCommitOrder LsbyRecordAppliedDdl LsbyRecordSkipDdl LsbyRecordSkipErrors LsbyParameter
  59. Oracle Database 23c • 新機能 • スタンバイ・データベースでの⾃動⼀時ファイル作成 • VALIDATE DATABASE

    STRICTコマンドの強化 • ブローカ関連の新しい固定ビュー • V$DG_BROKER_PROPERTY、V$DG_BROKER_ROLE_CHANGE • 新しいコマンド • VALIDATE DGConnectIdentifier、EDIT ALL MEMBERS SET PROPERTY、EDIT ALL MEMBERS SET PARAMETER、SHOW ALL MEMBERS (Property)、SHOW ALL MEMBERS PARAMETER • FSFO関連 • オブザーバを最⼤4つまでサポート • 現在のプライマリ・データベースに基づいた、優先オブザーバの設定(アフィニティ) • 新しいプロパティ : FastStartFailoverLagType、FastStartFailoverLagGraceTime • 新しい固定ビュー : V$FAST_START_FAILOVER_CONFIG • ⾮推奨 • SWITCHOVERコマンドのWAITオプション : DainTimeout構成プロパティを使⽤してください • V$FS_FAILOVER_STATSビュー : V$DG_BROKER_ROLE_CHANGEビューを使⽤してください • V$DATABASE.FS_FAILOVER_*列 : V$FAST_START_FAILOVER_CONFIGビューを使⽤してください Oracle Database バージョンによる変更点 Copyright © 2024, Oracle and/or its affiliates 68