Oracle Databaseの運用において、アーカイブログによるディスク圧迫は避けて通れない課題です。本記事では、RMANの CONFIGURE ARCHIVELOG DELETION POLICY を使用したアーカイブログ削除ポリシーの永続設定や、デフォルトへの戻し方を解説します。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
1. アーカイブログ削除ポリシーとは?(概要とメリット)
アーカイブログ削除ポリシーとは、リカバリに必要なアーカイブログが誤って削除されるのを防ぎ、かつ不要になったログを自動または手動で安全に整理するためのルールです。
このポリシーを適切に設定することで、高速リカバリ領域(FRA)の空き容量不足(ORA-19809など)を未然に防ぎつつ、Data Guard環境での転送漏れやバックアップ未取得によるデータ消失リスクを最小化できます。
2. 【最短手順】削除ポリシーの設定・確認・初期化
スニペットとして利用可能な、RMANでの基本操作リストです。
- 現在の設定を確認する
SHOW ARCHIVELOG DELETION POLICY; - バックアップ済みを条件に設定する(例:1回)
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO DEVICE TYPE DISK; - 設定をデフォルト(NONE)にリセットする
CONFIGURE ARCHIVELOG DELETION POLICY CLEAR;
3. 削除ポリシーの種類と使い分け
環境に合わせて最適なポリシーを選択する必要があります。
| ポリシー名 | 内容・適用シーン |
| NONE | デフォルト設定。削除対象の制限を行わない。 |
| BACKED UP n TIMES | 指定回数(n回)バックアップが取得されるまで削除を禁止する。 |
| APPLIED ON ALL STANDBY | すべてのスタンバイDBで適用が完了するまで削除を禁止する(Data Guard向け)。 |
| SHIPPED TO ALL STANDBY | すべてのスタンバイDBへの転送が完了するまで削除を禁止する。 |
4. CONFIGUREコマンドによる実装手順
削除ポリシーは一度設定すると制御ファイルに書き込まれ、永続的に適用されます。
前提条件
- 実行ユーザー:
SYSBACKUPまたはSYSDBA権限を持つユーザー - 環境: ターゲットデータベース(CDB/PDB問わず)へ接続済みであること
設定例1:ディスクに1回バックアップ済みのものを削除許可
最も一般的な設定です。バックアップが成功するまで、DELETE ARCHIVELOG コマンドを実行してもログが保護されます。
-- RMANに接続して実行
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO DEVICE TYPE DISK;
補足:この設定により、RMANは「1回以上のバックアップ」が確認できないログを削除対象(Obsolete)から除外します。
設定例2:スタンバイDBへの適用完了を条件にする
Data Guard構成で、スタンバイ側でログが適用される前に消えるのを防ぎます。
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;
5. 設定の確認とリセット
現在の構成が意図通りか、必ず確認コマンドを実行してください。
現在の設定を確認する
RMAN> SHOW ALL;
実行結果の末尾に # default と付いていない項目が、現在カスタマイズされている設定です。
RMAN> show all;
リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用しています
db_unique_name V19のデータベースにおけるRMAN構成パラメータ:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/19.0.0/dbhome_1/dbs/snapcf_v19.f'; # default
デフォルト値に戻す方法
設定を初期状態(NONE)に戻したい場合は、CLEAR 句を使用します。
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY CLEAR;
6. トラブルシューティング:ORA-エラーと対処
削除ポリシーに関連して発生しやすいエラーへの対応方法です。
| エラーコード | 原因 | 確認・対処法 |
| ORA-19809 | 高速リカバリ領域(FRA)の容量不足。 | ポリシーにより削除できないログが溜まっている可能性があります。 |
| RMAN-08137 | アーカイブログが削除ポリシーを満たしていない。 | FORCE オプションを付けて削除するか、ポリシーを一時的に NONE に変更します。 |
注意(リスクと戻し方)
FORCEオプションによる強制削除は、万が一のリカバリができなくなるリスクがあります。削除前に必ずBACKUP ARCHIVELOG ALLでバックアップを取得することを優先してください。
7. アーカイブログ削除ポリシーに関するFAQ
Q: ポリシーを設定すれば、OSコマンド(rmなど)で消しても大丈夫ですか?
A: いいえ。Oracleの管理外で消すと、制御ファイルとの整合性が崩れます。必ずRMANの DELETE コマンドを使用してください。
Q: FRA(高速リカバリ領域)を使っていなくても設定は有効ですか?
A: はい。FRAを使用していない場合でも、RMAN経由の削除操作に対してポリシーが適用されます。
Q: 23aiなどの新しいバージョンでの変更点はありますか?
A: 基本的な構文は変わりませんが、23aiではより詳細な「不変ストレージ」との連携が強化されています。19cの知識はそのまま活用可能です。
8. まとめ
- アーカイブログの削除ポリシーは CONFIGURE コマンドで永続化できる。
- 運用に合わせて BACKED UP や APPLIED ON STANDBY を選択する。
- 設定を消去してデフォルトに戻すには CLEAR を使用する。
- 設定変更後は必ず SHOW ALL で現在の値を確認する。
本記事は Oracle Database 19c を対象に解説します(他バージョンは画面や既定値が異なる場合があります)。
[参考]
Oracle Database バックアップおよびリカバリ・ユーザーズ・ガイド 19c
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?



コメント