Oracleのリカバリマネージャ(Recovery Manager, RMAN)は、データベースのバックアップとリカバリを管理するための強力なツールです。RMANでは、主に以下の2種類のバックアップ方法が提供されます。
- バックアップセット(Backup Set)
- イメージコピー(Image Copy)
本記事では、それぞれの特徴と違いを詳しく解説し、どのような場面でどちらを利用すべきかについて、実際の使用例を交えながら説明します。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
1. バックアップセット(Backup Set)とは?
バックアップセットは、RMANがデータを圧縮しながら保存するバックアップ形式です。デフォルトのバックアップ方式であり、多くの運用環境で利用されています。
特徴
- デフォルトのバックアップ方式
- ブロック単位でバックアップを取得
- 不要なブロックを除外し、サイズを最適化
- 1つまたは複数のバックアップピース(Backup Piece)として保存
- 増分バックアップが可能
- 暗号化や圧縮オプションの活用が可能
バックアップセットの取得方法
RMAN> BACKUP DATABASE;
解説: データベース全体をバックアップセット形式で取得します。不要なブロックを除外し、効率的に保存します。
RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;
解説: 前回のバックアップ以降に変更された部分だけをバックアップする増分バックアップを取得します。
RMAN> BACKUP ARCHIVELOG ALL;
解説: アーカイブログ全体をバックアップセット形式で保存します。リカバリ時に必要なログを確保します。
補足: バックアップピースは独自のRMANフォーマットで保存されるため、手動で直接参照することはできません。リストア時にRMAN経由で読み込む必要があります。
2. イメージコピー(Image Copy)とは?
イメージコピーは、データファイルをそのままコピーする物理バックアップの方式です。データをそのままの形式で保存するため、リストアが高速であるという利点があります。
特徴
- データファイルの完全な物理コピーを取得
- 圧縮なしの形式で保存
- リストア時にそのまま使用可能(変換不要)
- 増分バックアップは取得できない
- データベースファイルのダイレクトリストアが可能
イメージコピーの取得方法
RMAN> BACKUP AS COPY DATABASE;
解説: データベース全体をイメージコピー形式で取得します。データファイルがそのままコピーされるため、リカバリが高速です。
RMAN> BACKUP AS COPY DATAFILE 1;
解説: 特定のデータファイル(例: ファイルID 1)のみをイメージコピー形式で取得します。
補足: イメージコピーは通常、物理スタンバイデータベース(Data Guard)や、高速リカバリを必要とするシナリオで利用されます。
3. バックアップセットとイメージコピーの比較
| 項目 | バックアップセット(Backup Set) | イメージコピー(Image Copy) |
|---|---|---|
| 圧縮 | あり(無駄なブロックを削除) | なし(そのままコピー) |
| 増分バックアップ | 可能 | 不可 |
| リストア速度 | 低め(復元処理が必要) | 高速(そのまま適用可能) |
| デフォルト設定 | 〇 | × |
| 暗号化対応 | 〇 | × |
| 使用用途 | DRサイト・長期保管・容量節約 | 高速リカバリ・物理スタンバイ |
4. RUNブロックとは?
RUNブロックは、RMANの一連のコマンドをグループ化し、順番に実行するための構造です。これにより、複数の操作をまとめて記述し、実行することができます。
RUNブロックの基本構造
RUN {
ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
BACKUP DATABASE;
BACKUP ARCHIVELOG ALL;
RELEASE CHANNEL c1;
}
解説:
ALLOCATE CHANNELは、バックアップを取得するデバイスチャネルを指定します。BACKUP DATABASEは、データベース全体をバックアップします。BACKUP ARCHIVELOG ALLは、すべてのアーカイブログをバックアップします。RELEASE CHANNELは、使用したチャネルを解放します。
RUNブロックを使用することで、複数のRMANコマンドをまとめて管理し、効率的なバックアップ処理を実行できます。
5. 実践シナリオ
フルバックアップのスケジュール例(バックアップセット)
RUN {
ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
BACKUP DATABASE;
BACKUP ARCHIVELOG ALL;
RELEASE CHANNEL c1;
}
解説: データベース全体とアーカイブログをバックアップセット形式で取得します。この例はディスクデバイスを使用しています。
日次イメージコピーのスケジュール例(イメージコピー)
RUN {
ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
BACKUP AS COPY DATABASE;
RELEASE CHANNEL c1;
}
解説: 毎日実行することで、最新のデータベースイメージコピーを確保します。高速なリストアが求められる場合に有効です。
6. まとめ
RMANのバックアップには「バックアップセット」と「イメージコピー」の2種類があり、それぞれに適した用途があります。
- バックアップセット:デフォルトの方式。増分バックアップが可能で、ストレージ効率が良い。
- イメージコピー:データファイルをそのままコピーするため、リストアが高速。
どちらを使用するかは、運用方針やリカバリ要件によって異なります。状況に応じて適切なバックアップ戦略を選択し、データベースの安全性を確保しましょう!
[参考]
Oracle Database バックアップおよびリカバリ・ユーザーズ・ガイド 19c
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?




コメント