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

OracleDeveloperDay2026_T1-1_Kusakabe_OracleBack...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for oracle4engineer oracle4engineer PRO
May 21, 2026
34

 OracleDeveloperDay2026_T1-1_Kusakabe_OracleBackup_20260521.pdf

2026/05/21
Oracle Developer Day 2026

[T1-1]REDOログから理解するOracle AI Databaseの復旧戦略
40分
-----

データベースの破損に備えるためにデータの複製を用意するのは必須の運用です。
Oracle AI Databaseはデータベースを構成するファイルの更新を止めずにバックアップを取得できます。
ファイルの静止点を作らずになぜバックアップが成立するのか、データを更新する動作原理から解説します。

「REDOログはデータベース更新差分」「リカバリはデータベース更新の再現」から、データの複製を作るRMANやData Guard、その応用であるZero Data Loss Recovery Applianceの仕組みを見ていきます。
また、バックアップ・リカバリの仕組みから派生したFlashback機能群、Data Guardの物理レプリケーションとGoldenGateの論理レプリケーションの違いも説明します。
なぜデータを複製する手段が複数あるのか、目的に合った手段が構成できるように動作原理からの理解を深めましょう。

Avatar for oracle4engineer

oracle4engineer PRO

May 21, 2026

More Decks by oracle4engineer

