差分増分バックアップ(Differential Incremental Backup)は、前回の 完全バックアップ(Full Backup) 以降に変更されたデータブロックのみをバックアップする手法です。Oracle RMAN(Recovery Manager)を使用すると、この差分増分バックアップを簡単に取得できます。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
差分増分バックアップのメリット
- バックアップサイズが小さい:変更されたデータのみをバックアップするため、ストレージの節約につながる。
- バックアップ時間の短縮:完全バックアップよりも短時間でバックアップを取得可能。
- リカバリが容易:完全バックアップと直近の差分増分バックアップを適用すれば復旧できる。
- 変更部分のみのバックアップ により、バックアップの頻度を増やしても負荷を抑えられる。
増分バックアップの種類と違い
増分バックアップには 差分増分(Differential Incremental) と 累積増分(Cumulative Incremental) の2種類があります。
| バックアップ種別 | バックアップの内容 | リカバリ時の必要ファイル | 特徴 |
|---|---|---|---|
| 差分増分バックアップ | 直近の完全バックアップ以降に変更されたデータブロック | 完全バックアップ + 最後の差分増分バックアップ | バックアップサイズが小さいが、リカバリ時に複数の増分バックアップが必要になる場合がある |
| 累積増分バックアップ | 直近の完全バックアップ以降に変更されたすべてのデータブロック | 完全バックアップ + 最新の累積増分バックアップ | バックアップサイズは大きくなるが、リカバリ時の適用が簡単 |
増分バックアップのイメージ
完全バックアップ(F):初回取得のフルバックアップ
差分増分バックアップ(D1, D2, D3):前回の完全バックアップ以降の変更分
累積増分バックアップ(C1, C2, C3):完全バックアップ以降のすべての変更分
時間の経過 →
F - D1 - D2 - D3
F - C1 - C2 - C3
差分増分バックアップの適用例
- 完全バックアップ(F)を取得
- 差分増分バックアップ(D1)を取得(F以降の変更分)
- 差分増分バックアップ(D2)を取得(D1以降の変更分)
- リカバリ時にはF + 最後のD2を適用
累積増分バックアップの適用例
- 完全バックアップ(F)を取得
- 累積増分バックアップ(C1)を取得(F以降の変更分)
- 累積増分バックアップ(C2)を取得(F以降の変更分すべて)
- リカバリ時にはF + 最新のC2を適用
レベル0バックアップの取得方法(RMAN)
完全バックアップ(LEVEL 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/0t3huq4f_29_1_1 タグ=TAG20250216T154519 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:15
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-08 コメント=NONE
Control File and SPFILE Autobackupを25-02-16で終了しました
差分増分バックアップの取得方法(RMAN)
RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;
このコマンドは 直前の完全バックアップ(LEVEL 0) 以降に変更されたブロックのみを取得します。
RMAN> BACKUP INCREMENTAL LEVEL 1 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/0v3huq6f_31_1_1 タグ=TAG20250216T154622 コメント=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-09 コメント=NONE
Control File and SPFILE Autobackupを25-02-16で終了しました
まとめ
- 差分増分バックアップ は、直前の 完全バックアップ 以降の変更部分のみをバックアップ。
- 累積増分バックアップ は、直前の 完全バックアップ 以降の 全変更部分 をバックアップ。
- リカバリ時の負担 を考えると、累積増分バックアップの方が適用が容易だが、バックアップサイズは大きくなる。
- 差分増分バックアップ は、バックアップサイズが小さいが、複数のバックアップファイルが必要になる可能性がある。
- 増分バックアップのリカバリ では、完全バックアップをリストアした後、最新の増分バックアップを適用する。
用途に応じて、適切な増分バックアップ方式を選択することが重要です。
[参考]
Oracle Database バックアップおよびリカバリ・ユーザーズ・ガイド 19c
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?




コメント