Oracle Databaseのバックアップ運用で「リカバリ時間を短縮したいが、毎日のフルバックアップはストレージ負荷が高い」とお悩みではありませんか? 増分更新バックアップ(Incremental Update Backup)は、RMAN(Recovery Manager)の機能を活用し、イメージコピーと増分バックアップを組み合わせることで、常に最新のフルバックアップを維持できる効率的な手法です。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
増分更新バックアップの仕組みとメリット
通常、増分バックアップからのリカバリは「フルバックアップのリストア + 複数の増分バックアップの適用」という手順を踏むため、時間がかかります。
増分更新バックアップは、あらかじめイメージコピーに対して増分を適用(ROLLING FORWARD)しておくことで、リカバリ時の工程を大幅にスキップします。
主なメリット
- 即時リカバリ(MTTRの短縮):イメージコピーが既に最新(または前日時点)のため、ファイル転送時間が不要。
- ストレージの最適化:フルバックアップを毎回作成せず、1世代分+増分データのみで運用可能。
- バックアップ時間の短縮:読み取り・書き込み負荷が変更ブロックのみに限定される。
増分更新バックアップの設定手順
増分バックアップの取得(定期的に実施)
増分レベル1のバックアップを取得し、更新用のバックアップを作成します。
RMAN> BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'INCR_UPDATE' DATABASE;
イメージコピーへの増分適用(ROLLING FORWARD)
取得した増分バックアップをイメージコピーに適用し、常に最新の状態を維持します。
RMAN> RECOVER COPY OF DATABASE WITH TAG 'INCR_UPDATE';
この手順を定期的に実行することで、フルバックアップを取得せずに最新のイメージコピーが維持されます。
RMAN> BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'INCR_UPDATE' DATABASE;
backupを25-02-20で開始しています
チャネル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-20)を起動します
チャネルORA_DISK_1: ピース1 (25-02-20)が完了しました
ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/173ia8cn_39_1_1 タ グ=INCR_UPDATE コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:07
backupを25-02-20で終了しました
Control File and SPFILE Autobackupを25-02-20で開始しています
ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/c-2957249400-20250220-09 コメント=NONE
Control File and SPFILE Autobackupを25-02-20で終了しました
RMAN> RECOVER COPY OF DATABASE WITH TAG 'INCR_UPDATE';
recoverを25-02-20で開始しています
チャネルORA_DISK_1の使用
チャネルORA_DISK_1: 増分データファイル・バックアップ・セットのリストアを開始しています
チャネルORA_DISK_1: リカバリするデータファイル・コピーを指定しています
リカバリしているデータファイル・コピーのファイル番号=00001 名前=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/data_D-V19_I-2957249400_TS-SYSTEM_FNO-1_113ia8ah
リカバリしているデータファイル・コピーのファイル番号=00003 名前=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/data_D-V19_I-2957249400_TS-SYSAUX_FNO-3_123ia8ao
リカバリしているデータファイル・コピーのファイル番号=00004 名前=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/data_D-V19_I-2957249400_TS-UNDOTBS1_FNO-4_133ia8ar
リカバリしているデータファイル・コピーのファイル番号=00005 名前=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/data_D-V19_I-2957249400_TS-RCTBS_FNO-5_143ia8au
リカバリしているデータファイル・コピーのファイル番号=00007 名前=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/data_D-V19_I-2957249400_TS-USERS_FNO-7_153ia8b1
チャネルORA_DISK_1: バックアップ・ピース/u01/app/oracle/product/19.0.0/dbhome_1/dbs/173ia8cn_39_1_1から読取り中です
チャネルORA_DISK_1: ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/173ia8cn_39_1_1 タグ=INCR_UPDATE
チャネルORA_DISK_1: バックアップ・ピース1がリストアされました
チャネルORA_DISK_1: リストアが完了しました。経過時間: 00:00:02
recoverを25-02-20で終了しました
Control File and SPFILE Autobackupを25-02-20で開始しています
ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/c-2957249400-20250220-0a コメント=NONE
Control File and SPFILE Autobackupを25-02-20で終了しました
RMAN>
リストアとリカバリの実行(障害発生時)
障害時には、イメージコピーを使用して迅速にリストアとリカバリを行います。
RMAN> shutdown immediate
RMAN> startup mount;
RMAN> SWITCH DATABASE TO COPY;
RMAN> RECOVER DATABASE;
RMAN> alter database open;
RMAN> shutdown immediate
データベースがクローズしました
データベースがディスマウントされました。
Oracleインスタンスがシャットダウンしました
RMAN> startup mount;
ターゲット・データベースに接続しました(起動していません)。
Oracleインスタンスが起動しました
データベースがマウントされました。
システム・グローバル領域の合計は、 1543500120バイトです。
Fixed Size 8925528バイト
Variable Size 889192448バイト
Database Buffers 637534208バイト
Redo Buffers 7847936バイト
RMAN> SWITCH DATABASE TO COPY;
データファイル1はデータファイル・コピー"/u01/app/oracle/product/19.0.0/dbhome_1/dbs/data_D-V19_I-2957249400_TS-SYSTEM_FNO-1_113ia8ah"に切り替えられました
データファイル3はデータファイル・コピー"/u01/app/oracle/product/19.0.0/dbhome_1/dbs/data_D-V19_I-2957249400_TS-SYSAUX_FNO-3_123ia8ao"に切り替えられました
データファイル4はデータファイル・コピー"/u01/app/oracle/product/19.0.0/dbhome_1/dbs/data_D-V19_I-2957249400_TS-UNDOTBS1_FNO-4_133ia8ar"に切り替えられました
データファイル5はデータファイル・コピー"/u01/app/oracle/product/19.0.0/dbhome_1/dbs/data_D-V19_I-2957249400_TS-RCTBS_FNO-5_143ia8au"に切り替えられました
データファイル7はデータファイル・コピー"/u01/app/oracle/product/19.0.0/dbhome_1/dbs/data_D-V19_I-2957249400_TS-USERS_FNO-7_153ia8b1"に切り替えられました
RMAN> RECOVER DATABASE;
recoverを25-02-20で開始しています
チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: SID=37 デバイス・タイプ=DISK
メディア・リカバリを開始しています
メディア・リカバリが完了しました。経過時間: 00:00:01
recoverを25-02-20で終了しました
RMAN> alter database open;
文が処理されました
RMAN> select status from v$instance;
STATUS
------------
OPEN
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
増分更新バックアップの運用例
増分更新バックアップを効果的に運用するためのスケジュール例を示します。
| 曜日 | バックアップ内容 |
|---|---|
| 日曜日 | フルバックアップ(イメージコピー作成) |
| 月曜日 | 増分レベル1適用(イメージコピー更新) |
| 火曜日 | 増分レベル1適用(イメージコピー更新) |
| 水曜日 | 増分レベル1適用(イメージコピー更新) |
| 木曜日 | 増分レベル1適用(イメージコピー更新) |
| 金曜日 | 増分レベル1適用(イメージコピー更新) |
| 土曜日 | 増分レベル1適用(イメージコピー更新) |
この運用を行うことで、最新のフルバックアップが維持され、復旧時間を大幅に短縮できます。
ベストプラクティス
適切なストレージの確保
- イメージコピーの保存先には十分なディスク容量を確保する。
- 増分バックアップの保持期間を考慮し、適切なディスク管理を行う。
自動化の導入
CRONやDBMS_SCHEDULERを利用して増分バックアップの適用を自動化。- RMANスクリプトを活用し、定期的なバックアップと適用を自動実行。
定期的なリストアテスト
- 障害発生時のために、定期的にバックアップデータをリストアし、リカバリの検証を実施。
RESTORE DATABASE VALIDATEコマンドを利用してバックアップの整合性を確認。
RMAN> RESTORE DATABASE VALIDATE;
アーカイブログ管理
- 増分更新バックアップはアーカイブログモードでの運用が必須。
- アーカイブログの適切な管理を行い、ストレージの過負荷を防ぐ。
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
トラブルシューティング:代表的なORAエラー
| エラーコード | 原因 | 確認・対処法 |
| ORA-19625 | バックアップファイルが見つからない | LIST COPY でファイルの存在を確認。消失時は再度イメージコピーを取得。 |
| ORA-19504 | 書き込み先のディスク容量不足 | ストレージ残量を確認。古い増分バックアップやログを削除。 |
| ORA-00257 | アーカイブログ領域の満杯 | 増分適用後、不要なアーカイブログを DELETE ARCHIVELOG で削除。 |
運用・セキュリティ上の注意
- 戻し方の検討:
SWITCHコマンドでバックアップ先に切り替えた後は、バックアップディスク上でDBが動作します。パフォーマンス低下のリスクがあるため、復旧後に本来の高速ストレージへ戻す手順を標準化してください。 - タグ管理の徹底:
WITH TAGを指定しないと、他のバックアップと混同され、正しく更新が適用されない原因になります。 - ブロック・チェンジ・トラッキング:増分バックアップを高速化するため、
ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;の設定を強く推奨します。
FAQ:よくある質問
Q1. 増分更新バックアップと通常の増分バックアップの違いは?
A1. 通常の増分バックアップは、リカバリ時に「フル + 増分1 + 増分2…」と順番に適用していきますが、増分更新はあらかじめコピーに適用を済ませておくため、リカバリが圧倒的に早いです。
Q2. ストレージ容量はどれくらい必要ですか?
A2. 最低限、データベースの全サイズ(イメージコピー用) + 日々の変更量(増分バックアップ用)が必要です。
Q3. Standard Edition 2 (SE2) でも利用できますか?
A3. はい、SE2/EE どちらの Edition でも利用可能な RMAN の標準機能です。
まとめ
- 増分更新バックアップ は、イメージコピーと増分適用(Recover)を組み合わせた手法。
- MTTR(平均復旧時間) を劇的に短縮でき、大規模DBでの運用に最適。
- SWITCH コマンドを活用することで、ファイルコピーを伴わない高速なリストアが可能。
- 運用には ブロック・チェンジ・トラッキング の併用が推奨される。
本記事は Oracle Database 19c を対象に解説します(他バージョンは画面や既定値が異なる場合があります)。
[参考]
Oracle Database バックアップおよびリカバリ・ユーザーズ・ガイド 19c
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?



コメント