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

Oracle Master Gold

Oracle Databaseのバックアップ手法の一つに増分バックアップがあります。増分バックアップには「累積増分バックアップ」と「差分増分バックアップ」の2種類があり、それぞれの特性を理解して適切に使用することが重要です。本記事では、これらの違いについて解説し、テキストの図を使ってわかりやすく説明します。

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

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

1. 増分バックアップとは

増分バックアップは、前回のバックアップからの変更分のみをバックアップする手法です。フルバックアップに比べてバックアップサイズを抑え、処理時間を短縮できるという利点があります。増分バックアップには以下の2種類があります。

1.1 差分増分バックアップ(Differential Incremental Backup)

差分増分バックアップは、直前のバックアップ(フルバックアップまたは増分バックアップ)以降に変更されたデータブロックのみをバックアップします。

1.2 累積増分バックアップ(Cumulative Incremental Backup)

累積増分バックアップは、直前のフルバックアップ以降に変更されたすべてのデータブロックをバックアップします。つまり、バックアップが進むにつれて、バックアップデータのサイズは増えていきますが、リカバリ時には差分増分よりも手順がシンプルになります。

2. 差分増分バックアップと累積増分バックアップの違い

下のテキストの図を用いて、両者の違いを説明します。

(1) フルバックアップ取得
    ┌───────────┐
    │ フル       │
    └───────────┘

(2) 差分増分バックアップ(レベル1)
    ┌───────────┐
    │ フル       │
    └───────────┘
        │
    ┌───────────┐
    │ 差分1      │ (変更分のみ)
    └───────────┘

(3) 次の差分増分バックアップ
    ┌───────────┐
    │ フル       │
    └───────────┘
        │
    ┌───────────┐
    │ 差分1      │
    └───────────┘
        │
    ┌───────────┐
    │ 差分2      │ (前回との差分)
    └───────────┘
(1) フルバックアップ取得
    ┌───────────┐
    │ フル       │
    └───────────┘

(2) 累積増分バックアップ(レベル1)
    ┌───────────┐
    │ フル       │
    └───────────┘
        │
    ┌───────────┐
    │ 累積1      │ (フル以降のすべての変更)
    └───────────┘

(3) 次の累積増分バックアップ
    ┌───────────┐
    │ フル       │
    └───────────┘
        │
    ┌───────────┐
    │ 累積2      │ (フル以降のすべての変更)
    └───────────┘

2.1 差分増分バックアップの特徴

  • バックアップサイズが小さい(直前のバックアップとの差分のみを取得)
  • リカバリ時に複数の差分バックアップを適用する必要がある
  • 運用コストが低いが、リカバリ時の手順が複雑

2.2 累積増分バックアップの特徴

  • バックアップサイズが大きくなる(フルバックアップ以降のすべての変更を含む)
  • リカバリ時に直近の累積増分バックアップを適用すればよい
  • リカバリ手順がシンプル

3. どちらを選ぶべきか?

バックアップ方法バックアップサイズリカバリの容易さ適用シナリオ
差分増分バックアップ小さい複雑バックアップサイズを抑えたい場合
累積増分バックアップ大きい簡単リカバリを迅速に行いたい場合

運用の要件に応じて、適切な増分バックアップの方法を選択することが重要です。

4. レベル0バックアップと累積増分バックアップのコマンド

レベル0バックアップ(フルバックアップ)は、増分バックアップの基盤となる完全なバックアップです。以下のコマンドで取得できます。

RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;
RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;

backupを25-02-16で開始しています
チャネルORA_DISK_1の使用
チャネルORA_DISK_1: 増分レベル0のデータファイル・バックアップ・セットを開始しています
チャネル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/113huqlr_33_1_1 タグ=TAG20250216T155435 コメント=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-0a コメント=NONE
Control File and SPFILE Autobackupを25-02-16で終了しました

累積増分バックアップは、RMANで以下のコマンドを使用して取得できます。

RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;
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で終了しました

5. まとめ

  • 差分増分バックアップ:直前のバックアップからの変更分のみをバックアップする方式。バックアップサイズは小さいが、リカバリ手順が複雑。
  • 累積増分バックアップ:直近のフルバックアップ以降のすべての変更をバックアップする方式。バックアップサイズは大きくなるが、リカバリ時の手順が簡単。
  • どちらの方式を採用するかは、運用要件やリカバリ時間の要請による。

適切な増分バックアップを選択し、効率的なデータ保護を実現しましょう。

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

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

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

コメント

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