Oracle 増分バックアップの違い(累積と差分)

Oracle Master Gold

Oracle Database の運用で「バックアップ時間が長すぎる」「ディスク容量が足りない」とお悩みではありませんか?結論として、増分バックアップを活用すれば、変更のあったデータブロックのみを効率的に保存できます。本記事では、累積増分バックアップ差分増分バックアップの仕組み、使い分けの判断基準、具体的な RMAN コマンド例を初心者の方にも分かりやすく解説します。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

結論:どちらを使うべき?最短比較リスト

バックアップ戦略を立てる際の「やることリスト」と判断基準です。

  • バックアップ時間を最短にしたい・容量を節約したい差分増分バックアップを選択。
  • 障害発生時のリカバリ作業をシンプル・迅速にしたい累積増分バックアップを選択。
  • 運用方針の決定→ 週に1回「レベル0(フル)」、毎日に「レベル1(増分)」を取得するのが一般的です。

増分バックアップの基礎知識とレベルの定義

増分バックアップとは、前回のバックアップ以降に変更されたデータブロックのみをコピーする手法です。Oracle では「レベル」という概念で管理されます。

  • レベル0(増分レベル0): 基礎となるバックアップ。全データブロックをバックアップします(実質的なフルバックアップですが、増分戦略の起点として必須です)。
  • レベル1(増分レベル1): レベル0、または他のレベル1以降の変更分をバックアップします。これに「差分」と「累積」の2種類が存在します。

差分増分バックアップと累積増分バックアップの違いとは?

もっとも大きな違いは「どの時点からの変更分を持つか」という基準点にあります。

1. 差分増分バックアップ (Differential)

デフォルトの設定です。**「直前のレベル1(またはレベル0)」**以降の変更分を取得します。

  • メリット: 毎日のバックアップ量が最小限で済みます。
  • デメリット: リカバリ時、レベル0以降の「すべての日のレベル1」を順番に適用する必要があり、時間がかかります。

2. 累積増分バックアップ (Cumulative)

「直前のレベル0」以降のすべての変更分を取得します。

  • メリット: リカバリ時、「レベル0」と「最新の累積レベル1」の2つがあれば復旧できるため、作業が高速です。
  • デメリット: レベル0からの日数が経過するほど、バックアップサイズが肥大化します。

図解:バックアップイメージの比較

【差分増分 (Differential)】 ※デフォルト
月(L0) ── 火(L1) ── 水(L1) ── 木(L1)
           [火のみ]   [水のみ]   [木のみ]

【累積増分 (Cumulative)】
月(L0) ── 火(L1) ── 水(L1) ── 木(L1)
           [火のみ]   [火+水]    [火+水+木]

実装:RMANによるバックアップ実行例

実行には SYSBACKUP または SYSDBA 権限が必要です。CDB/PDB環境では、接続先(ルートまたは個別PDB)に応じた範囲が取得されます。

前提条件

  • ターゲット・データベースが ARCHIVELOGモード であること。
  • RMAN(Recovery Manager)で接続していること。

1. 増分レベル0(基盤)の取得

すべての増分バックアップの起点となります。

-- データベース全体のレベル0バックアップを実行
RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;

意図:全データブロックをスキャンし、増分適用のベースラインを作成します。

2. 累積増分レベル1の取得

「CUMULATIVE」キーワードを明示します。

-- レベル0以降の全変更分をバックアップ
RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;

意図:前回のレベル0以降に発生した全変更を1つのバックアップセットにまとめます。

RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;

backupを25-02-16で開始しています
チャネルORA_DISK_1の使用
チャネルORA_DISK_1: 増分レベル1のデータファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
入力データファイル ファイル番号=00001 名前=/u01/app/oracle/oradata/V19/system01.dbf
入力データファイル ファイル番号=00003 名前=/u01/app/oracle/oradata/V19/sysaux01.dbf
入力データファイル ファイル番号=00004 名前=/u01/app/oracle/oradata/V19/undotbs01.dbf
入力データファイル ファイル番号=00005 名前=/u01/app/oracle/oradata/V19/rctbs01.dbf
入力データファイル ファイル番号=00007 名前=/u01/app/oracle/oradata/V19/users01.dbf
チャネルORA_DISK_1: ピース1 (25-02-16)を起動します
チャネルORA_DISK_1: ピース1 (25-02-16)が完了しました
ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/133huqn2_35_1_1 タグ=TAG20250216T155514 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:07
backupを25-02-16で終了しました

Control File and SPFILE Autobackupを25-02-16で開始しています
ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/c-2957249400-20250216-0b コメント=NONE
Control File and SPFILE Autobackupを25-02-16で終了しました

3. 差分増分レベル1の取得

キーワードを指定しない場合、自動的に差分となります。

-- 直近のレベル1または0からの変更分のみバックアップ
RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;

トラブルシューティング:よくあるORAエラーと対処法

エラーコード原因対処法
ORA-19606バックアップ対象が読み取り専用読み取り専用ファイルを含める設定か確認。
ORA-19504書き込み先のディスク容量不足累積増分の場合はサイズが大きくなるため、領域を確保。
ORA-15025ASMディスクへのアクセス失敗権限設定およびディスク・グループの状態を確認。

運用上の注意点とセキュリティ

  • ブロック・チェンジ・トラッキング (BCT)増分バックアップを高速化するには、BCT機能を有効にすることを強く推奨します。これを有効にしないと、Oracleは変更箇所を探すために全データファイルをスキャンしてしまいます。SQL-- BCTの有効化(SYSDBA権限でSQL実行) ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '/u01/app/oracle/oradata/bct_file.trc';
  • セキュリティバックアップ・ピースには機密データが含まれます。CONFIGURE ENCRYPTION FOR DATABASE ON; を使用した暗号化を検討してください。
  • 戻し方の確認バックアップは「リカバリできること」がゴールです。定期的に RESTORE DATABASE VALIDATE; で整合性を確認しましょう。

FAQ:よくある質問

Q: 増分バックアップは Standard Edition 2 (SE2) でも使えますか?

A: はい、SE2でも RMAN による増分バックアップは利用可能です。ただし、高速化のための「ブロック・チェンジ・トラッキング」は Enterprise Edition (EE) 限定の機能です。

Q: レベル2やレベル3のバックアップはありますか?

A: 以前のバージョンには存在しましたが、現在は レベル0とレベル1のみ がサポートされています。

Q: 累積と差分、どちらがストレージを消費しますか?

A: 一般的に、同じ頻度で取得するなら「累積増分」の方が、重複データを含むためストレージ消費量は多くなります。


まとめ

  • 増分バックアップ は変更ブロックのみをコピーし、効率的なデータ保護を実現する。
  • 差分増分 は「直前のバックアップ」が起点。サイズ最小、リカバリはやや低速。
  • 累積増分 は「直前のレベル0」が起点。サイズ大、リカバリは高速。
  • 19c運用 では、バックアップ時間短縮のために「ブロック・チェンジ・トラッキング」の併用を検討する。

本記事は Oracle Database 19c を対象に解説します(他バージョンは画面や既定値が異なる場合があります)。


[参考]
Oracle Database バックアップおよびリカバリ・ユーザーズ・ガイド 19c

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

コメント

タイトルとURLをコピーしました