Oracle高速リカバリ領域(FRA)の活用ガイド

Oracle Master Gold

Oracleデータベースの運用において、バックアップ管理の煩雑さは大きな課題です。Oracle高速リカバリ領域(FRA: Fast Recovery Area)を活用すれば、アーカイブログやRMANバックアップを自動管理し、ストレージ効率を最大化できます。本記事では、高速リカバリ領域の仕組みから具体的な設定手順、容量不足時の対処法まで徹底解説します。

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

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

結論:FRA導入の最短ステップ

FRAを有効化し、運用を開始するための「やることリスト」です。

  1. 保存先の確保: 高速なディスク上に専用ディレクトリを作成。
  2. 容量の上限設定: DB_RECOVERY_FILE_DEST_SIZE で最大サイズを指定。
  3. 保存先の指定: DB_RECOVERY_FILE_DEST でパスを指定。
  4. 保持ポリシーの策定: RMANで「いつまでファイルを残すか」を設定。

1. 高速リカバリ領域(FRA)とは?

高速リカバリ領域(FRA)とは、バックアップやリカバリに関連するファイルを一元管理するために予約された、Oracle Database専用のストレージ領域です。

仕組みとメリット

従来、アーカイブログやバックアップファイルは個別にディレクトリ管理が必要でしたが、FRAを有効にするとOracleが「どのファイルが不要か」を判断し、領域が足りなくなると古い(再利用可能な)ファイルを自動で削除します。

  • 管理の自動化: Oracle Managed Files (OMF) によりファイル命名・削除を自動化。
  • リカバリの迅速化: 必要なファイルが1箇所に集約されるため、RMANでの復旧がスムーズ。
  • フラッシュバック機能: データベースを過去の状態に素戻しする「フラッシュバック・データベース」のログ保存先として必須。

2. FRAに保存されるファイルの種類

FRAには、主に以下のファイルが格納されます。

ファイル種別説明
アーカイブログインスタンス復旧や不完全リカバリに不可欠なログ。
RMANバックアップバックアップセットやイメージコピー。
制御ファイル / REDOログ多重化先としてFRAを指定可能(推奨)。
フラッシュバックログ過去時点へ戻るための特殊なログ。

3. 高速リカバリ領域の設定と有効化

FRAの設定は、インスタンス起動中にオンラインで変更可能です。

前提条件

  • 権限: SYSDBA 権限を持つユーザー(SYSなど)。
  • 環境: CDB/PDB環境の場合、通常はCDBレベルで設定します。

手順:FRAの有効化

まず、サイズ上限を設定してから、パスを指定するのが正しい順序です。

  1. 最大サイズの設定(例:20GB)SQL-- FRAの最大容量を20GBに設定します
    ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 20G SCOPE=BOTH;
  2. 保存先ディレクトリの設定SQL-- FRAの物理パスを指定します(ディレクトリは作成済みであること)
    ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '/u01/app/oracle/fast_recovery_area' SCOPE=BOTH;

設定の確認コマンド

-- 現在の設定値を表示します
SHOW PARAMETER DB_RECOVERY_FILE_DEST
SQL> SHOW PARAMETER DB_RECOVERY_FILE_DEST

NAME TYPE VALUE
--------------------------------- ------------------- -----------------------------------
db_recovery_file_dest string /u01/app/oracle/fast_recoveryare
db_recovery_file_dest_size big integer 20G

4. 実行例:使用状況のモニタリング

FRAは「設定して終わり」ではありません。領域の枯渇を防ぐため、以下のビューで定期的に監視します。

全体の使用率を確認する

-- FRA全体の制限値と現在の使用量(バイト)を表示します
SELECT NAME, SPACE_LIMIT, SPACE_USED, SPACE_RECLAIMABLE 
FROM V$RECOVERY_FILE_DEST;
SQL> SELECT NAME, SPACE_LIMIT, SPACE_USED, SPACE_RECLAIMABLE FROM V$RECOVERY_FILE_DEST;

NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE
---------------------------------------- ----------- ---------- -----------------
/u01/app/oracle/fast_recovery_are 2.1475E+10 0 0
  • SPACE_RECLAIMABLE: 保持ポリシーに基づき、削除可能な(再利用できる)容量です。

ファイル種別ごとの内訳を確認する

-- どのファイルが領域を圧迫しているかパーセントで表示します
SELECT FILE_TYPE, PERCENT_SPACE_USED, PERCENT_SPACE_RECLAIMABLE 
FROM V$FLASH_RECOVERY_AREA_USAGE;

※ SQLの意図:アーカイブログが溜まりすぎていないか、バックアップが想定通り削除されているかを分析します。

SQL> SELECT FILE_TYPE, PERCENT_SPACE_USED, PERCENT_SPACE_RECLAIMABLE FROM V$FLASH_RECOVERY_AREA_USAGE;

FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE
------------------------------ ------------------ -------------------------
CONTROL FILE 0 0
REDO LOG 0 0
ARCHIVED LOG .3 0
BACKUP PIECE 23.96 15.97
IMAGE COPY 0 0
FLASHBACK LOG 0 0
FOREIGN ARCHIVED LOG 0 0
AUXILIARY DATAFILE COPY 0 0

8行が選択されました。

5. トラブルシューティング:容量不足(ORA-19809)

FRAの空き容量がなくなると、アーカイブログが出力できなくなり、データベースがハング(停止)します。

事象原因対処法
ORA-19809制限値を超過したDB_RECOVERY_FILE_DEST_SIZE を拡張する。
ORA-19815警告メッセージRMANで DELETE OBSOLETE を実行し不要ファイルを消す。

推奨される対処フロー

  1. 一時的な拡張:
    ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 30G;
  2. 不要なバックアップの削除 (RMAN): RMANに接続して古いバックアップを削除
    rman target /
    RMAN> DELETE OBSOLETE;

6. 運用上の注意点とセキュリティ

  • バックアップ保持ポリシー: RMANの CONFIGURE RETENTION POLICY とFRAのサイズは密接に関係します。保持期間を長くするなら、FRAサイズも大きくする必要があります。
  • OSコマンドでの削除禁止: FRA内のファイルを rm コマンド等で直接消さないでください。Oracleが管理情報との不整合を起こします。必ず RMAN を使用してください。
  • ディスクの分離: 物理的なディスク障害に備え、データファイルとは別の物理ディスクにFRAを配置することを強く推奨します。

7. FAQ(よくある質問)

Q1. FRAのサイズはどのくらい見積もれば良いですか?

A1. 一般的には「フルバックアップ1回分 + 1日分のアーカイブログ × 保持日数 + α」が目安です。

Q2. PDBごとに異なるFRAを設定できますか?

A2. いいえ。19c時点ではFRAはインスタンス(CDB)単位の設定となります。

Q3. FRAを無効にするにはどうすればいいですか?

A3. DB_RECOVERY_FILE_DEST を空文字('')に設定することで無効化できます。ただし、先にアーカイブログの出力先を別に確保してください。


8. まとめ

  • FRAは、バックアップ関連ファイルを自動管理するOracle推奨のストレージ領域。
  • 有効化には SIZE 設定の後に DEST パス設定を行う。
  • V$RECOVERY_FILE_DEST ビューで定期的に空き容量を監視する。
  • 容量不足はDB停止を招くため、RMANの保持ポリシーとセットで設計する。

本記事は Oracle Database 19c を対象に解説します(他バージョンは画面や既定値が異なる場合があります)。


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

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

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

コメント

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