Transcript

  1. 抽象化されたデータ空間のストレージ: 表領域(TABLESPACE) 表(TABLE) 表領域(TABLESPACE) データファイル CREATE TABLE 表A (…) TABLESPACE

    表領域α CREATE TABLESPACE 表領域α DATAFILE … 表(TABLE) → 表領域(TABLESPACE) 表領域(TABLESPACE) → データファイル Copyright © 2026, Oracle and/or its affiliates 15
  2. 抽象データ空間の変更 データブロック アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 UPDATE table1 SET c1=value1

    WHERE primarykey=pk1 SQL SQL: 抽象データ空間の変更 表(TABLE) データファイル Copyright © 2026, Oracle and/or its affiliates 18
  3. 抽象データ空間の変更 → 物理データ構造の変更 データブロック アドレスの概念がない 抽象データ空間 REDOログ アドレスの概念がある 物理データ構造 UPDATE

    table1 SET c1=value1 WHERE primarykey=pk1 どのデータブロックの、どこを、 どう変更するか ≒ アドレス + 変更内容 SQL SQL: 抽象データ空間の変更 REDOログ: 物理データ構造の変更 表(TABLE) データファイル Copyright © 2026, Oracle and/or its affiliates 19
  4. 値の状態 / 値の変更差分 データブロック REDOログ SQL アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造

    物理 - 状態 論理 - 状態 物理 - 差分 論理 - 差分 表(TABLE) データファイル Copyright © 2026, Oracle and/or its affiliates 21
  5. 何を複製するのか - 実装手段は4階層ある 表(TABLE) データブロック REDOログ 論理レプリケーション 論理バックアップ/エクスポート 物理バックアップ 物理レプリケーション

    複製階層 機能概念 データファイル アドレスの概念がある 物理データ構造 物理 - 状態 SQL アドレスの概念がない 抽象データ空間 論理 - 状態 論理 - 差分 物理 - 差分 Copyright © 2026, Oracle and/or its affiliates 22
  6. 何を複製するのか - 実装手段は4階層ある データブロック REDOログ 論理レプリケーション 論理バックアップ/エクスポート 物理バックアップ 物理レプリケーション 機能概念

    アドレスの概念がある 物理データ構造 物理 - 状態 SQL アドレスの概念がない 抽象データ空間 論理 - 状態 論理 - 差分 物理 - 差分 • Data Guardロジカル・スタンバイ • GoldenGate • Data Pump • Data Guardフィジカル・スタンバイ • Recovery Manager (RMAN) 表(TABLE) データファイル 複製階層 Copyright © 2026, Oracle and/or its affiliates 23
  7. REDOログから理解するOracle AI Databaseの復旧戦略 データブロック REDOログ 論理レプリケーション 論理バックアップ/エクスポート 物理バックアップ 物理レプリケーション 機能概念

    アドレスの概念がある 物理データ構造 物理 - 状態 SQL アドレスの概念がない 抽象データ空間 論理 - 状態 論理 - 差分 物理 - 差分 • Data Guardロジカル・スタンバイ • GoldenGate • Data Pump • Data Guardフィジカル・スタンバイ • Recovery Manager (RMAN) 表(TABLE) データファイル 複製階層 Copyright © 2026, Oracle and/or its affiliates 24 1. 変更 2. 物理 - 状態 3. 物理 - 差分 4. 論理 - 状態 5. 論理 - 差分
  8. REDOログから理解するOracle AI Databaseの復旧戦略 データブロック REDOログ 論理レプリケーション 論理バックアップ/エクスポート 物理バックアップ 物理レプリケーション 機能概念

    アドレスの概念がある 物理データ構造 物理 - 状態 SQL アドレスの概念がない 抽象データ空間 論理 - 状態 論理 - 差分 物理 - 差分 • Data Guardロジカル・スタンバイ • GoldenGate • Data Pump • Data Guardフィジカル・スタンバイ • Recovery Manager (RMAN) 表(TABLE) データファイル 複製階層 Copyright © 2026, Oracle and/or its affiliates 25 1. 変更 2. 物理 - 状態 3. 物理 - 差分 4. 論理 - 状態 5. 論理 - 差分
  9. アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 抽象データ空間の変更 → 物理データ構造の変更 UPDATE table1 SET

    c1=value1 WHERE primarykey=pk1 SQL 表(TABLE) データファイル データ表領域 変更対象データブロック Copyright © 2026, Oracle and/or its affiliates 27
  10. アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 READ COMMITTED読み取り一貫性 変更した値はCOMMITされるまで他のセッションからは見えない UPDATE table1 SET

    c1=value1 WHERE primarykey=pk1 SQL 表(TABLE) データファイル データ表領域 変更対象データブロック COMMIT c1=value1はCOMMITされるまで 他のセッションからは見えない Copyright © 2026, Oracle and/or its affiliates 28
  11. READ COMMITTED読み取り一貫性の実装 変更前のデータブロックをUNDO表領域に退避 変更対象データブロック アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 SQL 表(TABLE)

    データファイル UNDO表領域 データ表領域 変更前のデータブロック UPDATE table1 SET c1=value1 WHERE primarykey=pk1 Copyright © 2026, Oracle and/or its affiliates 29
  12. READ COMMITTED読み取り一貫性の実装 変更前のデータブロックをUNDO表領域に退避 変更対象データブロック アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 SQL 表(TABLE)

    データファイル UNDO表領域 データ表領域 変更前のデータブロック UPDATE table1 SET c1=value1 WHERE primarykey=pk1 変更したセッション 最新の変更が見える それ以外のセッション 変更前の値が見える Copyright © 2026, Oracle and/or its affiliates 30
  13. ROLLBACK UNDOブロックを書き戻すことで更新前の状態に戻る 変更対象データブロック アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 SQL 表(TABLE) データファイル

    UNDO表領域 データ表領域 変更前のデータブロック ROLLBACK Copyright © 2026, Oracle and/or its affiliates 31 変更前のデータブロックを戻す
  14. COMMIT後に変更前のUNDOブロックをガベージコレクション 最新状態のデータブロックはアドレス不変 変更対象データブロック アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 SQL 表(TABLE) データファイル

    UNDO表領域 データ表領域 変更前のデータブロック COMMIT 最新状態のブロック アドレス不変 変更前のブロック ガベージコレクション COMMIT後にいつか、そのうち、 UNDO表領域があふれる前に Copyright © 2026, Oracle and/or its affiliates 32
  15. Oracle AI Databaseアーキテクチャ Oracleサーバー・プロセスがメモリを更新しバックグラウンド・プロセスがファイルに永続化 REDOログ・バッファ (REDOログ用の書き込みバッファ・メモリー) オンラインREDOログ・ファイル LGWR oracle Oracleサーバー・プロセス

    ログ・ライター・プロセス データベース・バッファ・キャッシュ (データブロック用のキャッシュ・メモリー) DBWn データベース・ライター・プロセス データファイル 共有メモリー領域 System Global Area (SGA) OS REDO REDO Copyright © 2026, Oracle and/or its affiliates 35
  16. REDOログはデータブロックを変更 する/した 差分 どっち? REDOログ生成とデータブロック変更のどちらが先? オンラインREDOログ・ファイル LGWR oracle Oracleサーバー・プロセス ログ・ライター・プロセス

    DBWn データベース・ライター・プロセス データファイル SGA OS REDO REDO 更新「する」差分? 更新「した」差分? REDOログ・バッファ (REDOログ用の書き込みバッファ・メモリー) データベース・バッファ・キャッシュ (データブロック用のキャッシュ・メモリー) Copyright © 2026, Oracle and/or its affiliates 38
  17. 1. REDOデータを生成し、 オンラインREDOログ・ファイル LGWR oracle Oracleサーバー・プロセス ログ・ライター・プロセス DBWn データベース・ライター・プロセス データファイル

    SGA OS REDO REDO 1. Oracleサーバー・プロセス がREDOログを生成 REDOログ・バッファ (REDOログ用の書き込みバッファ・メモリー) データベース・バッファ・キャッシュ (データブロック用のキャッシュ・メモリー) Copyright © 2026, Oracle and/or its affiliates 39
  18. 1. REDOデータを生成し、 2. データブロックに適用 オンラインREDOログ・ファイル LGWR oracle Oracleサーバー・プロセス ログ・ライター・プロセス DBWn

    データベース・ライター・プロセス データファイル SGA OS REDO REDO 1. Oracleサーバー・プロセス がREDOログを生成 2. Oracleサーバー・プロセスが REDOをデータブロックに適用 REDO REDOログ・バッファ (REDOログ用の書き込みバッファ・メモリー) データベース・バッファ・キャッシュ (データブロック用のキャッシュ・メモリー) Copyright © 2026, Oracle and/or its affiliates 40
  19. 複数セッションでの変更は抽象データ空間では並行でも、物理データ構造では直列 oracle Oracleサーバー・プロセス SGA REDO oracle oracle REDO REDO 物理データ構造の変更は直列

    SQL 1 SQL 2 SQL 3 SQL 1 SQL 2 SQL 3 SQL 1 SQL 2 SQL 3 抽象データ空間の変更は並行 SCN Copyright © 2026, Oracle and/or its affiliates 42
  20. System Change Number (SCN) 物理時計 • 時刻を表すOSが進める時計 • 世界の絶対時刻を決める、が現実にはゆらぐし、他のマシンのOS時刻ともずれている •

    巻き戻ることもあり得るのであまり信用できない 論理時計 • データベース作成時点から単調増加するOracleインスタンスが進める時計 • イベントの相対順序を決める • SCNの相対的な大小関係が重要で、値が連続とは限らない(大きく増加する場合がある) • SCNの絶対値に意味はないが、たまに物理時計と対応づけられる Oracleデータベース内のイベントの相対順序を決める論理時計 データベースの変更順序はSCNの昇順 Copyright © 2026, Oracle and/or its affiliates 43
  21. 抽象データ空間の変更 → 物理データ構造の変更 REDOログ ≒ SCN + アドレス + 変更内容

    データブロック アドレスの概念がない 抽象データ空間 REDOログ アドレスの概念がある 物理データ構造 UPDATE table1 SET c1=value1 WHERE primarykey=pk1 いつ、どのデータブロックの、どこを、 どう変更するか ≒ SCN + アドレス + 変更内容 SQL SQL: 抽象データ空間の変更 REDOログ: 物理データ構造の変更 表(TABLE) データファイル Copyright © 2026, Oracle and/or its affiliates 44
  22. 複数セッションでの変更は抽象データ空間では並行でも、物理データ構造では直列 データベース内で発生したイベントはSystem Change Number(SCN)の昇順 oracle Oracleサーバー・プロセス SGA REDO oracle oracle

    REDO REDO 物理データ構造の変更は直列 SQL 1 SQL 2 SQL 3 SQL 1 SQL 2 SQL 3 SQL 1 SQL 2 SQL 3 抽象データ空間の変更は並行 REDOログ ≒ SCN + アドレス + 変更内容 SCN Copyright © 2026, Oracle and/or its affiliates 45
  23. REDOログから理解するOracle AI Databaseの復旧戦略 データブロック REDOログ 論理レプリケーション 論理バックアップ/エクスポート 物理バックアップ 物理レプリケーション 機能概念

    アドレスの概念がある 物理データ構造 物理 - 状態 SQL アドレスの概念がない 抽象データ空間 論理 - 状態 論理 - 差分 物理 - 差分 • Data Guardロジカル・スタンバイ • GoldenGate • Data Pump • Data Guardフィジカル・スタンバイ • Recovery Manager (RMAN) 表(TABLE) データファイル 複製階層 Copyright © 2026, Oracle and/or its affiliates 46 1. 変更 2. 物理 - 状態 3. 物理 - 差分 4. 論理 - 状態 5. 論理 - 差分
  24. アーカイブREDOログ・ファイルのバックアップ オンラインREDOログ・ファイルの複製の複製 INSERT UPDATE DELETE オンラインREDOログ アーカイブREDOログ 時刻t0 INSERT UPDATE

    DELETE INSERT UPDATE DELETE 時間 時刻t1 バックアップ バックアップ アーカイブREDOログの複製 データファイルの複製 時刻t0のデータファイルを複製 アーカイブREDOログ・ファイルが生成されたら複製 Copyright © 2026, Oracle and/or its affiliates 51
  25. データファイルの破損障害 INSERT UPDATE DELETE オンラインREDOログ アーカイブREDOログ 時刻t0 INSERT UPDATE DELETE

    INSERT UPDATE DELETE 時間 時刻t1にデータファイルの破損を検出した 時刻t1 バックアップ バックアップ アーカイブREDOログの複製 データファイルの複製 Copyright © 2026, Oracle and/or its affiliates 52
  26. データファイルのリストア 過去のある時点のデータファイルの複製を戻す INSERT UPDATE DELETE オンラインREDOログ アーカイブREDOログ 時間 時刻t0 時刻t1

    データファイル障害発生 INSERT UPDATE DELETE INSERT UPDATE DELETE 時刻t0に取得したデータ・ファイルのバックアップに は最新でも時刻t0までの情報しか含まれていない バックアップ リストア (データファイルの書き戻し) Copyright © 2026, Oracle and/or its affiliates 53
  27. リカバリ REDOログでロールフォワード → 最後にUNDOブロックでロールバック INSERT UPDATE DELETE オンラインREDOログ アーカイブREDOログ 時間

    時刻t0 データファイル障害発生 INSERT UPDATE DELETE INSERT UPDATE DELETE リカバリ (ロールフォワード + ロールバック) 時刻t1 リストア (データファイルの書き戻し) REDOログが存在する ところまで復元できる バックアップ バックアップ Copyright © 2026, Oracle and/or its affiliates 54
  28. 1. REDOデータを生成し、 2. データブロックに適用 (再掲) REDOログ・バッファ (REDOレコード用の書き込みバッファ・メモリー) オンラインREDOログ・ファイル LGWR oracle

    Oracleサーバー・プロセス ログ・ライター・プロセス データベース・バッファ・キャッシュ (データブロック用のキャッシュ・メモリー) DBWn データベース・ライター・プロセス データファイル SGA OS REDO REDO 1. Oracleサーバー・プロセス がREDOログを生成 2. Oracleサーバー・プロセスが REDOをデータブロックに適用 REDO Copyright © 2026, Oracle and/or its affiliates 55
  29. 物理バックアップ/リストア/リカバリ バックアップ - データファイルとアーカイブREDOログ・ファイルをバックアップ・ストレージに複製 LGWR oracle データベースの更新 DBWn SGA REDO

    REDO REDO 1. バックアップ オンラインREDOログ REDO アーカイブREDOログ データファイル バックアップ・ストレージ Copyright © 2026, Oracle and/or its affiliates 56
  30. 物理バックアップ/リストア/リカバリ リストア - バックアップ・ストレージからファイルを書き戻す LGWR oracle データベースの更新 DBWn SGA REDO

    REDO REDO SGA 1. バックアップ 2. リストア データベースのリカバリ oracle オンラインREDOログ REDO アーカイブREDOログ データファイル データファイル バックアップ・ストレージ Copyright © 2026, Oracle and/or its affiliates 57
  31. 物理バックアップ/リストア/リカバリ リカバリ - データブロックにREDOログを適用 LGWR oracle データベースの更新 DBWn SGA REDO

    REDO REDO DBWn SGA 1. バックアップ 2. リストア 3. リカバリ データベースのリカバリ oracle REDO オンラインREDOログ REDO アーカイブREDOログ データファイル データファイル バックアップ・ストレージ Copyright © 2026, Oracle and/or its affiliates 58
  32. 「データベースのリカバリ」は「データベースの変更」の完全な再現 データブロックにREDOログを適用 LGWR oracle データベースの更新 DBWn SGA REDO REDO REDO

    DBWn SGA バックアップ・ストレージ 1. バックアップ 2. リストア 3. リカバリ データベースのリカバリ oracle REDO オンラインREDOログ REDO アーカイブREDOログ データファイル データファイル Copyright © 2026, Oracle and/or its affiliates 59
  33. オンライン・バックアップ データベースの変更を止めずにデータファイルを複製 LGWR oracle データベースの更新 DBWn SGA REDO REDO REDO

    1. バックアップ オンラインREDOログ REDO アーカイブREDOログ データファイル バックアップ・ストレージ Copyright © 2026, Oracle and/or its affiliates 61
  34. オンライン・バックアップ データベースの変更を止めずにデータファイルを複製 DBWn データファイル oracle RMAN Oracleサーバー・プロセス データファイルの複製 (バックアップ・ファイル) Oracleサーバー・プロセスがデータファイルを順次

    読んでバックアップ・ストレージに複製 データファイルの複製中も変更される COMMIT前のデータブロックも書き戻される Copyright © 2026, Oracle and/or its affiliates 62
  35. オンライン・バックアップ - 複製されたデータファイルは整合性がない データベースの変更を止めずにデータファイルを複製 DBWn データファイルの複製中も変更される COMMIT前のデータブロックも書き戻される データファイル oracle RMAN

    Oracleサーバー・プロセス データファイルの複製 (バックアップ・ファイル) 特定時刻の静止点ではない 整合性はとれていない(未COMMITブロック含む) Copyright © 2026, Oracle and/or its affiliates 63
  36. オンライン・バックアップからのリカバリ - ロールフォワード REDOログでデータブロックを変更 - アーカイブREDOログ必須 オンライン・バックアップから リストアしたデータファイル UNDO表領域 データ表領域

    REDO REDO REDO REDO REDO REDO SCN REDOログでロールフォワード 最新のデータブロック 変更前のデータブロック COMMIT未完了トランザクションのデータブロックを含む Copyright © 2026, Oracle and/or its affiliates 65
  37. オンライン・バックアップからのリカバリ - ロールバック UNDOブロックで整合性がとれた状態になる オンライン・バックアップから リストアしたデータファイル COMMIT未完了トランザクションのデータブロックを UNDOブロックでロールバック(というREDOログを生成) UNDO表領域 データ表領域

    REDO REDO REDO REDO REDO REDO SCN REDOログでロールフォワード UNDOブロックでロールバック 最新のデータブロック 変更前のデータブロック Copyright © 2026, Oracle and/or its affiliates 67 REDOログでリカバリして整合性をとることを前提に オンライン・バックアップのデータファイルには整合性がない
  38. 物理バックアップからのリストア・リカバリ 過去のデータファイルの複製からREDOログが存在するところまでリカバリできる INSERT UPDATE DELETE オンラインREDOログ アーカイブREDOログ 時間 時刻t0 データファイル障害発生

    INSERT UPDATE DELETE INSERT UPDATE DELETE リカバリ (REDOログの適用) 時刻t1 リストア (データファイルの書き戻し) REDOログが存在する ところまで復元できる バックアップ バックアップ Copyright © 2026, Oracle and/or its affiliates 68
  39. 物理バックアップからのリストア・リカバリ - REDOログを消失する可能性 破損するのはデータファイルだけとは限らない INSERT UPDATE DELETE オンラインREDOログ アーカイブREDOログ 時間

    時刻t0 データファイル障害発生 INSERT UPDATE DELETE INSERT UPDATE DELETE リカバリ (REDOログの適用) 時刻t1 リストア (データファイルの書き戻し) REDOログが存在する ところまで復元できる バックアップ バックアップ Copyright © 2026, Oracle and/or its affiliates 70
  40. REDOログの生成と保存 メモリーからストレージへ LGWR プライマリ・データベース REDOログ・バッファ オンラインREDOログ・ファイル ログ・ライター・プロセス アーカイブREDOログ・ファイル oracle ARCH

    Oracleサーバー・プロセス アーカイバ・プロセス REDO REDO REDO メモリー(揮発性) ストレージ(不揮発性) REDOログの生成 Copyright © 2026, Oracle and/or its affiliates 71
  41. REDOログの生成と保存 メモリーからストレージへ LGWR プライマリ・データベース REDOログ・バッファ オンラインREDOログ・ファイル ログ・ライター・プロセス アーカイブREDOログ・ファイル oracle ARCH

    Oracleサーバー・プロセス アーカイバ・プロセス REDO REDO REDO メモリー(揮発性) ストレージ(不揮発性) REDOログの生成 REDOログ・バッファにある程度たまったら、または COMMITでオンラインREDOログ・ファイルに書き込み Copyright © 2026, Oracle and/or its affiliates 72
  42. REDOログの生成と保存 メモリーからストレージへ LGWR プライマリ・データベース REDOログ・バッファ オンラインREDOログ・ファイル ログ・ライター・プロセス アーカイブREDOログ・ファイル oracle ARCH

    Oracleサーバー・プロセス アーカイバ・プロセス REDO REDO REDO メモリー(揮発性) ストレージ(不揮発性) REDOログの生成 REDOログ・バッファにある程度たまったら、または COMMITでオンラインREDOログ・ファイルに書き込み オンラインREDOログ・ファイル1本分書き込み完了したら アーカイブREDOログ・ファイルに複製可能 Copyright © 2026, Oracle and/or its affiliates 73
  43. REDOログがデータベース・ストレージにとどまっている時間 ストレージ障害で最新の更新差分が消失するリスク LGWR プライマリ・データベース REDOログ・バッファ オンラインREDOログ・ファイル ログ・ライター・プロセス アーカイブREDOログ・ファイル oracle ARCH

    Oracleサーバー・プロセス アーカイバ・プロセス REDO REDO REDO バックアップ RMAN アーカイブREDOログ・ファイル1本分 書き込み完了したら送出可能 書き込み完了 メモリー(揮発性) ストレージ(不揮発性) Copyright © 2026, Oracle and/or its affiliates 74
  44. バックアップという方式の課題 ストレージ障害で直近のREDOログが消失する場合がある INSERT UPDATE DELETE オンラインREDOログ アーカイブREDOログ 時間 時刻t0 データファイル障害発生

    INSERT UPDATE DELETE INSERT UPDATE DELETE 時刻t1 リストア (データファイルの書き戻し) バックアップ バックアップ リカバリ (REDOログの適用) REDOログが存在すると ころまでしか復旧できない Copyright © 2026, Oracle and/or its affiliates 75
  45. Recovery Point Objective (RPO) - 目標復旧時点 バックアップが存在する時点までなら復旧可能 INSERT UPDATE DELETE

    オンラインREDOログ アーカイブREDOログ 時間 時刻t0 データファイル障害発生 INSERT UPDATE DELETE INSERT UPDATE DELETE 時刻t1 リストア (データファイルの書き戻し) バックアップ バックアップ リカバリ (REDOログの適用) REDOログが存在すると ころまでしか復旧できない Recovery Point Objective 目標復旧時点 Copyright © 2026, Oracle and/or its affiliates 76
  46. REDOログから理解するOracle AI Databaseの復旧戦略 データブロック REDOログ 論理レプリケーション 論理バックアップ/エクスポート 物理バックアップ 物理レプリケーション 機能概念

    アドレスの概念がある 物理データ構造 物理 - 状態 SQL アドレスの概念がない 抽象データ空間 論理 - 状態 論理 - 差分 物理 - 差分 • Data Guardロジカル・スタンバイ • GoldenGate • Data Pump • Data Guardフィジカル・スタンバイ • Recovery Manager (RMAN) 表(TABLE) データファイル 複製階層 Copyright © 2026, Oracle and/or its affiliates 77 1. 変更 2. 物理 - 状態 3. 物理 - 差分 4. 論理 - 状態 5. 論理 - 差分
  47. REDOログが生成されたらすぐにネットワーク転送 - Data Guard ストレージ障害で最新の更新差分が消失するリスクを極小化 LGWR プライマリ・データベース REDOログ・バッファ オンラインREDOログ・ファイル ログ・ライター・プロセス

    アーカイブREDOログ・ファイル oracle ARCH Oracleサーバー・プロセス アーカイバ・プロセス REDO REDO REDO バックアップ RMAN アーカイブREDOログ・ファイル1本分 書き込み完了したら送出可能 書き込み完了 Data Guard REDOログ・バッファのメモリーから送出 Copyright © 2026, Oracle and/or its affiliates 79
  48. REDOログが生成されたらすぐにネットワーク転送 - Data Guard ストレージ障害で最新の更新差分が消失するリスクを極小化 LGWR プライマリ・データベース REDOログ・バッファ オンラインREDOログ・ファイル ログ・ライター・プロセス

    アーカイブREDOログ・ファイル oracle ARCH Oracleサーバー・プロセス アーカイバ・プロセス REDO REDO REDO スタンバイREDOログ・ファイル アーカイブREDOログ・ファイル スタンバイ・データベース RFS ARCH REDO REDO REDOログが生成されたら短時間で別の データベース・サーバーにネットワーク転送 同一内容 Copyright © 2026, Oracle and/or its affiliates 80
  49. 「データベースのリカバリ」は「データベースの変更」の完全な再現 (再掲) データブロックにREDOログを適用 LGWR oracle データベースの更新 DBWn SGA REDO REDO

    REDO DBWn SGA バックアップ・ストレージ 1. バックアップ 2. リストア 3. リカバリ データベースのリカバリ oracle REDO オンラインREDOログ REDO アーカイブREDOログ データファイル データファイル Copyright © 2026, Oracle and/or its affiliates 81
  50. Data Guardフィジカル・スタンバイ - 最初は物理バックアップのフル・リストア LGWR oracle プライマリ・データベース DBWn SGA REDO

    REDO REDO バックアップ・ストレージ 1. バックアップ 2. リストア スタンバイ・データベース オンラインREDOログ REDO アーカイブREDOログ データファイル データファイル SGA Copyright © 2026, Oracle and/or its affiliates 82
  51. Data Guardフィジカル・スタンバイ - 「データベースの変更」の完全な再現 REDOログ生成直後に複製 LGWR oracle プライマリ・データベース DBWn SGA

    REDO REDO REDO DBWn SGA バックアップ・ストレージ 1. バックアップ 2. リストア スタンバイ・データベース オンラインREDOログ REDO アーカイブREDOログ データファイル データファイル REDOログが生成 されたらすぐ転送 REDO oracle REDO Copyright © 2026, Oracle and/or its affiliates 83
  52. Data Guardフィジカル・スタンバイ - 「データベースの変更」の完全な再現 別のデータベース・サーバーで継続的ロールフォワード LGWR oracle プライマリ・データベース DBWn SGA

    REDO REDO REDO DBWn SGA バックアップ・ストレージ 1. バックアップ 2. リストア スタンバイ・データベース オンラインREDOログ REDO アーカイブREDOログ データファイル データファイル REDOログが生成 されたらすぐ転送 REDO oracle REDO 3. 継続的ロールフォワード Copyright © 2026, Oracle and/or its affiliates 84
  53. Data Guardフィジカル・スタンバイ - プライマリ・データベースの連続的な複製 物理バックアップ/リストア/リカバリの応用 プライマリ・データベース スタンバイ・データベース REDOログが生成されたらすぐ転送 → REDOログ消失リスク極小

    REDO データファイル REDOログ・ファイル 継続的ロールフォワード → ほぼ最新の状態に追従 抽象データ空間の 変更操作 REDO データファイル REDOログ・ファイル SQL Copyright © 2026, Oracle and/or its affiliates 85
  54. Data Guardフィジカル・スタンバイ - それでも物理バックアップは必要? プライマリ・データベース スタンバイ・データベース REDOログが生成されたらすぐ転送 → REDOログ消失リスク極小 REDO

    データファイル REDOログ・ファイル SQL REDO データファイル REDOログ・ファイル 抽象データ空間の 変更操作 REDO 物理バックアップ 継続的ロールフォワード → ほぼ最新の状態に追従 Copyright © 2026, Oracle and/or its affiliates 86
  55. Data Guardフィジカル・スタンバイ - それでも物理バックアップは必要 時間軸上でカバーする範囲が異なる プライマリ・データベース スタンバイ・データベース REDOログが生成されたらすぐ転送 → REDOログ消失リスク極小

    REDO データファイル REDOログ・ファイル SQL REDO データファイル REDOログ・ファイル 抽象データ空間の 変更操作 REDO 物理バックアップ 物理バックアップ 過去の状態の保存 Data Guardスタンバイ・データベース 現在の状態からの継続 継続的ロールフォワード → ほぼ最新の状態に追従 Copyright © 2026, Oracle and/or its affiliates 87
  56. Data Guardフィジカル・スタンバイ - 現在の状態から継続 INSERT UPDATE DELETE 時間 INSERT UPDATE

    DELETE 時刻t1(ストレージ障害) オンラインREDOログ・ファイル アーカイブREDOログ・ファイル Data Guardフィジカル・スタンバイ (REDOログ転送+継続的リカバリ) • 現在の状態から短時間で継続 • ただし、過去のデータには戻せない Copyright © 2026, Oracle and/or its affiliates 88
  57. 物理データ構造の複製 - 時間軸上でのカバー範囲が異なる Data Guardを構成していても物理バックアップは必要 INSERT UPDATE DELETE 時間 INSERT

    UPDATE DELETE 時刻t1(ストレージ障害) RMAN (物理バックアップ) Recovery Point Objective 目標復旧時点 • 過去の状態の保存 • ただし、リストア/リカバリに時間がかかる オンラインREDOログ・ファイル アーカイブREDOログ・ファイル Data Guardフィジカル・スタンバイ (REDOログ転送+継続的リカバリ) • 現在の状態から短時間で継続 • ただし、過去のデータには戻せない Copyright © 2026, Oracle and/or its affiliates 89
  58. 物理バックアップでRPO≒0を実現するには? ストレージ障害で最新の更新差分が消失するリスク INSERT UPDATE DELETE 時間 INSERT UPDATE DELETE 時刻t1(ストレージ障害)

    RMAN (物理バックアップ) Recovery Point Objective 目標復旧時点 オンラインREDOログ・ファイル アーカイブREDOログ・ファイル REDOログの複製が存在しない期間 ストレージ障害で消失の可能性 一般的なストレージに物理バックアップ Copyright © 2026, Oracle and/or its affiliates 90
  59. 物理バックアップでRPO≒0を実現するには? Zero Data Loss Recovery Appliance: RMAN物理バックアップ + REDO転送 INSERT

    UPDATE DELETE 時間 INSERT UPDATE DELETE 時刻t1(ストレージ障害) RMAN (物理バックアップ) Recovery Point Objective 目標復旧時点 過去の状態の保存 データファイル+アーカイブREDOログの複製 オンラインREDOログ・ファイル アーカイブREDOログ・ファイル REDOログが生成されたらすぐ転送 最新のREDOログの複製 RMAN (物理バックアップ) REDO転送 (Data Guard機能の流用) 一般的なストレージに物理バックアップ Zero Data Loss Recovery Appliance RMAN物理バックアップ + REDO転送 Copyright © 2026, Oracle and/or its affiliates 91
  60. Zero Data Loss Recovery Appliance (ZDLRA) Recovery Point Objective ≒

    0 を可能にするバックアップ • データベース・サーバーで生成されたREDOログ情報を即時転送 • Data GuardのREDO転送の仕組みを流用 増分バックアップからのリストア時間増を解消 • 仮想フル・バックアップ - 増分バックアップの断片からフル・バックアップ・ファイルを合成 - ずっと増分バックアップのみで運用可能(永久増分バックアップ) バックアップしたファイルを保護 • データベース・サーバーからはストレージとしては見えない • RMAN DELETEコマンドでも削除できないリテンション・ポリシー • 暗号化 • 継続的な異常検査 Oracle AI Database専用のバックアップ・リカバリ・アプライアンス Copyright © 2026, Oracle and/or its affiliates 92
  61. REDOログはロールフォワードのみ可能 - 現在から過去にさかのぼることができない INSERT UPDATE DELETE オンラインREDOログ アーカイブREDOログ 時刻t0 INSERT

    UPDATE DELETE INSERT UPDATE DELETE 時刻t1 過去に遡れない ロールフォワードのみ可能 Copyright © 2026, Oracle and/or its affiliates 94
  62. リストアしてREDOログ適用を途中で止めるとその時点の時間断面になる Point In Time Recovery INSERT UPDATE DELETE オンラインREDOログ アーカイブREDOログ

    時間 時刻t0 INSERT UPDATE DELETE INSERT UPDATE DELETE 時刻t1 リストア (データファイルの書き戻し) バックアップ バックアップ リカバリ (REDOログの適用) REDOログ適用を指定 時刻で止める Copyright © 2026, Oracle and/or its affiliates 95
  63. リストアしてREDOログ適用を途中で止めるとその時点の時間断面になる Point In Time Recovery INSERT UPDATE DELETE オンラインREDOログ アーカイブREDOログ

    時間 時刻t0 INSERT UPDATE DELETE INSERT UPDATE DELETE 時刻t1 リストア (データファイルの書き戻し) バックアップ バックアップ リカバリをどこで止めるかを指定してRESTORE/RECOVERコマンド発行 RMAN> SET UNTIL SCN(論理時計) または TIME(物理時計); RMAN> RESTORE DATABASE; RMAN> RECOVER DATABASE; リカバリ (REDOログの適用) REDOログ適用を指定 時刻で止める Copyright © 2026, Oracle and/or its affiliates 96
  64. 過去のデータにアクセスする REDOログをたどって現在から過去にさかのぼることができない • REDOログはロールフォワードのみ Point In Time Recovery • データファイルをリストアして、指定した時刻でREDOログのリカバリを止める

    • 全データファイルのリストアとリカバリは相応の時間がかかる UNDOブロックを使用した読み取り一貫性 • 過去のデータが一時的に保存されている • その応用、Flashback Technologies Copyright © 2026, Oracle and/or its affiliates 98
  65. READ COMMITTED読み取り一貫性の実装 (再掲) 変更前のデータブロックをUNDO表領域に退避 変更対象データブロック アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 SQL

    表(TABLE) データファイル UNDO表領域 データ表領域 変更前のデータブロック UPDATE table1 SET c1=value1 WHERE primarykey=pk1 変更したセッション 最新の変更が見える それ以外のセッション 変更前の値が見える Copyright © 2026, Oracle and/or its affiliates 100
  66. 過去のデータにアクセスする - Flashback Technologies 機能 対象 主用途 何が必要? Flashback Query

    行 過去参照 UNDO Flashback Version Query 行履歴 変更追跡 UNDO Flashback Transaction Query トランザクション Undo SQLを生成 UNDO,サプリメンタル・ロギング Flashback Table 表 表復元 物理バックアップ Flashback Drop 表 DROP取り消し 表領域の空き容量 Flashback Database DB全体 DB巻戻し Flashback Log Flashback Data Archive 長期履歴 監査 履歴表を作る Flashback Transaction Backout 特定Tx 個別取消 Copyright © 2026, Oracle and/or its affiliates 101
  67. 過去のデータにアクセスする - Flashback Technologies UNDOブロックは変更前のあるSCNの状態 - の応用 機能 対象 主用途

    何が必要? Flashback Query 行 過去参照 UNDO Flashback Version Query 行履歴 変更追跡 UNDO Flashback Transaction Query トランザクション Undo SQLを生成 UNDO,サプリメンタル・ロギング Flashback Table 表 表復元 物理バックアップ Flashback Drop 表 DROP取り消し 表領域の空き容量 Flashback Database DB全体 DB巻戻し Flashback Log Flashback Data Archive 長期履歴 監査 履歴表を作る Flashback Transaction Backout 特定Tx 個別取消 Copyright © 2026, Oracle and/or its affiliates 102
  68. Flashback Technologies - UNDOブロックによるスナップショットの応用 変更前のデータブロックをUNDO表領域に退避 変更対象データブロック アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造

    SQL 表(TABLE) データファイル UNDO表領域 データ表領域 変更前のデータブロック Flashback Query (過去の値をSELECT) SELECT … AS OF SCN(論理時計) または TIMESTAMP(物理時計) Flashback Version Query (過去の値の履歴をSELECT) SELECT … VERSIONS BETWEEN SCN または TIME start to end Copyright © 2026, Oracle and/or its affiliates 103
  69. UNDOブロックの高頻度バックアップ領域 - Flashback Log UNDO表領域とは別のストレージ領域にUNDOブロックを高頻度複製 変更対象データブロック データファイル UNDO表領域 データ表領域 変更前のデータブロック

    • Flashback Query • Flashback Version Query 増大 過去の状態の保存 ガベージコレクションせずに残しておく Flashback Log UNDOブロックの高頻度バックアップ Copyright © 2026, Oracle and/or its affiliates 106
  70. Flashback Database UNDOブロックをリストアしてPoint In Time Recovery - データファイル全体のリストアより高速 変更対象データブロック データファイル

    UNDO表領域 データ表領域 変更前のデータブロック 増大 Flashback Database UNDOブロックをリストアしてPoint In Time Recovery Flashback Log領域 UNDOブロックの高頻度バックアップ Copyright © 2026, Oracle and/or its affiliates 107
  71. Flashback Database UNDOブロックをリストアしてPoint In Time Recovery - データファイル全体のリストアより高速 変更対象データブロック データファイル

    UNDO表領域 データ表領域 変更前のデータブロック 増大 Flashback Database UNDOブロックをリストアしてPoint In Time Recovery Flashback Log領域 UNDOブロックの高頻度バックアップ リカバリをどこで止めるかを指定してFLASHBACKコマンド発行 SQL> FLASHBACK DATABASE TO SCN(論理時計) または TIMESTAMP(物理時計); Copyright © 2026, Oracle and/or its affiliates 108
  72. Point In Time Recovery リストアするデータブロックと、どこからどれだけのデータブロックにREDOログをロールフォワードするか INSERT UPDATE DELETE 時間 INSERT

    UPDATE DELETE 時刻t1(ストレージ障害) オンラインREDOログ・ファイル アーカイブREDOログ・ファイル 全データブロック(低頻度複製)リストア + ロールフォワード UNDOブロックのみ(高頻度複製)リストア + ロールフォワード 物理バックアップ 全データブロックのリストア/リカバリ Flashback Database UNDOブロックのみのリストア/リカバリ Copyright © 2026, Oracle and/or its affiliates 109 全データブロック UNDOブロック PITR指定時刻
  73. 時間軸上でのカバー範囲 - 過去のデータにアクセス ストレージ容量の許す限り過去にさかのぼることが可能 INSERT UPDATE DELETE 時間 INSERT UPDATE

    DELETE 時刻t1(ストレージ障害) RMAN (物理バックアップ) オンラインREDOログ・ファイル アーカイブREDOログ・ファイル データファイル(低頻度複製) + REDOログ・ファイル Flashback Log(高頻度複製) + REDOログ・ファイル Flashback Database (スナップショット) Copyright © 2026, Oracle and/or its affiliates 110 物理バックアップ 全データブロックの低頻度バックアップ Flashback Database UNDOブロックのみの高頻度バックアップ
  74. スナップショット - それ自体は物理バックアップにあらず Oracle AI Databaseのスナップショット技術を使った機能 • 読み取り一貫性 • Flashback

    Technologies • Exadata Storage スナップショットによるPDBクローン 「物理ストレージが正常」という前提で過去データのイメージを合成する機能 ストレージ障害から障害前のイメージにもどせる機能にあらず 物理バックアップの代わりにはならない Copyright © 2026, Oracle and/or its affiliates 114
  75. REDOログから理解するOracle AI Databaseの復旧戦略 データブロック REDOログ 論理レプリケーション 論理バックアップ/エクスポート 物理バックアップ 物理レプリケーション 機能概念

    アドレスの概念がある 物理データ構造 物理 - 状態 SQL アドレスの概念がない 抽象データ空間 論理 - 状態 論理 - 差分 物理 - 差分 • Data Guardロジカル・スタンバイ • GoldenGate • Data Pump • Data Guardフィジカル・スタンバイ • Recovery Manager (RMAN) 表(TABLE) データファイル 複製階層 Copyright © 2026, Oracle and/or its affiliates 115 1. 変更 2. 物理 - 状態 3. 物理 - 差分 4. 論理 - 状態 5. 論理 - 差分
  76. ソース・データベース ターゲット・データベース 抽象データ空間の変更: 物理データ構造が一致しない 表(TABLE) データブロック REDOログ データファイル SQL アドレスの概念がない

    抽象データ空間 アドレスの概念がある 物理データ構造 データブロック REDOログ 抽象データ空間: 一致 物理データ構造: 不一致 同一のSQLを発行 Copyright © 2026, Oracle and/or its affiliates 117
  77. ソース・データベース ターゲット・データベース 抽象データ空間の変更: 物理データ構造が一致しない 物理データ構造が一致しない → 一致している必要がない 表(TABLE) データブロック REDOログ

    データファイル SQL アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 データブロック REDOログ 抽象データ空間: 一致 物理データ構造: 不一致 一致している必要がない 同一のSQLを発行 Copyright © 2026, Oracle and/or its affiliates 118
  78. ソース・データベース ターゲット・データベース 抽象データ空間での複製 データベース間のデータ連携ツールとしての用途 表(TABLE) データブロック REDOログ データファイル SQL アドレスの概念がない

    抽象データ空間 アドレスの概念がある 物理データ構造 論理 - 差分 データブロック REDOログ SQL 物理データ構造: 不一致 一致している必要がない 論理 - 状態 • Data Guardロジカル・スタンバイ • GoldenGate • Data Pump Copyright © 2026, Oracle and/or its affiliates 119
  79. REDOログから理解するOracle AI Databaseの復旧戦略 データブロック REDOログ 論理レプリケーション 論理バックアップ/エクスポート 物理バックアップ 物理レプリケーション 機能概念

    アドレスの概念がある 物理データ構造 物理 - 状態 SQL アドレスの概念がない 抽象データ空間 論理 - 状態 論理 - 差分 物理 - 差分 • Data Guardロジカル・スタンバイ • GoldenGate • Data Pump • Data Guardフィジカル・スタンバイ • Recovery Manager (RMAN) 表(TABLE) データファイル 複製階層 Copyright © 2026, Oracle and/or its affiliates 120 1. 変更 2. 物理 - 状態 3. 物理 - 差分 4. 論理 - 状態 5. 論理 - 差分
  80. ソース・データベース ターゲット・データベース 抽象データ空間での状態の複製 Data Pump 表(TABLE) データブロック REDOログ データファイル SQL

    アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 データブロック REDOログ 物理データ構造: 不一致 一致している必要がない 論理 - 状態 • Data Pump Copyright © 2026, Oracle and/or its affiliates 122
  81. READ COMMITTED読み取り一貫性の実装 (再掲) 変更前のデータブロックをUNDO表領域に退避 変更対象データブロック アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 SQL

    表(TABLE) データファイル UNDO表領域 データ表領域 変更前のデータブロック UPDATE table1 SET c1=value1 WHERE primarykey=pk1 変更したセッション 最新の変更が見える それ以外のセッション 変更前の値が見える Copyright © 2026, Oracle and/or its affiliates 123
  82. Data Pumpダンプ・ファイル - 特定時刻の一貫性のある時間断面 読み取り一貫性機能の応用 変更対象データブロック アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造

    expdp 表(TABLE) データファイル UNDO表領域 データ表領域 変更前のデータブロック 物理または論理時計の時刻を指定 FLASHBACK_TIME = … FLASHBACK_SCN = … Data Pumpダンプファイル 特定時刻の一貫性のある時間断面 論理 - 状態 Copyright © 2026, Oracle and/or its affiliates 124
  83. ソース・データベース ターゲット・データベース 抽象データ空間での状態の複製 - Data Pump ソース・データベースとターゲット・データベースは物理データ構造が異なる 表(TABLE) データブロック REDOログ

    データファイル SQL アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 データブロック REDOログ 物理データ構造: 不一致 論理 - 状態 Data Pumpダンプファイル 特定時刻の時間断面 Copyright © 2026, Oracle and/or its affiliates 125
  84. ソース・データベース ターゲット・データベース 抽象データ空間での状態の複製 - Data Pump 物理構造が異なるのでソース・データベースのREDOログは適用できない 表(TABLE) データブロック REDOログ

    データファイル SQL アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 データブロック REDOログ 物理データ構造: 不一致 論理 - 状態 Data Pumpダンプファイル 特定時刻の時間断面 Copyright © 2026, Oracle and/or its affiliates 126
  85. Data Pump - 特定SCNでの一貫性のある時間断面 REDOログは適用できないので時間軸上の幅ではなく1点を現す INSERT UPDATE DELETE 時間 INSERT

    UPDATE DELETE 時刻t1(ストレージ障害) オンラインREDOログ・ファイル アーカイブREDOログ・ファイル Data Pump 特定SCNの時間断面 / REDOログは適用できない Recovery Point Objective 目標復旧時点 ダンプ・ファイル 時間軸上の1点 Copyright © 2026, Oracle and/or its affiliates 127
  86. 物理バックアップと論理バックアップ どの時刻に戻せるか INSERT UPDATE DELETE 時間 INSERT UPDATE DELETE 時刻t1(ストレージ障害)

    RMAN (物理バックアップ) Recovery Point Objective 目標復旧時点 オンラインREDOログ・ファイル アーカイブREDOログ・ファイル RMAN物理バックアップ REDOログ適用で任意の時刻にロールフォワード可能 Data Pump 特定SCNの時間断面 / REDOログは適用できない Recovery Point Objective 目標復旧時点 物理 - 状態/差分 論理 - 状態 REDOログが存在するところまでリカバリ可能 ダンプ・ファイル 時間軸上の1点 Copyright © 2026, Oracle and/or its affiliates 128
  87. 状態の複製 - オンライン・バックアップ ソース・データベースの変更を停止せずに状態を複製 物理バックアップ - RMAN 論理バックアップ - Data

    Pump 複製の階層 物理 - 状態 論理 - 状態 バックアップ・ファイルのデータ一貫性 ない (未COMMITブロック含む) REDO+UNDOでのリカバリが前提 ある (読み取り一貫性の時間断面) バックアップ元の物理構造 同じ 異なる バックアップ元のREDOログの適用 可 不可 Copyright © 2026, Oracle and/or its affiliates 129
  88. 状態の複製 - オンライン・バックアップ ソース・データベースの変更を停止せずに状態を複製 物理バックアップ - RMAN 論理バックアップ - Data

    Pump 複製の階層 物理 - 状態 論理 - 状態 バックアップ・ファイルのデータ一貫性 ない (未COMMITブロック含む) REDO+UNDOでのリカバリが前提 ある (読み取り一貫性の時間断面) バックアップ元の物理構造 同じ 異なる バックアップ元のREDOログの適用 可 不可 用途 データベース全体の複製 障害への備え 指定した表だけ複製 データベース間のデータ連携 Copyright © 2026, Oracle and/or its affiliates 130
  89. REDOログから理解するOracle AI Databaseの復旧戦略 データブロック REDOログ 論理レプリケーション 論理バックアップ/エクスポート 物理バックアップ 物理レプリケーション 機能概念

    アドレスの概念がある 物理データ構造 物理 - 状態 SQL アドレスの概念がない 抽象データ空間 論理 - 状態 論理 - 差分 物理 - 差分 • Data Guardロジカル・スタンバイ • GoldenGate • Data Pump • Data Guardフィジカル・スタンバイ • Recovery Manager (RMAN) 表(TABLE) データファイル 複製階層 Copyright © 2026, Oracle and/or its affiliates 131 1. 変更 2. 物理 - 状態 3. 物理 - 差分 4. 論理 - 状態 5. 論理 - 差分
  90. Oracle AI DatabaseはSQLを直接複製しない 表(TABLE) データブロック REDOログ データファイル SQL アドレスの概念がない 抽象データ空間

    アドレスの概念がある 物理データ構造 SQLの複製 データブロック REDOログ ソース・データベース ターゲット・データベース SQLを直接複製する機能はない Copyright © 2026, Oracle and/or its affiliates 133 論理 - 差分 SQL
  91. ソース・データベース ターゲット・データベース Oracle AI DatabaseはREDOログ(物理差分)からSQL(論理差分)を組み立てる SQLでターゲット・データベースを変更する 表(TABLE) データブロック REDOログ データファイル

    SQL アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 データブロック REDOログ SQL 物理データ構造の変更 論理データ構造の変更 物理 論理 ⇒ Copyright © 2026, Oracle and/or its affiliates 134
  92. データファイル 抽象データ空間の変更 → 物理データ構造の変更 (再掲) 表(TABLE) データブロック アドレスの概念がない 抽象データ空間 REDOログ

    アドレスの概念がある 物理データ構造 UPDATE table1 SET c1=value1 WHERE primarykey=pk1 どのデータブロックの、どこを、 どう変更するか ≒ アドレス + 変更内容 SQL SQL: 抽象データ空間の変更 REDOログ: 物理データ構造の変更 ≒ アドレス + 変更内容 Copyright © 2026, Oracle and/or its affiliates 135
  93. データファイル REDOログからSQLを組み立てることができるのか? 表(TABLE) データブロック アドレスの概念がない 抽象データ空間 REDOログ アドレスの概念がある 物理データ構造 UPDATE

    table1 SET c1=value1 WHERE primarykey=pk1 どのデータブロックの、どこを、 どう変更するか ≒ アドレス + 変更内容 SQL SQL: 抽象データ空間の変更 REDOログ: 物理データ構造の変更 REDOログ(物理) ⇒ SQL(論理) ? ≒ アドレス + 変更内容 Copyright © 2026, Oracle and/or its affiliates 136
  94. データファイル REDOログからSQLを組み立てることができるのか? → できない 不足している情報がある 表(TABLE) データブロック アドレスの概念がない 抽象データ空間 REDOログ

    アドレスの概念がある 物理データ構造 UPDATE table1 SET c1=value1 WHERE primarykey=pk1 どのデータブロックの、どこを、 どう変更するか ≒ アドレス + 変更内容 SQL SQL: 抽象データ空間の変更 REDOログ: 物理データ構造の変更 REDOログには抽象データ空間の行を特定 する情報(プライマリ・キー)が不足している ≒ アドレス + 変更内容 Copyright © 2026, Oracle and/or its affiliates 137
  95. データファイル サプリメンタル・ロギングの設定が必要 REDOログに抽象データ空間の位置を特定する情報(プライマリ・キー)を付加する 表(TABLE) データブロック アドレスの概念がない 抽象データ空間 REDOログ アドレスの概念がある 物理データ構造

    どのデータブロックの、どこを、 どう変更するか ≒ アドレス + 変更内容 SQL REDOログ: 物理データ構造の変更 ≒ アドレス + 変更内容 + プライマリ・キー Copyright © 2026, Oracle and/or its affiliates 138 サプリメンタル・ロギングの設定 SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
  96. データファイル サプリメンタル・ロギングの設定が必要 REDOログに抽象データ空間の位置を特定する情報(プライマリ・キー)を付加する 表(TABLE) データブロック アドレスの概念がない 抽象データ空間 REDOログ アドレスの概念がある 物理データ構造

    UPDATE table1 SET c1=value1 WHERE primarykey=pk1 どのデータブロックの、どこを、 どう変更するか ≒ アドレス + 変更内容 SQL SQL: 抽象データ空間の変更 REDOログ: 物理データ構造の変更 REDOログにプライマリ・キーを付加することで 行を特定したSQLが生成可能 ≒ アドレス + 変更内容 + プライマリ・キー Copyright © 2026, Oracle and/or its affiliates 139
  97. 2つの論理レプリケーション機能の初期状態 レプリケーション対象表の初期状態の構成階層が異なる 物理/論理 ソース・データベース ターゲット・データベース Data Guard ロジカル・スタンバイ GoldenGate データベース全体の複製

    1. データベース全体の物理バックアップをリストア 2. フィジカル・スタンバイをロジカル・スタンバイに変換 複製対象表のみ複製 1. 論理バックアップからレプリケーション対象表のみインポート RMAN(物理 - 状態) Data Pump(論理 - 状態) Copyright © 2026, Oracle and/or its affiliates 140 物理 - 状態 論理 - 状態
  98. 2つの論理レプリケーション機能の初期状態 レプリケーション対象表の初期状態の構成階層が異なる 物理/論理 ソース・データベース ターゲット・データベース データベース全体の複製 1. データベース全体の物理バックアップをリストア 2. フィジカル・スタンバイをロジカル・スタンバイに変換

    複製対象表のみ複製 1. 論理バックアップからレプリケーション対象表のみインポート RMAN(物理 - 状態) Data Pump(論理 - 状態) Data Guardロジカル・スタンバイ • 初期状態がソース・データベース全体の物理状態の複製 • データ連携ツールとしては使いにくい → 役目をGoldenGateに譲った • Data Guardフィジカル・スタンバイ構成からのメジャーバージョンアップ GoldenGate • 初期状態がレプリケーション対象表の論理状態の複製 • データ移行/メジャーバージョンアップ/連携ツール の主力 Copyright © 2026, Oracle and/or its affiliates 141 Data Guard ロジカル・スタンバイ GoldenGate
  99. GoldenGate - 複製の初期状態 複製対象表の特定SCNの時間断面をData Pumpで用意 INSERT UPDATE DELETE 時間 INSERT

    UPDATE DELETE 時刻t1 オンラインREDOログ・ファイル アーカイブREDOログ・ファイル GoldenGate 論理状態のインポート + REDOログからSQL組み立て 論理 - 初期状態 Data Pumpで特定SCNの時間断面 Copyright © 2026, Oracle and/or its affiliates 142
  100. GoldenGate - 特定SCNのREDOログから論理レプリケーション開始 Data Pumpで特定SCNの時間断面をエクスポートしたところからの論理差分を適用 INSERT UPDATE DELETE 時間 INSERT

    UPDATE DELETE 時刻t1 オンラインREDOログ・ファイル アーカイブREDOログ・ファイル GoldenGate 論理状態のインポート + REDOログからSQL組み立て REDOログからSQL組み立て 論理 - 初期状態 Data Pumpで特定SCNの時間断面 論理 - 差分 GoldenGateは指定SCN以降のREDOログからSQL組み立て Copyright © 2026, Oracle and/or its affiliates 143
  101. REDOログが生成されたらすぐにネットワーク転送 - Data Guard (再掲) ストレージ障害で最新の更新差分が消失するリスクを極小化 LGWR プライマリ・データベース REDOログ・バッファ オンラインREDOログ・ファイル

    ログ・ライター・プロセス アーカイブREDOログ・ファイル oracle ARCH Oracleサーバー・プロセス アーカイバ・プロセス REDO REDO REDO バックアップ RMAN アーカイブREDOログ・ファイル1本分 書き込み完了したら送出可能 書き込み完了 Data Guard REDOログ・バッファのメモリーから送出 Copyright © 2026, Oracle and/or its affiliates 144
  102. REDOログがデータベース・サーバーにとどまっている時間 ストレージ障害で最新の更新差分が消失するリスク LGWR プライマリ・データベース REDOログ・バッファ オンラインREDOログ・ファイル ログ・ライター・プロセス アーカイブREDOログ・ファイル oracle ARCH

    Oracleサーバー・プロセス アーカイバ・プロセス REDO REDO REDO バックアップ RMAN アーカイブREDOログ・ファイル1本分 書き込み完了したら送出可能 書き込み完了 Data Guard REDOログ・バッファのメモリーから送出 GoldenGate オンラインREDOログ・ファイルを読んで送出 Copyright © 2026, Oracle and/or its affiliates 145
  103. REDOログがデータベース・サーバーにとどまっている時間 ストレージ障害で最新の更新差分が消失するリスク LGWR プライマリ・データベース REDOログ・バッファ オンラインREDOログ・ファイル ログ・ライター・プロセス アーカイブREDOログ・ファイル oracle ARCH

    Oracleサーバー・プロセス アーカイバ・プロセス REDO REDO REDO バックアップ RMAN アーカイブREDOログ・ファイル1本分 書き込み完了したら送出可能 書き込み完了 Data Guard REDOログ・バッファのメモリーから送出 GoldenGate オンラインREDOログ・ファイルを読んで送出 Copyright © 2026, Oracle and/or its affiliates 146 • Oracle AI Databaseそのものが持つ仕組み • COMMIT伝搬の同期転送モードも可能 • Oracle AI Databaseの外付けの仕組み • 様々なデータ・ソースに対応可能
  104. 何を複製するのか - 実装手段は4階層ある データブロック REDOログ 論理レプリケーション 論理バックアップ/エクスポート 物理バックアップ 物理レプリケーション 機能概念

    アドレスの概念がある 物理データ構造 物理 - 状態 SQL アドレスの概念がない 抽象データ空間 論理 - 状態 論理 - 差分 物理 - 差分 • Data Guardロジカル・スタンバイ • GoldenGate • Data Pump • Data Guardフィジカル・スタンバイ • Recovery Manager (RMAN) 表(TABLE) データファイル 複製階層 Copyright © 2026, Oracle and/or its affiliates 147
  105. 「REDOログ」を起点としたデータ複製機能の関係 Recovery Manager (RMAN) Data Guardフィジカル・スタンバイ Flashback Technologies 読み取り一貫性 ZDLRA

    Data Guardロジカル・スタンバイ GoldenGate Data Pump データブロック更新 (REDOログ生成) データブロック物理バックアップ/REDOリカバリ 更新前データブロックのスナップショット REDO転送+リカバリ REDO転送 特定SCNでの時間断面 REDOログからSQL組み立て 指定SCN以降のREDOログからSQL組み立て 更新前データブロックの物理バックアップ/REDOリカバリ RMAN 複製対象表の特定SCNでの 初期状態の時間断面 Copyright © 2026, Oracle and/or its affiliates 148
  106. 何を複製するのか - 実装手段は4階層ある まずはRMAN物理バックアップ データブロック REDOログ 論理レプリケーション 論理バックアップ/エクスポート 物理バックアップ 物理レプリケーション

    機能概念 アドレスの概念がある 物理データ構造 物理 - 状態 SQL アドレスの概念がない 抽象データ空間 論理 - 状態 論理 - 差分 物理 - 差分 • Data Guardロジカル・スタンバイ • GoldenGate • Data Pump • Data Guardフィジカル・スタンバイ • Recovery Manager (RMAN) 表(TABLE) データファイル 複製階層 Copyright © 2026, Oracle and/or its affiliates 149