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

Oracle Database Maximum Availability Architectu...

Oracle Database Maximum Availability Architecture Data Protection

Oracle Database 高可用性アーキテクチャ データ保護編

oracle4engineer

February 05, 2024
Tweet

More Decks by oracle4engineer

Other Decks in Programming

Transcript

  1. Copyright © 2023, Oracle and/or its affiliates 2 「Oracleインスタンス」と「データベース」 「CPU+メモリー」と「ストレージ」をわけて考える

    データベース ストレージ上のファイルの集合 不揮発性デバイスに永続化 (データの本体なのでなくなると困る) データベース・サーバー (Computeノード) ストレージ Oracleインスタンス データベース・サーバー上のOracleプロセスとメモリーの集合 揮発性メモリーに一時的に格納(キャッシュ) (再起動などでなくなることを想定)
  2. Copyright © 2023, Oracle and/or its affiliates 3 高可用性を実装する手段 各階層で冗長性を持たせる

    データベース ストレージ上のファイルの集合 Oracleインスタンス データベース・サーバー上のOracleプロセスとメモリーの集合 揮発性メモリーに一時的に格納(キャッシュ) (再起動などでなくなることを想定) 不揮発性デバイスに永続化 (データの本体なのでなくなると困る) プロセスとメモリーが起動できるOS環境を用意 データベース・サーバーのクラスタ構成 データの複製を用意 ミラー / バックアップ / レプリケーション データベース・サーバー (Computeノード) ストレージ 今回のテーマ
  3. ストレージ上のデータの複製手段 • ミラー • バックアップ • レプリケーション • (スナップショット) Oracle

    Databaseはなぜ自前で複製しようとするのか • ミラー ASM • バックアップ RMAN • (スナップショット) Flashback • レプリケーション (Active) Data Guard • バックアップ+レプリケーション Zero Data Loss Recovery Appliance Oracle Database 高可用性アーキテクチャ - データ保護編 Copyright © 2023, Oracle and/or its affiliates 4 レプリケーション方式の違い • 物理レプリケーション Data Guard • 論理レプリケーション GoldenGate
  4. 「バックアップ」という言葉はあいまいに使われている • 「複製されたデータ」を指す • 「データの複製を作る操作」を指す ここではバックアップとは「データの複製を作る操作」を指す データを複製する手段 • バックアップ: バックアップ操作をした時点のデータの複製

    • ミラー: 継続的なデータの複製 (ローカル・ストレージ) • レプリケーション: 継続的なデータの複製 (リモート・ストレージ) • (スナップショット) データの複製手段 Copyright © 2023, Oracle and/or its affiliates 5
  5. ミラー/レプリケーション/バックアップ ストレージ機能でのデータの複製 Copyright © 2023, Oracle and/or its affiliates 6

    ストレージ・コントローラ ストレージ・コントローラ リモート・レプリケーション (レプリケーション) • 別のストレージ筐体に書き込みを複製 RAID (ミラー) • 複数のストレージ・デバイスに書き込みを複製 スプリット・ミラー (バックアップ) • ミラーを一時的に解除することで その時点のストレージの状態を保持 データ
  6. スナップショット - 過去の部分更新を保持して全体イメージを合成 Copyright © 2023, Oracle and/or its affiliates

    7 最新データ 過去データ 更新前の過去データを複製して保持 最新データと過去データを合成 アプリケーションに見せる仮想ストレージ・イメージ 物理ストレージ 最新イメージ 過去イメージ
  7. 物理ストレージが破損すると全イメージが破損する - バックアップに非ず スナップショット - 過去の部分更新を保持して全体イメージを合成 Copyright © 2023, Oracle

    and/or its affiliates 8 最新データ 過去データ 更新前の過去データを複製して保持 最新イメージ 過去イメージ 最新データと過去データを合成 アプリケーションに見せる仮想ストレージ・イメージ 物理ストレージ
  8. 書き込むデータが意味的に正常なのかはストレージは判別できないのでデータ破損が伝搬する ストレージ機能でのデータの複製 Copyright © 2023, Oracle and/or its affiliates 9

    ストレージ・コントローラ ストレージ・コントローラ リモート・レプリケーション (レプリケーション) • 別のストレージ筐体に書き込みを複製 RAID (ミラー) • 複数のストレージ・デバイスに書き込みを複製 スプリット・ミラー (バックアップ) • ミラーを一時的に解除することで その時点のストレージの状態を保持 破損データ
  9. Oracle Databaseの歴史はデータ破損との闘い Oracle Databaseはなぜデータの複製をOracleソフトウェアでやろうとするのか Copyright © 2023, Oracle and/or its

    affiliates 12 Oracleインスタンス 破損検査 ↓ 破損伝搬の抑止 ↓ 自動修復 実装バージョン 機能名 機能 Oracle8 RMAN バックアップ・リストア・リカバリ Oracle9i Database Data Guard REDO情報を別サーバーに転送 Oracle Database 10g ASM ストレージの冗長化+自動修復 Oracle Database 11g Exadata Oracle専用ストレージがデータ構造を検査 Oracle Database 11g Active Data Guard Data Guard+自動修復 (Oracle Database 12c) ZDLRA RMANバックアップ+REDO転送を備えたOracle 専用バックアップ・アプライアンス • データ構造がOracle Databaseとして正しいかを検査できるのは Oracle自身しかない • ある階層から別の階層に移動させるとき検査される • 破損が次の階層に伝搬しない • データの複製がある場合は自動修復を試みる
  10. Oracle Database専用のクラスタ・ボリューム・マネージャ兼クラスタ・ファイルシステム Oracle Automatic Storage Management Copyright © 2023, Oracle

    and/or its affiliates 14 デバイス・ ファイル ファイル構造 Oracle構造 POSIXファイルシステム ボリューム・マネージャ ファイルシステム 表、索引 表領域 ファイル ASM ASM 表、索引 表領域 ボリューム・マネージャ ファイルシステム ファイル 管理者から見た操作の階層はどちらもディレクトリ・ツリーとファイルで同じ RAIDとは異なる実装で • ストレージ・デバイスの障害に対処可能 • データ破損を検出すると自動修復
  11. どのファイルも冗長化して障害に対処する • ファイルを分割しミラーを用意する。 • ミラーは異なる障害グループ(FAILGROUP)のストレージ・デバイスに配置する。 • ストレージ・デバイスが増減しても、再配置して冗長構成を維持する。 ASMのファイル配置コンセプト2 Copyright ©

    2023, Oracle and/or its affiliates 16 ASM上のファイル extent extent extent FAILGROUP 1 FAILGROUP 2 FAILGROUP 3 FAILGROUP n プライマリ・エクステント セカンダリ・エクステント セカンダリ・エクステント FAILGROUP ≒ 1つのストレージ筐体 ASMエクステント 1つのFAILGROUPが停止してもそのエクステントのミラーが他のFAILGROUPにある
  12. Stripe And Mirror Everything (S.A.M.E.) ファイルを分割し、 • すべてのストレージ・デバイスに均等に分散する ⇒Stripe •

    ミラーは異なる障害グループ(FAILGROUP)のストレージ・デバイスに配置する ⇒Mirror そしてストレージ・デバイスが増減してもリバランスすることでStripeとMirrorを維持する ASMのファイル配置コンセプト Copyright © 2023, Oracle and/or its affiliates 17 1 2 3 4 3 6 1 7 5 6 7 8 4 2 8 5 異なるデバイスに ミラーリング すべてのデバイスにストライピング プライマリ・エクステント ASM上のファイル extent extent extent セカンダリ・エクステント ASMエクステント
  13. ASMファイルの破損が検出されるとセカンダリ・エクステントから読み取って処理継続および自動修復 ファイルの破損検出と自動修復 Copyright © 2023, Oracle and/or its affiliates 19

    oracle Oracleサーバー・プロセス SGA 1. プライマリ・エクステントの 破損を検出した 2. セカンダリ・エクステントから読 み取りエラーを返さず処理継続 1 2 3 3 1 1 プライマリ・ エクステント セカンダリ・ エクステント 3. 正常エクステントのデータで 破損個所を修復 ASMディスク・グループ
  14. 「Oracleインスタンス」と「データベース」 Copyright © 2023, Oracle and/or its affiliates 21 アーカイブREDOログ・ファイル

    • オンラインREDOログ・ファイルの バックアップ オンラインREDOログ・ファイル • 更新の履歴 • 1本書き込み完了したら複製 データファイル • 表データの本体 Oracleインスタンス データベース・サーバー上の プロセスとメモリーの集合 データベース ストレージ上のファイルの集合
  15. Copyright © 2023, Oracle and/or its affiliates 22 Oracleサーバー・プロセスがメモリを更新しバックグラウンド・プロセスがファイルに永続化 Oracle

    Databaseアーキテクチャ REDOログ・バッファ (REDOレコード用の書き込みバッファ・メモリー) オンラインREDOログ・ファイル LGWR oracle oracle Oracleサーバー・プロセス ログ・ライター・プロセス データベース・バッファ・キャッシュ (データブロック用のキャッシュ・メモリー) DBWn データベース・ライター・プロセス データファイル SGA oracle Oracleサーバー・プロセスによる SQL処理はメモリーを更新 バックグラウンド・プロセスが ファイルに永続化 OS REDO
  16. データファイルのコピーとREDOログの適用 バックアップおよびリストア・リカバリ Copyright © 2023, Oracle and/or its affiliates 23

    REDOログ・ファイル • 更新の履歴 データファイル • データの本体 用語 意味 バックアップ (主にデータファイル) ファイルのコピーを取得すること リストア バックアップ・ファイルから書き戻すこと リカバリ REDOログをデータ・ブロックに適用すること Oracle Databaseではリストアとリカバリはセット REDOログ・ファイルの情報でデータファイルの内容を破損直前までもどす
  17. バックアップおよびリストア・リカバリ Copyright © 2023, Oracle and/or its affiliates 24 INSERT

    UPDATE DELETE オンラインREDOログ 時間 データベースの更新はオンラインREDOログ・ ファイルに記録される。 時間
  18. バックアップおよびリストア・リカバリ Copyright © 2023, Oracle and/or its affiliates 25 INSERT

    UPDATE DELETE オンラインREDOログ 時間 アーカイブ・REDOログ オンラインREDOログ・ファイルは固定長循環 型なので、書き込み完了したファイルはアーカ イブREDOログ・ファイルにコピーされる。 時間
  19. バックアップおよびリストア・リカバリ Copyright © 2023, Oracle and/or its affiliates 26 INSERT

    UPDATE DELETE 時間 時刻t0 バックアップ (データファイルのコピー) 時間 時刻t0に取得したデータ・ファイルのバックアッ プには最新でも時刻t0までの情報しか含ま れていない。 INSERT UPDATE DELETE
  20. バックアップおよびリストア・リカバリ Copyright © 2023, Oracle and/or its affiliates 27 INSERT

    UPDATE DELETE オンラインREDOログ アーカイブREDOログ 時間 時刻t0 時刻t1 INSERT UPDATE DELETE INSERT UPDATE DELETE バックアップ (データファイルのコピー) 時間 時刻t1にデータファイルの破損を検出した。
  21. バックアップおよびリストア・リカバリ Copyright © 2023, Oracle and/or its affiliates 28 INSERT

    UPDATE DELETE オンラインREDOログ アーカイブREDOログ 時間 時刻t0 時刻t1 データファイル障害発生 INSERT UPDATE DELETE INSERT UPDATE DELETE バックアップ (データファイルのコピー) リストア (データファイルの書き戻し) 時刻t0に取得したデータ・ファイルのバックアッ プには最新でも時刻t0までの情報しか含ま れていない。
  22. バックアップおよびリストア・リカバリ Copyright © 2023, Oracle and/or its affiliates 29 INSERT

    UPDATE DELETE オンラインREDOログ アーカイブREDOログ 時間 時刻t0 時刻t1 データファイル障害発生 INSERT UPDATE DELETE INSERT UPDATE DELETE リカバリ (REDOログの適用) バックアップ (データファイルのコピー) リストア (データファイルの書き戻し) データファイルの状態が 時刻t1まで復元される。
  23. 推奨はRMAN • Oracle付属のバックアップ・ツール • Oracleサーバー・プロセスがデータベースのファイルにア クセスする仕組みを使ってファイルをコピー • Oracleインスタンス管理下で行われる操作 • RMAN以外の方法でコピーするすべての手法

    • Oracleインスタンスがコピーを関知しない • OSのファイル・コピー・コマンド • ストレージ機能のスナップショットやスプリット・ミラー Oracle Databaseの2種類の物理バックアップ手法 Copyright © 2023, Oracle and/or its affiliates 31 oracle rman データファイル (コピー元) バックアップ (コピー先) スナップショット スプリット・ミラー Recovery Manager (RMAN) ユーザー管理バックアップ RMANクライアント Oracleサーバー・ プロセス コピー元ボリューム バックアップ・ボリューム
  24. 確実にリカバリするための"Recovery" Manager • コピー時に破損検査が行われる • 破損が伝搬しない • バックアップしたファイルの破損検査も可能 • 破損領域がそのままコピーされる

    • バックアップも破損している場合がある • 誤った単位でボリュームをコピーしているとリカバリ時に なってはじめてリカバリ不能に気付く ファイル・コピー中のブロック破損検査 Copyright © 2023, Oracle and/or its affiliates 32 oracle rman データファイル (コピー元) バックアップ (コピー先) スナップショット スプリット・ミラー Recovery Manager (RMAN) ユーザー管理バックアップ RMANクライアント Oracleサーバー・ プロセス コピー元ボリューム バックアップ・ボリューム
  25. データベース本体の破損に備えるためのバックアップ データベース本体とバックアップ用ストレージは分ける Copyright © 2023, Oracle and/or its affiliates 33

    オンラインREDOログ・ファイル • 更新の履歴 データファイル • データの本体 アーカイブREDOログ・ファイル • オンラインREDOログ・ファイルの バックアップ データファイル • データファイルの バックアップ データベース本体用ストレージ バックアップ用ストレージ データベース・サーバー ストレージ・ネットワーク
  26. 最新の更新情報はオンラインREDOログ・ファイルにしかない Copyright © 2023, Oracle and/or its affiliates 34 アーカイブREDOログ・ファイル

    • オンラインREDOログ・ファイルの バックアップ データファイル • 表データの本体 Oracleインスタンス データベース・サーバー上の プロセスとメモリーの集合 データベース ストレージ上のファイルの集合 最新の更新情報 オンラインREDOログ・ファイル • 更新の履歴 • 1本書き込み完了したら複製
  27. 書き込み真っ最中のオンラインREDOログ・ファイルは複製できない 「バックアップ」操作で複製できる範囲 Copyright © 2023, Oracle and/or its affiliates 35

    Oracleインスタンス データベース・サーバー上の プロセスとメモリーの集合 データベース ストレージ上のファイルの集合 「バックアップ」操作で複製できる範囲 オンラインREDOログ・ファイル • 更新の履歴 • 1本分書き込み完了したら複製 アーカイブREDOログ・ファイル • オンラインREDOログ・ファイルの バックアップ データファイル • 表データの本体 追記中のオンラインREDOログ・ ファイルは複製できない
  28. データベース本体用ストレージ オンラインREDOログ・ファイルが格納されているストレージが全損すると Copyright © 2023, Oracle and/or its affiliates 36

    INSERT UPDATE DELETE オンラインREDOログ アーカイブREDOログ 時間 時刻t0 時刻t1 ストレージ障害発生 INSERT UPDATE DELETE INSERT UPDATE DELETE リカバリ (REDOログの適用) バックアップ (データファイルのコピー) リストア (データファイルの書き戻し) 最新のトランザクション 情報を失う
  29. プライマリ・データベース用ストレージが全損しても最新のREDO情報が別の場所にある REDO情報が生成されたら即時に別のサーバーに転送:(Active) Data Guard Copyright © 2023, Oracle and/or its

    affiliates 38 オンラインREDOログ・ファイル • 更新の履歴 プライマリ・データベース用ストレージ スタンバイ・データベース用ストレージ プライマリ・データベース・サーバー ネットワーク メモリー(REDOログ・バッファ)上 にREDO情報が生成されたら 転送開始 スタンバイREDOログ・ファイル • プライマリのREDO情報の受信 REDOログ・バッファ スタンバイ・データベース・サーバー
  30. プライマリ・データベースのREDO情報でデータファイルをリカバリし続ける (Active) Data Guard:プライマリ・データベースと全く同じ内容になる Copyright © 2023, Oracle and/or its

    affiliates 39 オンラインREDOログ・ファイル • 更新の履歴 プライマリ・データベース用ストレージ スタンバイ・データベース用ストレージ プライマリ・データベース・サーバー ネットワーク リカバリ継続 スタンバイ・データベース・サーバー REDOログ・バッファ データファイル プライマリと同一内容
  31. (Active) Data Guard:リモートでリストア&リカバリを継続 Copyright © 2023, Oracle and/or its affiliates

    40 INSERT UPDATE DELETE オンラインREDOログ 時間 時刻t0 INSERT UPDATE DELETE INSERT UPDATE DELETE バックアップ (データファイルのコピー) リストア (データファイルの書き戻し) スタンバイ・データベース プライマリ・データベース REDO転送 リカバリ (REDOログの適用) 最新のトランザクション 情報が複製される REDO転送
  32. データ・ブロックの破損が検出されると対向データベースから正常ブロックを取り寄せてリカバリ Active Data Guard自動ブロック・メディア・リカバリ オンライン REDOログ・ ファイル oracle Oracleサーバー・プロセス データファイル

    SGA 1. データ・ブロックの破損を 検出した データベース・ バッファ・ キャッシュ データファイル SGA プライマリ・データベース スタンバイ・データベース 2. 該当データ・ブロックを 取り寄せる 3. リカバリ 4. SQL処理は エラーなく継続 ※スタンバイ・データベースでブロック破損が検出されるとプライマリ・ データベースから該当ブロックを取り寄せてリカバリ Copyright © 2023, Oracle and/or its affiliates 41
  33. ファイルの破損ではなく、SQLが正常に実行されていった後での話 ポイント・イン・タイム・リカバリ 1. 該当データファイルのフル・バックアップからリストアする。 2. リカバリを途中で止める。 ⇒データファイルのサイズが大きいとリストアにかなり時間がかかる。 Flashback 1. 変更前データ・ブロック(UNDO表領域)の情報のバックアップをFast

    Recovery Areaに取り意図的に長時間保持。 2. 変更前データ・ブロックの情報をリストアして過去のデータにアクセスする。 ⇒ポイント・イン・タイムリカバリよりも早い。 過去のある時点のデータにもどしたい Copyright © 2023, Oracle and/or its affiliates 43
  34. ポイント・イン・タイム・リカバリ 0. 戻したい時刻(t1)より前の時刻のフル・バックアップがあることが前提 1. 戻したい時刻(時刻t1)より前(時刻t0)のフル・バックアップからリストアする。 2. リカバリを途中(時刻t1まで)で止める。 ⇒データファイルのサイズが大きいとリストアにかなり時間がかかる。 過去のある時点のデータにアクセスしたい Copyright

    © 2023, Oracle and/or its affiliates 44 オンラインREDOログ アーカイブREDOログ 時間 時刻t0 時刻t2 2.リカバリ (REDOログの適用) 0.バックアップ (データファイルのコピー) 1.リストア (データファイルの書き戻し) 時刻t1 リカバリを時刻t1までで止める 最新データの時刻はt2
  35. 指定した時刻までデータベースの状態を戻す Flashback Database 0. Flashback Databaseを有効にすると、UNDOブロックのバックアップがFast Recovery Areaに取られる 1. 戻したい指定時刻(時刻t1)より前のUNDOブロックをリストア

    2. リカバリを途中(時刻t1まで)で止める。 ⇒データファイル全体をリストアするポイント・イン・タイムリカバリより速いし簡単 Flashback Database Copyright © 2023, Oracle and/or its affiliates 45 オンラインREDOログ アーカイブREDOログ 時間 時刻t0 時刻t2 2.リカバリ (REDOログの適用) 0.Flashback Log (UNDOブロックのバックアップ) 1.リストア (UNDOブロックの書き戻し) 時刻t1 リカバリを時刻t1までで止める 最新データの時刻はt2
  36. Flashback Database/Data Guard/バックアップがカバーする範囲は異なる Copyright © 2023, Oracle and/or its affiliates

    46 INSERT UPDATE DELETE 時刻t1 バックアップ (長期間の過去状態の保存) 時間 INSERT UPDATE DELETE 欠損 (Active) Data Guard (最新状態のデータベースに短時間で切り替え) Flashback Database (比較的短期間の過去に戻す) ~数日 数百~数十日 一般的な「バックアップ」はバックアップ操作をしたときに存在してい たファイルを複製するので最新のREDO情報が複製できない。 アーカイブREDOログ・ファイルと同じ領域にUNDOブロックのバック アップを取得するので容量的にバックアップほどの長期間保持する のは難しい。データベースのファイルが破損していないことが前提。 Data Guardは転送されたREDOでリカバリを継続するので最新 に近い状態のデータベースを維持する。時刻t1より前に戻すには Flashback Databaseと組み合わせる。
  37. Flashback Database/Data Guard/バックアップがカバーする範囲は異なる Copyright © 2023, Oracle and/or its affiliates

    47 INSERT UPDATE DELETE 時刻t1 バックアップ (長期間の過去状態の保存) 時間 INSERT UPDATE DELETE 欠損 (Active) Data Guard (最新状態のデータベースに短時間で切り替え) Flashback Database (比較的短期間の過去に戻す) ~数日 数百~数十日 バックアップ (長期間の過去状態の保存) REDO転送 (最新のREDO) 一般的な「バックアップ」はバックアップ操作をしたときに存在してい たファイルを複製するので最新のREDO情報が複製できない。 Zero Data Loss Recovery Applianceはバックアップ+REDO 転送で最新のREDO情報まで複製できる。 アーカイブREDOログ・ファイルと同じ領域にUNDOブロックのバック アップを取得するので容量的にバックアップほどの長期間保持する のは難しい。データベースのファイルが破損していないことが前提。 Data Guardは転送されたREDOでリカバリを継続するので最新 に近い状態のデータベースを維持する。時刻t1より前に戻すには Flashback Databaseと組み合わせる。
  38. Zero Data Loss Recovery Appliance (ZDLRA) Zero Data Loss Autonomous

    Recovery Service (ZRCV) REDO転送を流用したOracle Database専用バックアップ・アプライアンス
  39. REDO転送の仕組みを流用することで最新の状態までリカバリ可能(Zero Data Loss) Zero Data Loss Recovery Appliance (ZDLRA または

    RA) • Exadataのハードウェアを流用したバックアップ・アプライアンス • Data GuardのREDO転送の仕組みを流用 • バックアップ+REDO転送のOracle Database専用バックアップ・アプライアンス • 最新のREDO情報の複製を持っているため最新の状態までリカバリ可能(Zero Data Loss) • 差分増分Level 1バックアップの断片をつなぎ合わせて最新のフルバックアップ相当をリストア Zero Data Loss Autonomous Recovery Service (ZRCV) • ZDLRAをOracle Cloud Infrastructureのサービスとして提供 • バックアップの容量に比例する課金体系 • REDO転送なし(RCV) • REDO転送あり(ZRCV) • BaseDBとExaDB-Dが対象 • Standard EditionはREDO転送の対象外 • (Autonomous Databaseは今のところ対象外) Oracle Database専用のバックアップ・アプライアンス Copyright © 2023, Oracle and/or its affiliates 49
  40. BaseDBとExa DB-DはZero Data Loss Autonomous Recovery Service (ZRCV)も選択可能 OCI Oracle

    Database関連インスタンスのRMAN自動バックアップ Copyright © 2023, Oracle and/or its affiliates 50 Exadata Database Base Database Autonomous Database Object Storage ※ RMAN自動バックアップを構成する前に Object Storageのbucketを定義する RMAN Zero Data Loss Autonomous Recovery Service RMAN+REDO転送
  41. プライマリ・データベース用ストレージが全損しても最新のREDO情報が別の場所にある REDO転送の仕組みをバックアップ用サーバーにも実装:ZDLRA Copyright © 2023, Oracle and/or its affiliates 51

    オンラインREDOログ・ファイル • 更新の履歴 プライマリ・データベース用ストレージ Zero Data Loss Recovery Appliance RMANバックアップ+Data Guard REDO転送 プライマリ・データベース・サーバー ネットワーク メモリー(REDOログ・バッファ)上 にREDO情報が生成されたら 転送開始 アーカイブREDOログ・ファイル • プライマリのREDO情報の受信 REDOログ・バッファ ※ZDLRAでのREDO転送は非同期(ASYNC)モード
  42. Zero Data Loss Recovery Appliance:データファイルのバックアップ+REDO転送 Copyright © 2023, Oracle and/or

    its affiliates 52 INSERT UPDATE DELETE オンラインREDOログ 時間 時刻t0 INSERT UPDATE DELETE INSERT UPDATE DELETE バックアップ (データファイルのコピー) ZDLRA プライマリ・データベース REDO転送 アーカイブREDOログ 通常のバックアップがカバーできる範囲 (データファイルとアーカイブREDOログ・ファイルのコピー) REDO転送 REDO転送 最新のトランザクション 情報が複製される Zero Data Loss
  43. データファイルのバックアップは1週間が1セット BaseDBとExaDB-DのObject StorageへのRMAN自動バックアップ Copyright © 2023, Oracle and/or its affiliates

    53 日曜 月曜 火曜 水曜 木曜 金曜 土曜 日曜 月曜 日曜日 増分Level 0 (フルバックアップ相当)
  44. データファイルのバックアップは1週間が1セット BaseDBとExaDB-DのObject StorageへのRMAN自動バックアップ Copyright © 2023, Oracle and/or its affiliates

    54 日曜 月曜 火曜 水曜 木曜 金曜 土曜 日曜 月曜 日曜日 増分Level 0 (フルバックアップ相当) 日曜日以外 差分増分Level 1 (前回のバックアップから更新があったデータブロック)
  45. データファイルのバックアップは1週間が1セット BaseDBとExaDB-DのObject StorageへのRMAN自動バックアップ Copyright © 2023, Oracle and/or its affiliates

    55 日曜 月曜 火曜 水曜 木曜 金曜 土曜 日曜 月曜 日曜日 増分Level 0 (フルバックアップ相当) 日曜日以外 差分増分Level 1 (前回のバックアップから更新があったデータブロック) 日曜日 増分Level 0 (フルバックアップ相当)
  46. データファイルのバックアップは1週間が1セット BaseDBとExaDB-DのObject StorageへのRMAN自動バックアップ Copyright © 2023, Oracle and/or its affiliates

    56 日曜 月曜 火曜 水曜 木曜 金曜 土曜 日曜 月曜 日曜日 増分Level 0 (フルバックアップ相当) 日曜日以外 差分増分Level 1 (前回のバックアップから更新があったデータブロック) 日曜日 増分Level 0 (フルバックアップ相当)
  47. フルバックアップ相当のLevel 0をリストアした後差分増分Level 1を順次リストア 差分増分バックアップからのリストア Copyright © 2023, Oracle and/or its

    affiliates 57 日曜 月曜 火曜 水曜 木曜 Level 0 リストア 差分増分Level 1 リストア 差分増分Level 1 リストア 差分増分Level 1 リストア 差分増分Level 1 リストア (最新のバックアップ) 最新のLevel 1をリストアした状態からREDOログ適用
  48. 最新のLevel 0相当の仮想フルバックアップを生成して1回のリストア Zero Data Loss Recovery Appliance (ZDLRA)からのリストア Copyright ©

    2023, Oracle and/or its affiliates 58 日曜 月曜 火曜 水曜 木曜 最新のLevel 1をリストアした状態からREDOログ適用 ※Zero Data Loss Autonomous Recovery Service (ZRCV)を 使用する場合はバックアップは常に差分増分Level 1 差分Level 1のデータブロックの断片をつなぎ合わせて最新のフル バックアップLevel 0相当のデータファイルをZDLRA内で合成 Level 0 リストア (最新のバックアップ)
  49. Flashback Database/Data Guard/バックアップがカバーする範囲は異なる(再掲) Copyright © 2023, Oracle and/or its affiliates

    59 INSERT UPDATE DELETE 時刻t1 バックアップ (長期間の過去状態の保存) 時間 INSERT UPDATE DELETE 欠損 (Active) Data Guard (最新状態のデータベースに短時間で切り替え) Flashback Database (比較的短期間の過去に戻す) ~数日 数百~数十日 バックアップ (長期間の過去状態の保存) REDO転送 (最新のREDO) 一般的な「バックアップ」はバックアップ操作をしたときに存在してい たファイルを複製するので最新のREDO情報が複製できない。 Zero Data Loss Recovery Applianceはバックアップ+REDO 転送で最新のREDO情報まで複製できる。 アーカイブREDOログ・ファイルと同じ領域にUNDOブロックのバック アップを取得するので容量的にバックアップほどの長期間保持する のは難しい。データベースのファイルが破損していないことが前提。 Data Guardは転送されたREDOでリカバリを継続するので最新 に近い状態のデータベースを維持する。時刻t1より前に戻すには Flashback Databaseと組み合わせる。
  50. 物理レプリケーションと論理レプリケーション レプリケーションの原理が異なる Copyright © 2023, Oracle and/or its affiliates 61

    SQL 表 (論理データ構造) REDOレコード データファイル (物理データ構造) SQL 更新SQLを生成 SQL 物理レプリケーション (Data Guardフィジカル・スタンバイ) 論理レプリケーション (GoldenGate) REDOレコード データブロックの更新内容 レプリケーション元 レプリケーション先 レプリケーション元 レプリケーション先 REDO REDO REDO REDO
  51. 物理レプリケーションと論理レプリケーション レプリケーションの原理が異なる: どこの階層で「同じ」になるか Copyright © 2023, Oracle and/or its affiliates

    62 SQL 表 (論理データ構造) データブロックの内容が同じ データファイル (物理データ構造) SQL 更新SQLを生成 SQL データブロックの内容が違う 物理レプリケーション (Data Guardフィジカル・スタンバイ) 論理レプリケーション (GoldenGate) レプリケーション元 レプリケーション先 レプリケーション元 レプリケーション先 表の内容が同じ REDO REDO REDO REDO REDOレコード
  52. 物理レプリケーションと論理レプリケーション レプリケーションの原理が異なる: 目的によって使い分ける Copyright © 2023, Oracle and/or its affiliates

    63 SQL 表 (論理データ構造) データブロックの内容が同じ データファイル (物理データ構造) SQL 更新SQLを生成 SQL データブロックの内容が違う 物理レプリケーション (Data Guardフィジカル・スタンバイ) 論理レプリケーション (GoldenGate) 表の内容が同じ 可用性のための複製 • データブロックが完全に一致 レプリケーション元 レプリケーション先 レプリケーション元 レプリケーション先 REDO REDO REDO REDO REDOレコード データ連携ツール • 範囲を限定して複製可能
  53. ソースとターゲットのデータ・ソースの種類が異なる組み合わせも可能 GoldenGateはデータベース・ソフトウェアとは独立したデータ連携ツール Copyright © 2023, Oracle and/or its affiliates 64

    Source Target Trail File Trail File Service Manager Service Manager Administration Server Administration Server Distribution Receiver Extract (Capture) : トランザクション・ログ・ファイルを読んでCOMMITされた更新を抽出(フィルタリングも可能) Trail : ソースから抽出した更新情報をGoldenGateの中間形式に変換してTrail Fileに格納 Distribution Server/Receiver : ターゲットにルーティングするためのデータを配信 Delivery : データをトランザクション の整合性を保ちながら適用
  54. GoldenGateのほうが遅い 更新内容がリモートに転送されるタイミングが異なる Copyright © 2023, Oracle and/or its affiliates 65

    オンラインREDOログ・ファイル • 更新の履歴 プライマリ・データベース用ストレージ ネットワーク Data Guard 1. REDOログ・バッファにREDOレコード が乗せられてすぐ転送開始 REDOログ・バッファ GoldenGate 1. REDOログ・バッファのREDOレコードがオン ラインREDOログ・ファイルに書き込まれる 2. GoldenGateのプロセスがオンライン REDOログ・ファイルを読んで転送開始 • リモート転送のタイミングはGoldenGateの方が遅い • データ・ロストへの耐性はData Guardの方が優れている
  55. 動作原理が異なる Data GuardとGoldenGateは用途で使い分ける Copyright © 2023, Oracle and/or its affiliates

    66 Data Guardフィジカル・スタンバイ GoldenGate 用途 可用性ための完全な複製 データ連携ツール 方式 物理レプリケーション (bit-to-bitで同一) 論理レプリケーション (中間形式に変換) 複製の範囲 データベース全体 範囲を指定(制限)可能 ターゲット・データソースの状態 アクセス不可 or READ ONLY READ WRITE データソースの組み合わせ 同一Oracle Databaseバージョン 種類が異なる組み合わせも可能 送出レイテンシ 極小 小~中
  56. ストレージ上のデータの複製手段 • ミラー • バックアップ • レプリケーション • (スナップショット) Oracle

    Databaseはなぜ自前で複製しようとするのか • ミラー ASM • バックアップ RMAN • (スナップショット) Flashback • レプリケーション (Active) Data Guard • バックアップ+レプリケーション Zero Data Loss Recovery Appliance Oracle Database 高可用性アーキテクチャ - データ保護編 Copyright © 2023, Oracle and/or its affiliates 67 レプリケーション方式の違い • 物理レプリケーション Data Guard • 論理レプリケーション GoldenGate