高速増分バックアップの仕組みと設定方法

Oracle Master Gold

Oracleの 高速増分バックアップ(Fast Incremental Backup) は、ブロック変更追跡(Block Change Tracking, BCT)を利用することで、増分バックアップの処理を高速化する機能です。この記事では、その仕組みと設定方法について解説します。

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

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


1. 高速増分バックアップの仕組み

通常の増分バックアップでは、Oracleはデータファイル全体をスキャンし、変更されたブロックを特定してバックアップを取得します。しかし、データファイルのサイズが大きくなると、変更ブロックを特定する処理が負担となり、バックアップの取得時間が長くなります。

ブロック変更追跡(BCT) を有効にすると、Oracleは 変更されたブロックの情報を専用のBCTファイルに記録 し、増分バックアップの際にその情報を利用することで、データファイル全体をスキャンすることなく、変更されたブロックのみを迅速に取得できます。

💡 メリット

  • バックアップ処理の高速化:変更ブロックのみを読み取るため、バックアップ時間が短縮される。
  • リソースの削減:データファイルの全スキャンを省略できるため、I/O負荷が軽減される。
  • バックアップ頻度の向上:処理速度が向上することで、より頻繁な増分バックアップが可能。

2. 高速増分バックアップの設定方法

2.1 BCT(ブロック変更追跡)の有効化

BCTを使用するためには、 ARCHIVELOGモードが有効 になっている必要があります。

📌 現在のアーカイブログモードを確認

SELECT log_mode FROM v$database;

結果:

  • ARCHIVELOG → そのまま設定可能
  • NOARCHIVELOG → 変更が必要(ARCHIVELOG モードに変更する)

2.2 BCTファイルの有効化

次に、BCTを有効にし、変更情報を保存するファイルを作成します。

ALTER DATABASE ENABLE BLOCK CHANGE TRACKING
USING FILE '/u01/app/oracle/oradata/V19/change_tracking.ctf';

オプション:

  • USING FILE '<ファイルパス>' で、BCT情報を保存するファイルの場所を指定。
  • REUSE を指定すると、既存のBCTファイルがある場合でも再利用。
SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING
2 USING FILE '/u01/app/oracle/oradata/V19/change_tracking.ctf';

データベースが変更されました。

2.3 BCTの状態を確認

BCTが有効になっているかどうかを確認するには、次のSQLを実行します。

SELECT status, filename FROM v$block_change_tracking;

結果例:

SQL> SELECT status, filename FROM v$block_change_tracking;

STATUS FILENAME
-------------------- --------------------------------------------------
ENABLED /u01/app/oracle/oradata/V19/change_tracking.ctf

ENABLED になっていれば、BCTが有効化されています。


3. 高速増分バックアップの取得

BCTを有効化した後、通常の 累積増分バックアップ または 差分増分バックアップ を取得すると、高速増分バックアップが利用されます。

3.1 累積増分バックアップ

累積増分バックアップ(Cumulative Incremental Backup)は、 前回のレベル0バックアップ以降に変更されたすべてのブロックをバックアップ します。

BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE FORMAT '/backup/inc1_cum_%U';

3.2 差分増分バックアップ

差分増分バックアップ(Differential Incremental Backup)は、 直前の増分バックアップ以降に変更されたブロックのみをバックアップ します。

BACKUP INCREMENTAL LEVEL 1 DATABASE FORMAT '/backup/inc1_diff_%U';

4. BCTの無効化(不要な場合)

BCTを無効化する場合は、以下のSQLを実行します。

ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;

データベースが変更されました。

SQL> SELECT status, filename FROM v$block_change_tracking;

STATUS FILENAME
-------------------- --------------------------------------------------
DISABLED

BCTを無効化すると、ファイルは削除されません。
不要であれば、手動で削除する必要があります。

rm /u01/app/oracle/oradata/V19/change_tracking.ctf

5. まとめ

高速増分バックアップのポイント

  • ブロック変更追跡(BCT)を有効化 することで、増分バックアップが高速化。
  • BCTファイルが変更ブロック情報を保持 し、不要なデータスキャンを回避。
  • 累積増分(Cumulative)と 差分増分(Differential)の両方で有効。

高速増分バックアップを活用することで、バックアップの負担を軽減しつつ、より頻繁なデータ保護が可能になります。データベースの運用に合わせて適切に設定しましょう!

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

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

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

コメント

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