Oracle RMAN バックアップセットとコピーの違い

Oracle Master Gold

Oracle Databaseの運用において、データ保護の要となるのがRMAN(Recovery Manager)です。RMANには大きく分けて「バックアップセット」と「イメージコピー」の2種類の保存形式があります。

「バックアップセットとイメージコピー、どちらを使うべき?」と悩む方も多いですが、結論から言えば「ストレージ容量を節約し、柔軟な運用をしたいならバックアップセット」「ダウンタイムを最小限にし、即時リカバリを優先するならイメージコピー」が適しています。

この記事では、RMANバックアップの種類と使い分け、具体的な実行コマンドまでを初心者の方にも分かりやすく解説します。

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

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


結論:バックアップセットとイメージコピーの最短比較

まずは、両者の違いを「やることリスト」とあわせて簡潔にまとめます。

  • バックアップセット (Backup Set)
    • 特徴: RMAN独自の形式で、未使用ブロックを除外して圧縮保存。
    • 用途: 日次の増分バックアップ、テープへの長期保管、容量節約。
  • イメージコピー (Image Copy)
    • 特徴: OSの cp コマンドと同様に、ファイルをそのまま複製。
    • 用途: 高速リカバリ(スイッチオーバー)、Data Guard環境の構築。

1. Oracle RMAN バックアップセットとは?

バックアップセットは、RMANのデフォルトのバックアップ形式です。1つ以上の「バックアップピース」という物理ファイルで構成されます。

仕組みとメリット

最大の特徴は、「未使用ブロックのスキップ」です。例えば、10GBのデータファイルのうち2GBしかデータが入っていない場合、バックアップセットなら約2GB(+管理情報)のサイズで済みます。

  • 増分バックアップ: 前回のバックアップからの変更分だけを抽出可能。
  • 圧縮と暗号化: RMANの機能でデータを小さく、安全に保存。
  • 複数ファイル統合: 複数のデータファイルを1つのバックアップピースにまとめられるため、ファイル管理が容易。

2. Oracle RMAN イメージコピー(Image Copy)とは?

イメージコピーは、データファイルをそのままの形式でディスクに書き出す方式です。

仕組みとメリット

「バックアップから戻す(リストア)」という工程を飛ばして、バックアップファイルをそのまま本番用として認識させる(スイッチ)ことができるため、大規模DBのリカバリ時間を劇的に短縮できます。

  • 即時利用可能: RMANの SWITCH DATAFILE コマンドで、一瞬でバックアップ側に切り替え可能。
  • OSコマンドとの親和性: ファイル形式がそのままなので、内容の確認が容易。
  • 制約: ディスクへの出力のみ対応(テープ装置へ直接出力は不可)。また、未使用ブロックのスキップは行われません。

3. バックアップセットとイメージコピーの比較表

運用要件に合わせて適切な方を選択してください。

比較項目バックアップセットイメージコピー
ファイル形式RMAN独自(バイナリ)OSファイルと同一
未使用ブロックスキップされる(節約)そのままコピーされる
増分バックアップ対応非対応(※増分適用は可能)
リストア速度普通(書き戻しが必要)極めて高速(切替のみ)
主な用途容量節約・世代管理高速リカバリ・スタンバイDB

4. 実行例:RMANコマンドによるバックアップ

実機で実行する際は、SYSBACKUP または SYSDBA 権限を持つユーザーで RMAN に接続してください。

前提条件

  • 対象OS: Oracle Linux / Windows 等
  • DB構成: 19c (CDB/PDB)
  • 権限: SYSBACKUP 権限
  • 注意: パスワードに @ などの特殊文字が含まれる場合は引用符で囲ってください。

バックアップセットの取得

デフォルトではバックアップセットが選択されます。

-- データベース全体をバックアップセットで取得
BACKUP DATABASE;

-- アーカイブログを含めて取得(推奨)
BACKUP DATABASE PLUS ARCHIVELOG;

解説:BACKUP DATABASE は未使用ブロックを除外して効率的に保存します。

イメージコピーの取得

AS COPY 句を明示的に指定します。

-- データベース全体をイメージコピーとして取得
BACKUP AS COPY DATABASE;

-- 特定のデータファイル(ファイルID: 1)のみコピー
BACKUP AS COPY DATAFILE 1;

解説:ファイルがそのまま複製されるため、リストア時はファイルを移動するだけで復旧が可能です。

RUNブロックによるチャネル制御

並列度を高めたり、特定のデバイスを指定したりする場合は RUN ブロックを使用します。

RUN {
  -- ディスクへの書き込み用チャネルを2つ割り当て(並列化)
  ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
  ALLOCATE CHANNEL c2 DEVICE TYPE DISK;
  
  -- タグを付けてバックアップ実行
  BACKUP DATABASE TAG 'DAILY_FULL_SET';
  
  RELEASE CHANNEL c1;
  RELEASE CHANNEL c2;
}

5. トラブルシューティング(ORAエラー対応)

バックアップ実行時によく遭遇するエラーの対処法です。

エラーコード原因対処法
ORA-19809高速リカバリ領域(FRA)の不足不要なバックアップの削除、または DB_RECOVERY_FILE_DEST_SIZE の拡大
ORA-19504出力先ディレクトリが存在しないBACKUP FORMAT で指定したパスを確認・作成
ORA-15025ASMディスクへのアクセス権限不足グリッド・インフラストラクチャの権限設定を確認

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

  • バックアップセットのリスク: 独自形式のため、RMANがないと中身を見られません。制御ファイル(Control File)のバックアップも必ずセットで取得してください。
  • イメージコピーの注意点: 物理ファイルと同じサイズを消費するため、ディスク容量を圧迫します。
  • 戻し方: 万が一の失敗に備え、事前に RESTORE DATABASE VALIDATE; コマンドでバックアップが破損していないかチェックする習慣をつけましょう。

7. FAQ(よくある質問)

Q1. バックアップセットを圧縮して保存するには?

A1. BACKUP AS COMPRESSED BACKUPSET DATABASE; を実行します。さらに容量を削減できますが、CPU負荷が高まります。

Q2. イメージコピーから増分バックアップは取れますか?

A2. イメージコピー自体は「フル」ですが、増分バックアップ(バックアップセット)をイメージコピーに「適用(RECOVER)」することで、擬似的に最新状態を保つ運用(増分更新バックアップ)が可能です。

Q3. どちらの方式が主流ですか?

A3. ストレージ効率の観点から、多くの企業ではバックアップセットが主流です。ただし、ミッションクリティカルなシステムでは、リストア時間短縮のためにイメージコピーを併用します。


まとめ

  • バックアップセットは、容量を節約できる標準的な方式。
  • イメージコピーは、リカバリ時間を最短にできる物理コピー方式。
  • 19c環境では、通常はバックアップセットを利用し、迅速な復旧が求められる特定のデータファイルにのみイメージコピーを検討するのがベストプラクティスです。

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

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

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

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

コメント

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