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

OracleTechnologyNight101_Oracle_Backup_Recovery...

 OracleTechnologyNight101_Oracle_Backup_Recovery_Strategy_from_REDO_UNDO

2026/07/30開催
実測 100分

■タイトル
REDOログから理解するOracle AI Databaseの復旧戦略 増補改訂版

■アブストラクト
2026年05月21日に開催されたオフラインイベントOracle Developer Day 2026の講演内容を増補改訂してお届けします。

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

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

Developer Dayでは40分しかなかったため動作原理の説明を簡略化していましたが、Tech Nightではこの辺りも丁寧に解説します。

Avatar for oracle4engineer

oracle4engineer PRO

July 30, 2026

Video

More Decks by oracle4engineer

Transcript

  1. Oracle Database Technology Night #101 REDOログから理解する Oracle AI Databaseの復旧戦略 増補改訂版

    日下部 明 マスター・プリンシパル・クラウド・エンジニア クラウド事業統括 AIプラットフォーム統括 AIデータベース・ソリューション部 日本オラクル株式会社 2026年7月30日
  2. REDOログから理解するOracle AI Databaseの復旧戦略 増補改訂版 0. リレーショナル・データベースのデータ構造 • 抽象(論理)データ空間と物理データ構造 抽象(論理) 物理

    状態 × 差分 3. 物理-差分の複製 • 物理レプリケーション • Data Guardフィジカル・スタンバイ 4種類の複製方式 4. 論理-状態の複製 • 論理バックアップ/エクスポート 1. データベースの変更 • Data Pump • REDOとUNDO • クラッシュからのリカバリ 5. 論理-差分の複製 • 論理レプリケーション 2. 物理-状態の複製 • 物理バックアップ • RMAN 5 Copyright © 2026, Oracle and/or its affiliates • Data Guardロジカル・スタンバイ • GoldenGate
  3. SELECT文の出力もまた表(TABLE) リレーショナル・データベースの表(TABLE)は順序がない行の集合 入力 (順序がない)行の集合 論理データ構造 SELECT ename, dname, job, empno,

    hiredate, loc FROM emp, dept WHERE emp.deptno = dept.deptno 出力 10 Copyright © 2026, Oracle and/or its affiliates (順序がない)行の集合
  4. 抽象化されたデータ空間のストレージ: 表領域(TABLESPACE) 表(TABLE) 表(TABLE) → 表領域(TABLESPACE) CREATE TABLE 表A (…)

    TABLESPACE 表領域α 表領域(TABLESPACE) 14 Copyright © 2026, Oracle and/or its affiliates
  5. 抽象化されたデータ空間のストレージ: 表領域(TABLESPACE) 表(TABLE) 表(TABLE) → 表領域(TABLESPACE) CREATE TABLE 表A (…)

    TABLESPACE 表領域α 表領域(TABLESPACE) 表領域(TABLESPACE) → データファイル データファイル 15 Copyright © 2026, Oracle and/or its affiliates CREATE TABLESPACE 表領域α DATAFILE …
  6. 抽象データ空間の変更 → 物理データ構造の変更 SQL 表(TABLE) UPDATE table1 SET c1=value1 WHERE

    primarykey=pk1 SQL: 抽象データ空間の変更 アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 REDOログ データファイル REDOログ: 物理データ構造の変更 データブロック 19 Copyright © 2026, Oracle and/or its affiliates どのデータブロックの、どこを、 どう変更するか ≒ アドレス + 変更内容
  7. 抽象データ空間の変更 → 物理データ構造の変更 SQL 論理 - 差分 REDOログ 物理 -

    差分 表(TABLE) アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 データファイル データブロック 20 Copyright © 2026, Oracle and/or its affiliates
  8. 値の状態 / 値の変更差分 SQL 論理 - 差分 表(TABLE) 論理 -

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

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

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

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

    5. 論理 - 差分 • Data Guardロジカル・スタンバイ • GoldenGate 表(TABLE) アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 論理バックアップ/エクスポート 論理 - 状態4. 論理 - 状態 • 1. 変更 REDOログ 物理レプリケーション 物理 - 差分3. 物理 - 差分 • データファイル Copyright © 2026, Oracle and/or its affiliates Data Guardフィジカル・スタンバイ 物理バックアップ 2. 物理 - 状態 • Recovery Manager (RMAN) 物理 - 状態 データブロック 25 Data Pump
  13. 抽象データ空間の変更 → 物理データ構造の変更 SQL 表(TABLE) アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 データ表領域

    データファイル 変更対象データブロック 27 Copyright © 2026, Oracle and/or its affiliates UPDATE table1 SET c1=value1 WHERE primarykey=pk1
  14. READ COMMITTED読み取り一貫性 変更した値はCOMMITされるまで他のセッションからは見えない SQL UPDATE table1 SET c1=value1 WHERE primarykey=pk1

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

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

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

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

    UNDO表領域があふれる前に 最新状態のブロック アドレス不変 変更前のブロック ガベージコレクション データ表領域 UNDO表領域 変更対象データブロック 変更前のデータブロック データファイル 32 Copyright © 2026, Oracle and/or its affiliates
  19. Oracle AI Databaseアーキテクチャ Oracleサーバー・プロセスがメモリを更新しバックグラウンド・プロセスがファイルに永続化 Oracleサーバー・プロセス oracle 共有メモリー領域 System Global Area

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

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

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

    REDOをデータブロックに適用 oracle REDO REDO REDOログ・バッファ (REDOログ用の書き込みバッファ・メモリー) ログ・ライター・プロセス データベース・バッファ・キャッシュ SGA LGWR (データブロック用のキャッシュ・メモリー) DBWn データベース・ライター・プロセス OS オンラインREDOログ・ファイル 39 Copyright © 2026, Oracle and/or its affiliates REDO データファイル
  23. System Change Number (SCN) Oracleデータベース内のイベントの相対順序を決める論理時計 物理時計 • 時刻を表すOSが進める時計 • 世界の絶対時刻を決める、が現実にはゆらぐし、他のマシンのOS時刻ともずれている

    • 巻き戻ることもあり得るのであまり信用できない 論理時計 • データベース作成時点から単調増加するOracleインスタンスが進める時計 • イベントの相対順序を決める • SCNの相対的な大小関係が重要で、値が連続とは限らない(大きく増加する場合がある) • SCNの絶対値に意味はないが、たまに物理時計と対応づけられる データベースの変更順序はSCNの昇順 41 Copyright © 2026, Oracle and/or its affiliates
  24. System Change Number (SCN) Oracleデータベース内のイベントの相対順序を決める論理時計 論理時計 (System Change Number) SCNは減少しない

    OS時刻は過去に巻き戻る(減少する)ことも設定上はあり得る 物理時計 (OS時刻) 42 Copyright © 2026, Oracle and/or its affiliates
  25. 抽象データ空間の変更 → 物理データ構造の変更 REDOログ ≒ 論理時刻(SCN) + アドレス + 変更内容

    SQL 表(TABLE) UPDATE table1 SET c1=value1 WHERE primarykey=pk1 SQL: 抽象データ空間の変更 アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 REDOログ データファイル REDOログ: 物理データ構造の変更 データブロック 43 Copyright © 2026, Oracle and/or its affiliates いつ、どのデータブロックの、どこを、どう変更するか ≒ 論理時刻(SCN) + アドレス + 変更内容
  26. データブロックには変更したSCNも記録される REDOログ いつ、どのデータブロックの、どこを、どう変更するか ≒ 論理時刻(SCN) + アドレス + 変更内容 SCN

    SCN データブロック データブロックには変更したSCNも記録される 44 Copyright © 2026, Oracle and/or its affiliates
  27. 1. REDOデータを生成し、 2. データブロックに適用 Oracleサーバー・プロセス 1. Oracleサーバー・プロセス がREDOログを生成 2. Oracleサーバー・プロセスが

    REDOをデータブロックに適用 oracle REDO REDO REDOログ・バッファ (REDOログ用の書き込みバッファ・メモリー) ログ・ライター・プロセス データベース・バッファ・キャッシュ SGA LGWR (データブロック用のキャッシュ・メモリー) DBWn データベース・ライター・プロセス OS オンラインREDOログ・ファイル 45 Copyright © 2026, Oracle and/or its affiliates REDO データファイル
  28. データブロックの更新はメモリー上で行われる Oracleサーバー・プロセス Oracleサーバー・プロセスがデータ ベース・バッファ・キャッシュを更新 oracle REDO REDO REDOログ・バッファ (REDOログ用の書き込みバッファ・メモリー) ログ・ライター・プロセス

    データベース・バッファ・キャッシュ SGA LGWR (データブロック用のキャッシュ・メモリー) DBWn データベース・ライター・プロセス OS オンラインREDOログ・ファイル 46 Copyright © 2026, Oracle and/or its affiliates REDO データファイル
  29. データブロックが更新されるごとにデータファイルに書き戻すわけではない ストレージへのアクセス頻度を低減 Oracleサーバー・プロセス Oracleサーバー・プロセスがデータ ベース・バッファ・キャッシュを更新 oracle REDO REDO REDOログ・バッファ データベース・バッファ・キャッシュ

    SGA (REDOログ用の書き込みバッファ・メモリー) (データブロック用のキャッシュ・メモリー) データブロックが更新されるごとに データファイルに書き戻すわけではない ログ・ライター・プロセス LGWR DBWn データベース・ライター・プロセス OS オンラインREDOログ・ファイル 47 Copyright © 2026, Oracle and/or its affiliates REDO データファイル
  30. 更新の順序は REDOログ → データブロック / メモリー → ストレージ REDOログの更新が常に先 Oracleサーバー・プロセス

    1. Oracleサーバー・プロセス がREDOログを生成 2. Oracleサーバー・プロセスが REDOをデータブロックに適用 oracle REDO REDO REDOログ・バッファ (REDOログ用の書き込みバッファ・メモリー) ログ・ライター・プロセス LGWR 3. LGWRプロセスがオンライン REDOログ・ファイルに書く オンラインREDOログ・ファイル 48 Copyright © 2026, Oracle and/or its affiliates データベース・バッファ・キャッシュ SGA DBWn OS REDO (データブロック用のキャッシュ・メモリー) データベース・ライター・プロセス 4. DBWRプロセスが データファイルに書く データファイル
  31. アーカイブREDOログ・ファイル オンラインREDOログ・ファイルが上書きされる前に複製 ログ・ライター・プロセス オンラインREDOログ・ファイル アーカイブREDOログ・ファイル 固定長サイズ × 固定数 オンラインREDOログ・ファイルの複製 LGWR

    書き換えが進行するのはLGWR プロセスが書いているファイルのみ クローズされているファイルは上書 きされるまで書き換えられない ARCH アーカイバ・プロセス オンラインREDOログ・ファイルが 上書きされる前に複製 51 Copyright © 2026, Oracle and/or its affiliates
  32. アーカイブREDOログ・ファイル オンラインREDOログ・ファイルが上書きされる前に複製 オンラインREDOログ・ファイル アーカイブREDOログ・ファイル 固定長サイズ × 固定数 オンラインREDOログ・ファイルの複製 ログ・ライター・プロセス LGWR

    LGWR ARCH オンラインREDOログ・ファイルを上書き できるのは複製が完了してから アーカイバ・プロセス オンラインREDOログ・ファイルが 上書きされる前に複製 52 Copyright © 2026, Oracle and/or its affiliates
  33. 更新の順序は REDOログ → データブロック / メモリー → ストレージ REDOログの更新が常に先 Oracleサーバー・プロセス

    1. Oracleサーバー・プロセス がREDOログを生成 2. Oracleサーバー・プロセスが REDOをデータブロックに適用 oracle REDO REDO REDOログ・バッファ (REDOログ用の書き込みバッファ・メモリー) ログ・ライター・プロセス LGWR 3. LGWRプロセスがオンライン REDOログ・ファイルに書く オンラインREDOログ・ファイル 54 Copyright © 2026, Oracle and/or its affiliates データベース・バッファ・キャッシュ SGA DBWn OS REDO (データブロック用のキャッシュ・メモリー) データベース・ライター・プロセス 4. DBWRプロセスが データファイルに書く データファイル
  34. データブロックが更新されるごとにデータファイルに書き戻すわけではない ストレージへのアクセス頻度を低減 Oracleサーバー・プロセス Oracleサーバー・プロセスがデータ ベース・バッファ・キャッシュを更新 oracle REDO REDO REDOログ・バッファ データベース・バッファ・キャッシュ

    SGA (REDOログ用の書き込みバッファ・メモリー) (データブロック用のキャッシュ・メモリー) データブロックが更新されるごとに データファイルに書き戻すわけではない ログ・ライター・プロセス LGWR DBWn データベース・ライター・プロセス OS オンラインREDOログ・ファイル 55 Copyright © 2026, Oracle and/or its affiliates REDO データファイル
  35. チェックポイント - データブロックをデータファイルに書き戻す ストレージへのアクセス頻度を低減 Oracleサーバー・プロセス Oracleサーバー・プロセスがデータ ベース・バッファ・キャッシュを更新 oracle REDO REDO

    REDOログ・バッファ データベース・バッファ・キャッシュ SGA (REDOログ用の書き込みバッファ・メモリー) (データブロック用のキャッシュ・メモリー) チェックポイント ログ・ライター・プロセス LGWR DBWn データベース・ライター・プロセス OS オンラインREDOログ・ファイル 56 Copyright © 2026, Oracle and/or its affiliates REDO データファイル
  36. チェックポイント - 最低限行われなければならないタイミング オンラインREDOログ・ファイルが上書きされる前に最低1回 オンラインREDOログ・ファイル 固定長サイズ × 固定数 オンラインREDOログ・ファイルが上書 きされる前に最低1回チェックポイント

    データベース・バッファ・キャッシュ ログ・ライター・プロセス (データブロック用のキャッシュ・メモリー) LGWR LGWR REDO オンラインREDOログ・ファイルを上書きで きるのはそのREDOログでの変更による チェックポイントが完了してから 57 Copyright © 2026, Oracle and/or its affiliates DBWn データベース・ライター・プロセス データファイル
  37. チェックポイントSCN - データファイルごと このデータファイルに含まれるデータブロックの書き込み済みSCN REDOログ・ファイル このデータファイルの全データブロックはチェックポイントSCNまでの変更はファイ ルに書き戻されている Checkpoint SCN SCN

    SCN SCN SCN SCN SCN SCN SCN SCN SCN SQL> select file#,CHECKPOINT_CHANGE# from v$datafile; SCN 59 Copyright © 2026, Oracle and/or its affiliates FILE# CHECKPOINT_CHANGE# ---------- -----------------10 56954871 11 56954871 :
  38. オンラインREDOログ・ファイルを上書きできるルール 循環上書きされる前にREDOログを保護 オンラインREDOログ・ファイル 固定長サイズ × 固定数 1. アーカイブREDOログ・ファイルへの複製が完了 • •

    ログ・ライター・プロセス 2. 更新したデータ・ブロックのチェックポイントが完了 LGWR • LGWR REDO REDOログが上書きされる前 に保護する必要 60 アーカイブREDOログ・ファイルを生成するARCHIVELOGモード すべてのREDOログを複製して残すことが可能 Copyright © 2026, Oracle and/or its affiliates • OracleインスタンスのクラッシュからのリカバリがオンラインREDO ログ・ファイル上のREDOログだけで完結 アーカイブREDOログ・ファイルを生成しないNOARCHIVELOG モードでもクラッシュ・リカバリは可能
  39. オンラインREDOログ・ファイルを上書きできるルール 循環上書きされる前にREDOログを保護 オンラインREDOログ・ファイル 固定長サイズ × 固定数 1. アーカイブREDOログ・ファイルへの複製が完了 • •

    ログ・ライター・プロセス 2. 更新したデータ・ブロックのチェックポイントが完了 LGWR • LGWR REDO REDOログが上書きされる前 に保護する必要 61 アーカイブREDOログ・ファイルを生成するARCHIVELOGモード すべてのREDOログを複製して残すことが可能 Copyright © 2026, Oracle and/or its affiliates • OracleインスタンスのクラッシュからのリカバリがオンラインREDO ログ・ファイル上のREDOログだけで完結 アーカイブREDOログ・ファイルを生成しないNOARCHIVELOG モードでもクラッシュ・リカバリは可能 この2つが完了するまでオンラインREDO ログ・ファイルの上書きが待機させられる
  40. オンラインREDOログ・ファイルの状態 V$LOGビュー オンラインREDOログ・ファイル 固定長サイズ × 固定数 GROUP# SQL> select GROUP#,SEQUENCE#,ARCHIVED,STATUS

    from v$log 2 GROUP# SEQUENCE# ARCHIVED STATUS ---------- ---------- --------- -----------上書き可能 1 1831 YES INACTIVE 2 1832 YES ACTIVE 3 1833 NO CURRENT 1 ログ・ライター・プロセス LGWR STATUS=CURRENT 62 Copyright © 2026, Oracle and/or its affiliates 3 アーカイブ完了? チェックポイント完了?
  41. オンラインREDOログ・ファイルのサイズ×個数 - チューニング要素になる 上書き可能になるまでの猶予 オンラインREDOログ・ファイルが1周するのに必要なREDOログ量 固定長サイズ × 固定数 1. アーカイブREDOログ・ファイルへの複製が完了

    • • ログ・ライター・プロセス 2. 更新したデータ・ブロックのチェックポイントが完了 LGWR • LGWR REDO 63 アーカイブREDOログ・ファイルを生成するARCHIVELOGモード アーカイブREDOログ・ファイル複製完了の猶予 すべてのREDOログを複製して残すことが可能 Copyright © 2026, Oracle and/or its affiliates • OracleインスタンスのクラッシュからのリカバリがオンラインREDO ログ・ファイル上のREDOログだけで完結 チェックポイント書き込み猶予 アーカイブREDOログ・ファイルを生成しないNOARCHIVELOG モードでもクラッシュ・リカバリは可能
  42. オンラインREDOログ・ファイルのサイズ×個数 - チューニング要素になる 上書き可能になるまでの猶予 オンラインREDOログ・ファイルが1周するのに必要なREDOログ量 固定長サイズ × 固定数 参考: オンラインREDOログ・ファイルのサイズ×個数(グループ数)

    ログ・ライター・プロセス 構成 LGWR LGWR REDO 64 Copyright © 2026, Oracle and/or its affiliates サイズ × 個数 dbcaツールのデフォルト(12.2~) 200MB × 3 (実用には小さすぎる) OCI Exadata Database Service 4GB × 4 dbca: Database Configuration Assistant CREATE DATABASEするためのツール
  43. チェックポイント - データブロックをデータファイルに書き戻す データベース稼働中のデータファイルは整合性がない オンラインREDOログ・ファイル 固定長サイズ × 固定数 オンラインREDOログ・ファイルが上書 きされる前に最低1回チェックポイント

    データベース・バッファ・キャッシュ ログ・ライター・プロセス (データブロック用のキャッシュ・メモリー) LGWR LGWR REDO オンラインREDOログ・ファイルを上書きで きるのはそのREDOログでの変更による チェックポイントが完了してから 66 Copyright © 2026, Oracle and/or its affiliates DBWn データベース・ライター・プロセス データファイル
  44. チェックポイント - データブロックをデータファイルに書き戻す データベース稼働中のデータファイルは整合性がない オンラインREDOログ・ファイル 固定長サイズ × 固定数 オンラインREDOログ・ファイルが上書 きされる前に最低1回チェックポイント

    データベース・バッファ・キャッシュ ログ・ライター・プロセス (データブロック用のキャッシュ・メモリー) LGWR LGWR REDO オンラインREDOログ・ファイルを上書きで きるのはそのREDOログでの変更による チェックポイントが完了してから 67 Copyright © 2026, Oracle and/or its affiliates データベース稼働中のデータファイルは様々な状態を含む: DBWn データベース・ライター・プロセス • 未COMMITの変更データブロックが書き込まれる • COMMIT済みの変更データブロックがまだ書き込まれていない データファイル
  45. リカバリ処理 - データファイルの整合性がある状態にする 1. Oracleインスタンスがクラッシュ • ファイルは破損していない • リカバリ処理のみ メモリー

    破棄 データベース・バッファ・キャッシュ (データブロック用のキャッシュ・メモリー) • クラッシュ・リカバリ 2. データファイル(データ格納メディア)が破損 DBWn データベース・ライター・プロセス • ファイルが破損している • 物理バックアップからのリストア → リカバリ • メディア・リカバリ 69 Copyright © 2026, Oracle and/or its affiliates ファイル 破損 データファイル
  46. リカバリ処理 - データファイルの整合性がある状態にする 1. Oracleインスタンスがクラッシュ • ファイルは破損していない • リカバリ処理のみ メモリー

    破棄 データベース・バッファ・キャッシュ (データブロック用のキャッシュ・メモリー) • クラッシュ・リカバリ 2. データファイル(データ格納メディア)が破損 DBWn データベース・ライター・プロセス • ファイルが破損している • 物理バックアップからのリストア → リカバリ • メディア・リカバリ 70 Copyright © 2026, Oracle and/or its affiliates ファイル 破損 データファイル
  47. Oracleインスタンスがクラッシュ メモリーの内容は破棄される オンラインREDOログ・ファイル 固定長サイズ × 固定数 オンラインREDOログ・ファイルが上書 きされる前に最低1回チェックポイント メモリー 破棄

    ログ・ライター・プロセス データベース・バッファ・キャッシュ (データブロック用のキャッシュ・メモリー) LGWR LGWR REDO DBWn データベース・ライター・プロセス データファイル 71 Copyright © 2026, Oracle and/or its affiliates
  48. Oracleインスタンスがクラッシュ - データファイルは整合性がないので要リカバリ メモリーの内容は破棄される オンラインREDOログ・ファイル 固定長サイズ × 固定数 オンラインREDOログ・ファイルが上書 きされる前に最低1回チェックポイント

    メモリー 破棄 ログ・ライター・プロセス データベース・バッファ・キャッシュ (データブロック用のキャッシュ・メモリー) LGWR LGWR REDO DBWn データベース・ライター・プロセス データファイル上のデータ・ブロックはREDO ログがまだ適用されているとは限らない データファイル 72 Copyright © 2026, Oracle and/or its affiliates
  49. Oracleインスタンスがクラッシュ - からのリカバリに必要なREDOログはどこにある? オンラインREDOログ・ファイル上のREDOログだけでリカバリ可能 オンラインREDOログ・ファイル 固定長サイズ × 固定数 オンラインREDOログ・ファイルが上書 きされる前に最低1回チェックポイント

    メモリー 破棄 ログ・ライター・プロセス データベース・バッファ・キャッシュ (データブロック用のキャッシュ・メモリー) LGWR LGWR REDO データファイル上のデータ・ブロックをリカバリする REDOログは上書きされずにオンラインREDO ログ・ファイルに存在する 73 Copyright © 2026, Oracle and/or its affiliates DBWn データベース・ライター・プロセス データファイル上のデータ・ブロックはREDO ログがまだ適用されているとは限らない データファイル
  50. 1. REDOデータを生成し、 2. データブロックに適用(再掲) Oracleサーバー・プロセス 1. Oracleサーバー・プロセス がREDOログを生成 2. Oracleサーバー・プロセスが

    REDOをデータブロックに適用 oracle REDO REDO REDOログ・バッファ (REDOログ用の書き込みバッファ・メモリー) ログ・ライター・プロセス データベース・バッファ・キャッシュ SGA LGWR (データブロック用のキャッシュ・メモリー) DBWn データベース・ライター・プロセス OS オンラインREDOログ・ファイル 75 Copyright © 2026, Oracle and/or its affiliates REDO データファイル
  51. Oracleインスタンスがクラッシュ - からのリカバリ (1)ロールフォワード オンラインREDOログ・ファイルからのみREDOログを読んでデータ・ブロックに適用 Oracleサーバー・プロセス 1. オンラインREDOログ・ファ イルを読む 2.

    Oracleサーバー・プロセスが REDOをデータブロックに適用 oracle REDO REDOログ・バッファ データベース・バッファ・キャッシュ SGA (REDOログ用の書き込みバッファ・メモリー) ログ・ライター・プロセス (データブロック用のキャッシュ・メモリー) DBWn データベース・ライター・プロセス OS オンラインREDOログ・ファイル 76 Copyright © 2026, Oracle and/or its affiliates REDO データファイル
  52. リカバリ処理のREDOログ適用はデータ・ブロック変更処理の完全な再現 オンラインREDOログ・ファイルからのみREDOログを読んでデータ・ブロックに適用 Oracleサーバー・プロセス 1. オンラインREDOログ・ファ イルを読む 2. Oracleサーバー・プロセスが REDOをデータブロックに適用 oracle

    REDO REDOログ・バッファ データベース・バッファ・キャッシュ SGA (REDOログ用の書き込みバッファ・メモリー) ログ・ライター・プロセス (データブロック用のキャッシュ・メモリー) DBWn データベース・ライター・プロセス OS オンラインREDOログ・ファイル 77 Copyright © 2026, Oracle and/or its affiliates REDO データファイル
  53. リカバリ処理第1段階 - ロールフォワード REDOログでデータブロックを変更 最新のデータブロック データ表領域 変更前のデータブロック UNDO表領域 クラッシュ直後のデータファイル REDO

    REDO REDO REDOログでロールフォワード REDO REDO すべてのREDOログを適用完了 → 全ブロックのチェックポイント完了 ロールフォワード後は以下のデータブロックを含む 次のデータブロックを含む SCN 79 Copyright © 2026, Oracle and/or its affiliates • • チェックポイントされていない COMMITされていないトランザクションの変更 REDO
  54. リカバリ処理第2段階 - ロールバック UNDOブロックで変更前の状態に戻す 最新のデータブロック データ表領域 変更前のデータブロック UNDO表領域 クラッシュ直後のデータファイル REDO

    REDO REDO REDOログでロールフォワード REDO REDO UNDOブロックでロールバック SCN 80 Copyright © 2026, Oracle and/or its affiliates REDO COMMIT未完了トランザクションのデータブロックを UNDOブロックで変更前に戻す
  55. リカバリ処理第2段階 - ロールバック UNDOブロックで変更前の状態に戻す 最新のデータブロック 変更前のデータブロック データ表領域 UNDO表領域 クラッシュ直後のデータファイル REDO

    REDO REDO REDOログでロールフォワード REDO REDO UNDOブロックでロールバック ロールバック後は以下のデータブロックを含む 次のデータブロックを含む SCN 81 REDO Copyright © 2026, Oracle and/or its affiliates • • • • • チェックポイントされていない チェックポイントされていない COMMITされていないトランザクションの変更 COMMITされていないトランザクションの変更 COMMIT済みのデータブロック
  56. リカバリ処理第1段階 - ロールフォワードの完了は最新のREDOログ REDOログでデータブロックを変更 最新のデータブロック データ表領域 変更前のデータブロック UNDO表領域 クラッシュ直後のデータファイル REDO

    REDO REDO REDOログでロールフォワード REDO REDO REDO 最新のREDOログ → ロールフォワード完了 ロールフォワード後は以下のデータブロックを含む 次のデータブロックを含む SCN 82 Copyright © 2026, Oracle and/or its affiliates • • チェックポイントされていない COMMITされていないトランザクションの変更 REDO
  57. リカバリ処理第1段階 - ロールフォワードはどのSCNから始めたらよい? REDOログでデータブロックを変更 最新のデータブロック データ表領域 どのSCNからREDOログを適用? 変更前のデータブロック UNDO表領域 クラッシュ直後のデータファイル

    REDO REDO REDO REDOログでロールフォワード REDO REDO すべてのREDOログを適用完了 → 全ブロックのチェックポイント完了 ロールフォワード後は以下のデータブロックを含む 次のデータブロックを含む SCN 83 Copyright © 2026, Oracle and/or its affiliates • • チェックポイントされていない COMMITされていないトランザクションの変更 REDO
  58. REDOログ・ファイル - ファイルが含むSCNの範囲が記録されている REDOログ・ファイル FIRST REDOログ・ファイルが含むSCN FIRST_CHANGE# から NEXT_CHANGE# NEXT

    SQL> select sequence#,FIRST_CHANGE#,NEXT_CHANGE#,status from v$log; FIRST NEXT ログ・ライター・プロセス LGWR STATUS=CURRENT FIRST NEXT ∞ SCN 88 Copyright © 2026, Oracle and/or its affiliates SEQUENCE# FIRST_CHANGE# NEXT_CHANGE# STATUS ---------- ------------- ---------------------------- ---------67 55647805 56954871 INACTIVE 68 56954871 58015589 ACTIVE 69 58015589 9295429630892703743 CURRENT CURRENTのオンラインREDOログ・ファイルのNEXT_CHANGE# → SCNの最大値(∞)
  59. チェックポイントSCN - を含むREDOログ・ファイル以降がリカバリに必要 すべてのデータファイルの最も古いCheckpoint SCN以降のREDOログが必要 REDOログ・ファイル すべてのデータファイルのリカバリに必要な最初のREDOログ・ファイル: FIRST_CHANGE# <= Checkpoint

    SCN <= NEXT_CHANGE# CKPT SCN 最古のCheckpoint SCN すべてのデータファイル CKPT SCN SCN 91 Copyright © 2026, Oracle and/or its affiliates CKPT チェックポイント・プロセス 3秒ごとに制御ファイルに書く 制御ファイル データベース全体の Checkpoint SCN
  60. リカバリ処理に必要なREDOログ・ファイルの開始点 - Checkpoint SCNを含む Oracleインスタンスがクラッシュ → オンラインREDOログ・ファイルだけでリカバリ可能 REDOログ・ファイル アーカイブREDOログ・ファイル アーカイバ・プロセス

    Oracleインスタンスがクラッシュしたとき → Checkpoint SCNはオンラインREDOログ・ファイルに含まれる ARCH オンラインREDOログ・ファイル ログ・ライター・プロセス CKPT SCN LGWR STATUS=CURRENT Checkpoint SCNはオンラインREDOログ・ファイルの中にある SCN 93 Oracleインスタンスのクラッシュからのリカバリ Copyright © 2026, Oracle and/or its affiliates
  61. リカバリ処理 - データファイルの整合性がある状態にする 1. REDOログでロールフォワード 2. UNDOブロックでロールバック 1. Oracleインスタンスがクラッシュ •

    ファイルは破損していない • リカバリ処理のみ メモリー 破棄 データベース・バッファ・キャッシュ (データブロック用のキャッシュ・メモリー) • クラッシュ・リカバリ 2. データファイル(データ格納メディア)が破損 DBWn データベース・ライター・プロセス • ファイルが破損している • 物理バックアップからのリストア → リカバリ • メディア・リカバリ 94 Copyright © 2026, Oracle and/or its affiliates ファイル 破損 データファイル
  62. REDOログから理解するOracle AI Databaseの復旧戦略 SQL 複製階層 機能概念 論理 - 差分 論理レプリケーション

    5. 論理 - 差分 • Data Guardロジカル・スタンバイ • GoldenGate 表(TABLE) アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 論理バックアップ/エクスポート 論理 - 状態4. 論理 - 状態 • 1. 変更 REDOログ 物理レプリケーション 物理 - 差分3. 物理 - 差分 • データファイル Copyright © 2026, Oracle and/or its affiliates Data Guardフィジカル・スタンバイ 物理バックアップ 2. 物理 - 状態 • Recovery Manager (RMAN) 物理 - 状態 データブロック 95 Data Pump
  63. リカバリ処理 - データファイルの整合性がある状態にする 1. REDOログでロールフォワード 2. UNDOブロックでロールバック 1. Oracleインスタンスがクラッシュ •

    ファイルは破損していない • リカバリ処理のみ メモリー 破棄 データベース・バッファ・キャッシュ (データブロック用のキャッシュ・メモリー) • クラッシュ・リカバリ 2. データファイル(データ格納メディア)が破損 DBWn データベース・ライター・プロセス • ファイルが破損している • 物理バックアップからのリストア → リカバリ • メディア・リカバリ 97 Copyright © 2026, Oracle and/or its affiliates ファイル 破損 データファイル
  64. データファイルのバックアップ ある時点におけるデータファイルの複製 INSERT UPDATE DELETE 時刻t0のデータファイルを複製 時刻t0 INSERT UPDATE 時間

    DELETE バックアップ 時刻t0に取得したデータ・ファイルのバックアップに は最新でも時刻t0までの情報しか含まれていない 100 Copyright © 2026, Oracle and/or its affiliates
  65. アーカイブREDOログ・ファイルのバックアップ オンラインREDOログ・ファイルの複製の複製 INSERT UPDATE DELETE 時刻t0 INSERT UPDATE 時刻t1 DELETE

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

    INSERT UPDATE 時間 DELETE アーカイブREDOログ オンラインREDOログ バックアップ データファイルの複製 102 Copyright © 2026, Oracle and/or its affiliates バックアップ アーカイブREDOログの複製
  67. データファイルのリストア データファイル障害発生 時刻t1 過去のある時点のデータファイルの複製を戻す INSERT UPDATE DELETE 時刻t0 INSERT UPDATE

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

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

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

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

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

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

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

    1. バックアップ REDO データファイル アーカイブREDOログ 111 REDO Copyright © 2026, Oracle and/or its affiliates バックアップ・ストレージ
  75. オンライン・バックアップ - ファイルへの書き込みは止まらない データベースの変更を止めずにデータファイルを複製 データベースの変更 oracle REDO REDO ファイルへの書き込みは止まらない SGA

    LGWR オンラインREDOログ DBWn 1. バックアップ REDO データファイル アーカイブREDOログ 112 REDO Copyright © 2026, Oracle and/or its affiliates バックアップ・ストレージ
  76. リカバリ処理第1段階 - ロールフォワード REDOログでデータブロックを変更 最新のデータブロック データ表領域 変更前のデータブロック UNDO表領域 リストア直後のデータファイル REDO

    REDO REDO REDOログでロールフォワード REDO REDO すべてのREDOログを適用完了 → 全ブロックのチェックポイント完了 ロールフォワード後は以下のデータブロックを含む 次のデータブロックを含む SCN 117 Copyright © 2026, Oracle and/or its affiliates • • チェックポイントされていない COMMITされていないトランザクションの変更 REDO
  77. リカバリ処理第2段階 - ロールバック UNDOブロックで変更前の状態に戻す 最新のデータブロック データ表領域 変更前のデータブロック UNDO表領域 リストア直後のデータファイル REDO

    REDO REDO REDOログでロールフォワード REDO REDO UNDOブロックでロールバック SCN 118 Copyright © 2026, Oracle and/or its affiliates REDO COMMIT未完了トランザクションのデータブロックを UNDOブロックで変更前に戻す
  78. リカバリ処理第2段階 - ロールバック UNDOブロックで変更前の状態に戻す 最新のデータブロック 変更前のデータブロック データ表領域 UNDO表領域 リストア直後のデータファイル REDO

    REDO REDO REDOログでロールフォワード REDO REDO UNDOブロックでロールバック ロールバック後は以下のデータブロックを含む 次のデータブロックを含む SCN 119 REDO Copyright © 2026, Oracle and/or its affiliates • • • • • チェックポイントされていない チェックポイントされていない COMMITされていないトランザクションの変更 COMMITされていないトランザクションの変更 COMMIT済みのデータブロック
  79. リカバリ処理第2段階 - ロールバック UNDOブロックで変更前の状態に戻す 最新のデータブロック 変更前のデータブロック データ表領域 UNDO表領域 リストア直後のデータファイル REDO

    REDO REDO REDOログとUNDOブロックでリカバリして整合性をとることを前提に オンライン・バックアップのデータファイルには整合性がなくてもよい REDO REDO REDOログでロールフォワード UNDOブロックでロールバック ロールバック後は以下のデータブロックを含む 次のデータブロックを含む SCN 120 REDO Copyright © 2026, Oracle and/or its affiliates • • • • • チェックポイントされていない チェックポイントされていない COMMITされていないトランザクションの変更 COMMITされていないトランザクションの変更 COMMIT済みのデータブロック
  80. リカバリ処理に必要なREDOログ・ファイルの開始点 - Checkpoint SCNを含む Oracleインスタンスのクラッシュからのリカバリ REDOログ・ファイル アーカイブREDOログ・ファイル アーカイバ・プロセス Oracleインスタンスがクラッシュしたとき →

    Checkpoint SCNはオンラインREDOログ・ファイルに含まれる ARCH オンラインREDOログ・ファイル ログ・ライター・プロセス CKPT SCN LGWR STATUS=CURRENT Checkpoint SCNはオンラインREDOログ・ファイルの中にある SCN 121 Oracleインスタンスのクラッシュからのリカバリ Copyright © 2026, Oracle and/or its affiliates
  81. リカバリ処理に必要なREDOログ・ファイルの開始点 - Checkpoint SCNを含む オンライン物理バックアップからのリストア/リカバリ REDOログ・ファイル オンライン・バックアップからのリカバリはアーカイブREDOログ・ファイルが必要 → ARCHIVELOGモードでないとオンライン・バックアップが取得できない アーカイブREDOログ・ファイル

    CKPT SCN アーカイバ・プロセス オンライン物理バックアップ・ファイルからのリカバリ Checkpoint SCNはアーカイブREDOログ・ファイルの中にある ARCH オンラインREDOログ・ファイル ログ・ライター・プロセス LGWR STATUS=CURRENT SCN 122 Copyright © 2026, Oracle and/or its affiliates
  82. 物理バックアップからのリストア・リカバリ 過去のデータファイルの複製からREDOログが存在するところまでリカバリできる INSERT UPDATE DELETE 時刻t0 INSERT UPDATE DELETE INSERT

    UPDATE データファイル障害発生 時刻t1 DELETE アーカイブREDOログ オンラインREDOログ バックアップ リストア (データファイルの書き戻し) バックアップ リカバリ (REDOログの適用) REDOログが存在する ところまで復元できる 時間 123 Copyright © 2026, Oracle and/or its affiliates
  83. バックアップという方式の課題 データファイル障害発生 時刻t1 ストレージ障害で直近のREDOログが消失する場合がある INSERT UPDATE DELETE 時刻t0 INSERT UPDATE

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

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

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

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

    REDO アーカイバ・プロセス ARCH アーカイブREDOログ・ファイル REDO 129 Copyright © 2026, Oracle and/or its affiliates メモリー(揮発性) ストレージ(不揮発性) REDOログがメモリー上で生成されてからバックアップ・ ストレージに複製されるまでかなりの時間が経過する 書き込み完了 バックアップ RMAN アーカイブREDOログ・ファイル1本分 書き込み完了したら送出可能
  88. バックアップという方式の課題 データファイル障害発生 時刻t1 ストレージ障害で直近のREDOログが消失する場合がある INSERT UPDATE DELETE 時刻t0 INSERT UPDATE

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

    時刻t0 INSERT UPDATE DELETE INSERT UPDATE データファイル障害発生 時刻t1 DELETE アーカイブREDOログ オンラインREDOログ バックアップ バックアップ REDOログが存在すると ころまでしか復旧できない リストア (データファイルの書き戻し) Recovery Point Objective リカバリ 目標復旧時点 (REDOログの適用) 時間 131 Copyright © 2026, Oracle and/or its affiliates
  90. REDOログから理解するOracle AI Databaseの復旧戦略 増補改訂版 0. リレーショナル・データベースのデータ構造 • 抽象(論理)データ空間と物理データ構造 抽象(論理) 物理

    状態 × 差分 3. 物理-差分の複製 • 物理レプリケーション • Data Guardフィジカル・スタンバイ 4種類の複製方式 4. 論理-状態の複製 • 論理バックアップ/エクスポート 1. データベースの変更 • Data Pump • REDOとUNDO • クラッシュからのリカバリ 5. 論理-差分の複製 • 論理レプリケーション 2. 物理-状態の複製 • 物理バックアップ • RMAN 132 Copyright © 2026, Oracle and/or its affiliates • Data Guardロジカル・スタンバイ • GoldenGate
  91. REDOログから理解するOracle AI Databaseの復旧戦略 SQL 複製階層 機能概念 論理 - 差分 論理レプリケーション

    5. 論理 - 差分 • Data Guardロジカル・スタンバイ • GoldenGate 表(TABLE) アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 論理バックアップ/エクスポート 論理 - 状態4. 論理 - 状態 • 1. 変更 REDOログ 物理レプリケーション 物理 - 差分3. 物理 - 差分 • データファイル Copyright © 2026, Oracle and/or its affiliates Data Guardフィジカル・スタンバイ 物理バックアップ 2. 物理 - 状態 • Recovery Manager (RMAN) 物理 - 状態 データブロック 133 Data Pump
  92. REDOログがデータベース・ストレージにとどまっている時間 ストレージ障害で最新の更新差分が消失するリスク プライマリ・データベース Oracleサーバー・プロセス oracle REDOログ・バッファ REDO ログ・ライター・プロセス LGWR オンラインREDOログ・ファイル

    REDO アーカイバ・プロセス ARCH アーカイブREDOログ・ファイル REDO 135 Copyright © 2026, Oracle and/or its affiliates メモリー(揮発性) ストレージ(不揮発性) REDOログがメモリー上で生成されてからバックアップ・ ストレージに複製されるまでかなりの時間が経過する 書き込み完了 バックアップ RMAN アーカイブREDOログ・ファイル1本分 書き込み完了したら送出可能
  93. REDOログが生成されたらすぐにネットワーク転送 - Data Guard ストレージ障害で最新の更新差分が消失するリスクを極小化 プライマリ・データベース Oracleサーバー・プロセス oracle REDOログ・バッファ REDO

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

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

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

    LGWR オンラインREDOログ SGA DBWn 1. バックアップ REDO データファイル データファイル アーカイブREDOログ 139 2. リストア REDO Copyright © 2026, Oracle and/or its affiliates バックアップ・ストレージ
  97. Data Guardフィジカル・スタンバイ - 「データベースの変更」の完全な再現 REDOログ生成直後にネットワーク経由で複製 プライマリ・データベース スタンバイ・データベース REDOログが生成 されたらすぐ転送 oracle

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

    oracle REDO REDO 3. 継続的ロールフォワード REDO SGA SGA REDO LGWR オンラインREDOログ DBWn 1. バックアップ 141 DBWn REDO データファイル データファイル アーカイブREDOログ 2. リストア REDO Copyright © 2026, Oracle and/or its affiliates バックアップ・ストレージ
  99. Data Guardフィジカル・スタンバイ - プライマリ・データベースの連続的な複製 物理バックアップ/リストア/リカバリの応用 プライマリ・データベース スタンバイ・データベース 継続的ロールフォワード → ほぼ最新の状態に追従

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

    REDOログ消失リスク極小 SQL 抽象データ空間の 変更操作 REDO REDO REDOログ・ファイル データファイル 物理バックアップ REDO 143 スタンバイ・データベース Copyright © 2026, Oracle and/or its affiliates REDOログ・ファイル データファイル
  101. Data Guardフィジカル・スタンバイ - それでも物理バックアップは必要 時間軸上でカバーする範囲が異なる プライマリ・データベース スタンバイ・データベース 抽象データ空間の 変更操作 REDO

    REDO REDOログ・ファイル データファイル REDOログ・ファイル REDO Copyright © 2026, Oracle and/or its affiliates データファイル Data Guardスタンバイ・データベース 現在の状態からの継続 物理バックアップ 144 継続的ロールフォワード → ほぼ最新の状態に追従 REDOログが生成されたらすぐ転送 → REDOログ消失リスク極小 SQL 物理バックアップ 過去の状態の保存
  102. Data Guardフィジカル・スタンバイ 直近の状態からデータベースを継続 時刻t1(ストレージ障害) INSERT UPDATE DELETE INSERT UPDATE アーカイブREDOログ・ファイル

    過去の状態を保持していない DELETE オンラインREDOログ・ファイル Data Guardフィジカル・スタンバイ (物理レプリケーション) 最新のREDOログからシステム継続 145 Copyright © 2026, Oracle and/or its affiliates 時間
  103. 物理バックアップ -過去の状態を保持 Data Guardを構成しても必要 時刻t1(ストレージ障害) INSERT UPDATE DELETE アーカイブREDOログ・ファイル RMAN

    (物理バックアップ) 過去の状態を保持 146 Copyright © 2026, Oracle and/or its affiliates INSERT UPDATE DELETE オンラインREDOログ・ファイル Recovery Point Objective 目標復旧時点 時間
  104. 物理バックアップでRPO≒0を実現するには? オンラインREDOログ・ファイルを消失する可能性がある 時刻t1(ストレージ障害) INSERT UPDATE DELETE アーカイブREDOログ・ファイル RMAN (物理バックアップ) INSERT

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

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

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

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

    UPDATE 時刻t1 DELETE INSERT UPDATE DELETE アーカイブREDOログ オンラインREDOログ バックアップ バックアップ Point In Time Recovery REDOログ適用を指定時刻で止める リストア (データファイルの書き戻し) リカバリ (REDOログの適用) 時間 152 Copyright © 2026, Oracle and/or its affiliates
  109. 完全リカバリと不完全リカバリ REDOログをどこまで適用するか? 完全リカバリ アーカイブREDOログとオンラインREDOログの最新の状態まで → データベースの最新の状態までREDOログ適用 RMAN> RESTORE DATABASE; RMAN>

    RECOVER DATABASE; RMAN> ALTER DATABASE OPEN; 不完全リカバリ 指定したSCNまたは時刻までのREDOログまで → 途中でREDOログ適用を止める RMAN> SET UNTIL SCN(論理時計) または TIME(物理時計); RMAN> RESTORE DATABASE; RMAN> RECOVER DATABASE; RMAN> ALTER DATABASE OPEN RESET LOGS; 153 Copyright © 2026, Oracle and/or its affiliates
  110. リストアしてREDOログ適用を途中で止めるとその時点の時間断面になる Point In Time Recovery 時刻t0 時刻t1 INSERT INSERT INSERT

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

    • 全データファイルのリストアとリカバリは相応の時間がかかる UNDOブロックを使用した読み取り一貫性 • 過去のデータが一時的に保存されている • その応用、Flashback Technologies 156 Copyright © 2026, Oracle and/or its affiliates
  112. READ COMMITTED読み取り一貫性の実装 (再掲) 変更前のデータブロックをUNDO表領域に退避 SQL UPDATE table1 SET c1=value1 WHERE

    primarykey=pk1 表(TABLE) アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 変更したセッション 最新の変更が見える それ以外のセッション 変更前の値が見える データ表領域 UNDO表領域 変更対象データブロック 変更前のデータブロック データファイル 158 Copyright © 2026, Oracle and/or its affiliates
  113. 過去のデータにアクセスする - 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 個別取消 159 Copyright © 2026, Oracle and/or its affiliates
  114. 過去のデータにアクセスする - 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 個別取消 160 Copyright © 2026, Oracle and/or its affiliates
  115. Flashback Technologies - UNDOブロックによるスナップショットの応用 変更前のデータブロックをUNDO表領域に退避 SQL Flashback Query (過去の値をSELECT) SELECT

    … AS OF SCN(論理時計) または TIMESTAMP(物理時計) 表(TABLE) Flashback Version Query (過去の値の履歴をSELECT) SELECT … VERSIONS BETWEEN SCN または TIME start to end アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 データ表領域 UNDO表領域 変更対象データブロック 変更前のデータブロック データファイル 161 Copyright © 2026, Oracle and/or its affiliates
  116. Flashback Technologies - 過去を参照するにはUNDOブロックを長時間保持 あまり長期間UNDOブロックを保持するのには向いていない • • データ表領域 Flashback Query

    Flashback Version Query UNDO表領域 過去の状態の保存 ガベージコレクションせずに残しておく データファイル 増大 変更対象データブロック 163 Copyright © 2026, Oracle and/or its affiliates 変更前のデータブロック
  117. UNDOブロックの高頻度バックアップ領域 - Flashback Log UNDO表領域とは別のストレージ領域にUNDOブロックを高頻度複製 • • データ表領域 Flashback Query

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

    データファイル 増大 変更対象データブロック 変更前のデータブロック Flashback Database UNDOブロックをリストアしてPoint In Time Recovery Flashback Log領域 UNDOブロックの高頻度バックアップ 165 Copyright © 2026, Oracle and/or its affiliates
  119. Flashback Database UNDOブロックをリストアしてPoint In Time Recovery - データファイル全体のリストアより高速 リカバリをどこで止めるかを指定してFLASHBACKコマンド発行 データ表領域

    UNDO表領域 SQL> FLASHBACK DATABASE TO SCN(論理時計) または TIMESTAMP(物理時計); データファイル 増大 変更対象データブロック 変更前のデータブロック Flashback Database UNDOブロックをリストアしてPoint In Time Recovery Flashback Log領域 UNDOブロックの高頻度バックアップ 166 Copyright © 2026, Oracle and/or its affiliates
  120. Point In Time Recovery リストアするデータブロックと、どこからどれだけのデータブロックにREDOログをロールフォワードするか 時刻t1(ストレージ障害) INSERT UPDATE DELETE INSERT

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

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

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

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

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

    抽象データ空間: 一致 アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 REDOログ REDOログ 物理データ構造: 不一致 データファイル 一致している必要がない データブロック 177 Copyright © 2026, Oracle and/or its affiliates データブロック
  126. 抽象データ空間での複製 データベース間のデータ連携ツールとしての用途 ソース・データベース SQL ターゲット・データベース 論理 - 差分 SQL •

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

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

    アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 • Data Pump REDOログ REDOログ 物理データ構造: 不一致 データファイル 一致している必要がない データブロック 181 Copyright © 2026, Oracle and/or its affiliates データブロック
  129. READ COMMITTED読み取り一貫性の実装 (再掲) 変更前のデータブロックをUNDO表領域に退避 SQL UPDATE table1 SET c1=value1 WHERE

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

    FLASHBACK_SCN = … 論理 - 状態 表(TABLE) Data Pumpダンプファイル 特定時刻の一貫性のある時間断面 アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 データ表領域 UNDO表領域 変更対象データブロック 変更前のデータブロック データファイル 183 Copyright © 2026, Oracle and/or its affiliates
  131. 抽象データ空間での状態の複製 - Data Pump ダンプ・ファイルは物理データ構造のアドレス情報が消失する ソース・データベース SQL Data Pumpダンプファイル 特定時刻の時間断面

    表(TABLE) アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 物理データ構造のアドレス情報が消失 REDOログ データファイル データブロック 184 Copyright © 2026, Oracle and/or its affiliates 論理 - 状態
  132. 抽象データ空間での状態の複製 - Data Pump ソース・データベースとターゲット・データベースは物理データ構造が異なる ソース・データベース SQL ターゲット・データベース 論理 -

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

    状態 Data Pumpダンプファイル 特定時刻の時間断面 表(TABLE) アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 REDOログ データファイル Copyright © 2026, Oracle and/or its affiliates REDOログ 物理データ構造: 不一致 データブロック 186 • SCN • アドレス • 変更内容 データブロック
  134. 物理バックアップ(RMAN)と論理バックアップ(Data Pump) どの時刻に戻せるか INSERT UPDATE DELETE アーカイブREDOログ・ファイル RMAN物理バックアップ 物理 -

    状態/差分 REDOログ適用で任意の時刻にロールフォワード可能 INSERT UPDATE 時間 DELETE オンラインREDOログ・ファイル REDOログでロールフォワード REDOログが存在するところまでリカバリ可能 RMANオンライン・バックアップ・ファイル 整合性がないので要リカバリ Data Pump論理バックアップ 論理 - 状態 特定SCNの時間断面 / REDOログは適用できない Data Pumpダンプ・ファイル 整合性がある時間軸上の1点 187 Copyright © 2026, Oracle and/or its affiliates REDOログでリカバリ不可能
  135. REDOログから理解するOracle AI Databaseの復旧戦略 SQL 複製階層 機能概念 論理 - 差分 論理レプリケーション

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

    - 差分 表(TABLE) アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 REDOログ REDOログ データブロック データブロック データファイル 190 Copyright © 2026, Oracle and/or its affiliates
  137. 複数セッションでの変更は抽象データ空間では並行でも、物理データ構造では直列 データベース内で発生したイベントはSystem Change Number(SCN)の昇順 Oracleサーバー・プロセス SQL 1 SQL 1 SQL

    1 SQL 2 SQL 2 SQL 2 SQL 3 SQL 3 SQL 3 oracle oracle oracle SCN REDO REDO REDO 191 Copyright © 2026, Oracle and/or its affiliates SGA 抽象データ空間の変更は並行 → 並行なので順序保証なし → 順序の再現性がない REDOログ ≒ SCN + アドレス + 変更内容 物理データ構造の変更は直列 → SCNで相対順序が保証 → 順序の再現性がある
  138. Oracle AI DatabaseはREDOログ(物理差分)からSQL(論理差分)を組み立てる SQLでターゲット・データベースを変更する ソース・データベース ターゲット・データベース SQL SQL 論理データ構造の変更 表(TABLE)

    物理 ⇒ 論理 アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 REDOログ 物理データ構造の変更 SCNで順序保証あり REDOログ データファイル データブロック 192 Copyright © 2026, Oracle and/or its affiliates データブロック
  139. 抽象データ空間の変更 → 物理データ構造の変更 SQL 表(TABLE) UPDATE table1 SET c1=value1 WHERE

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

    Oracle and/or its affiliates どのデータブロックの、どこを、 どう変更するか ≒ アドレス 変更内容 SCN + + アドレス + 変更内容 REDOログ: 物理データ構造の変更 データブロック 194 ? REDOログ(物理) ⇒ SQL(論理) アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 UPDATE table1 SET c1=value1 WHERE primarykey=pk1
  141. REDOログからSQLを組み立てることができるのか? → できない 不足している情報がある SQL 表(TABLE) SQL: 抽象データ空間の変更 REDOログには抽象データ空間の行を特定 する情報(プライマリ・キー)が不足している

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

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

    アドレスの概念がある 物理データ構造 REDOログ データファイル Copyright © 2026, Oracle and/or its affiliates どのデータブロックの、どこを、 どう変更するか ≒ アドレス 変更内容 SCN + + アドレス + 変更内容 + プライマリ・キー REDOログ: 物理データ構造の変更 データブロック 197 UPDATE table1 SET c1=value1 WHERE primarykey=pk1
  144. 2つの論理レプリケーション機能の初期状態 レプリケーション対象表の初期状態の構成階層が異なる 物理/論理 ソース・データベース ターゲット・データベース 1. データベース全体の物理バックアップをリストア 2. フィジカル・スタンバイをロジカル・スタンバイに変換 Data

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

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

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

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

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

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

    Databaseそのものが持つ仕組み • COMMIT伝搬の同期転送モードも可能 Data Guard REDOログ・バッファのメモリーから送出 ログ・ライター・プロセス LGWR オンラインREDOログ・ファイル REDO アーカイバ・プロセス ARCH アーカイブREDOログ・ファイル REDO 204 Copyright © 2026, Oracle and/or its affiliates • Oracle AI Databaseの外付けの仕組み • 様々なデータ・ソースに対応可能 GoldenGate オンラインREDOログ・ファイルを読んで送出 書き込み完了 バックアップ RMAN アーカイブREDOログ・ファイル1本分 書き込み完了したら送出可能
  151. 「REDOログ」を起点としたデータ複製機能の関係 データブロック変更 (REDOログ生成) データブロック物理バックアップ/REDOリカバリ Recovery Manager (RMAN) REDO転送+リカバリ Data Guardフィジカル・スタンバイ

    RMAN 変更前データブロック保持 (UNDOブロック生成) 特定SCNでのCOMMIT済みデータの時間断面 読み取り一貫性 特定SCNでの時間断面 Data Pump REDO転送 ZDLRA 物理データ構造 208 Copyright © 2026, Oracle and/or its affiliates 抽象(論理)データ構造
  152. 「REDOログ」を起点としたデータ複製機能の関係 データブロック変更 (REDOログ生成) 変更前データブロック保持 (UNDOブロック生成) データブロック物理バックアップ/REDOリカバリ 特定SCNでのCOMMIT済みデータの時間断面 読み取り一貫性 Recovery Manager

    (RMAN) UNDOブロックの物理バックアップ/Point In Time Recovery REDO転送+リカバリ Data Guardフィジカル・スタンバイ RMAN 特定SCNでの時間断面 Flashback Technologies Data Pump 物理+抽象(論理)データ構造 抽象(論理)データ構造 REDO転送 ZDLRA 物理データ構造 209 Copyright © 2026, Oracle and/or its affiliates
  153. 「REDOログ」を起点としたデータ複製機能の関係 データブロック変更 (REDOログ生成) 変更前データブロック保持 (UNDOブロック生成) データブロック物理バックアップ/REDOリカバリ 特定SCNでのCOMMIT済みデータの時間断面 読み取り一貫性 Recovery Manager

    (RMAN) UNDOブロックの物理バックアップ/Point In Time Recovery REDO転送+リカバリ Data Guardフィジカル・スタンバイ 特定SCNでの時間断面 Flashback Technologies Data Pump REDOログからSQL組み立て RMAN REDO転送 Data Guardロジカル・スタンバイ ZDLRA 物理データ構造 210 Copyright © 2026, Oracle and/or its affiliates 物理+抽象(論理)データ構造 抽象(論理)データ構造
  154. 「REDOログ」を起点としたデータ複製機能の関係 データブロック変更 (REDOログ生成) 変更前データブロック保持 (UNDOブロック生成) データブロック物理バックアップ/REDOリカバリ 特定SCNでのCOMMIT済みデータの時間断面 読み取り一貫性 Recovery Manager

    (RMAN) UNDOブロックの物理バックアップ/Point In Time Recovery REDO転送+リカバリ Data Guardフィジカル・スタンバイ 特定SCNでの時間断面 Flashback Technologies Data Pump REDOログからSQL組み立て RMAN REDO転送 ZDLRA 物理データ構造 211 Copyright © 2026, Oracle and/or its affiliates Data Guardロジカル・スタンバイ 指定SCN以降のREDOログからSQL組み立て 物理+抽象(論理)データ構造 複製対象表の特定SCNでの 初期状態の時間断面 GoldenGate 抽象(論理)データ構造
  155. 何を複製するのか - 実装手段は4階層ある SQL 複製階層 機能概念 論理 - 差分 論理レプリケーション

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

    • • Data Guardロジカル・スタンバイ GoldenGate 表(TABLE) 論理 - 状態 アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 データファイル • 物理データ構造の複製 REDOログ 変更とリカバリの仕組みが一体 データブロックの中身が同一 破損に備える複製 データブロック 213 Copyright © 2026, Oracle and/or its affiliates 論理バックアップ/エクスポート 物理 - 差分 物理レプリケーション • 物理 - 状態 Data Pump Data Guardフィジカル・スタンバイ 物理バックアップ • Recovery Manager (RMAN)
  157. 何を複製するのか - 実装手段は4階層ある SQL 論理データ構造の複製 複製階層 機能概念 論理 - 差分

    論理レプリケーション • • 物理データ構造の一致は不要 表(TABLE) データベースの一部のみ複製可能 アドレスの概念がない 抽象データ空間 アドレスの概念がある 物理データ構造 データファイル データベース間連携/移行 物理データ構造の複製 REDOログ 変更とリカバリの仕組みが一体 データブロックの中身が同一 データブロック Copyright © 2026, Oracle and/or its affiliates 論理バックアップ/エクスポート • 破損に備える複製 214 論理 - 状態 物理 - 差分 Data Pump 物理レプリケーション • 物理 - 状態 Data Guardロジカル・スタンバイ GoldenGate Data Guardフィジカル・スタンバイ 物理バックアップ • Recovery Manager (RMAN)
  158. Maximum Availability Architecture Oracle AI Databaseの高可用性機能の組み合わせ Diamond: Platinum: Gold: Silver:

    • ローカルHA RTO:数秒〜数分 リージョンDR RTO:数時間〜数日 RPO < 15分 Bronze: • ローカルHA RTO:数分〜1時間 リージョンDR RTO:数時間〜数日 RPO < 15分 開発、テスト、本番 シングル・インスタンス、 バックアップとリストア 215 本番/部門利用 Bronze + RACまたはData Guardに よる高可用性 Copyright © 2026, Oracle and/or its affiliates • ローカルHA RTO < 60秒 リージョンDR RTO < 5分 RPO:ゼロまたはほぼゼロ • ローカルHA RTO < 10秒 リージョンDR RTO < 30秒 RPO:ゼロまたはほぼゼロ ミッション・クリティカル ビジネス・クリティカル Exadataを備えたGold + RACを備えたSilver + Active Data Guardに よるDBレプリケーションと 自動フェイルオーバー Oracle AI Database 26aiのActive Data Guard、またはOracle Database 19cの GoldenGate • HA/DR RTO < 3秒 RPO:ゼロまたはほぼゼロ 極限レベルの可用性 GoldenGate 26aiレプリカ。 それぞれで以下を実行: Oracle AI Database 26ai + Exadata上のRAC + (Active)Data Guard または Raft Replicationを用いた Globally Distributed Database
  159. Maximum Availability Architecture Oracle AI Databaseの高可用性機能の組み合わせ Diamond: Platinum: Gold: Silver:

    • ローカルHA RTO:数分〜1時間 リージョンDR RTO:数時間〜数日 RPO < 15分 開発、テスト、本番 シングル・インスタンス、 バックアップとリストア 216 本番/部門利用 Bronze + RACまたはData Guardに よる高可用性 Copyright © 2026, Oracle and/or its affiliates 極限レベルの可用性 最も基本に置いているのは 物理バックアップ(RMAN) • ローカルHA RTO:数秒〜数分 リージョンDR RTO:数時間〜数日 RPO < 15分 Bronze: • ローカルHA RTO < 10秒 リージョンDR RTO < 30秒 RPO:ゼロまたはほぼゼロ • HA/DR RTO < 3秒 RPO:ゼロまたはほぼゼロ • ローカルHA RTO < 60秒 リージョンDR RTO < 5分 RPO:ゼロまたはほぼゼロ ミッション・クリティカル ビジネス・クリティカル Exadataを備えたGold + RACを備えたSilver + Active Data Guardに よるDBレプリケーションと 自動フェイルオーバー Oracle AI Database 26aiのActive Data Guard、またはOracle Database 19cの GoldenGate GoldenGate 26aiレプリカ。 それぞれで以下を実行: Oracle AI Database 26ai + Exadata上のRAC + (Active)Data Guard または Raft Replicationを用いた Globally Distributed Database