この記事ではRMANのバックアップ方式について解説します。
RMANのバックアップ方式
RMANにはバックアップの方式は大きく全体バックアップと増分バックアップの2種類に分けられます。
さらに増分バックアップ方式には様々なバックアップ方式が存在します。
全体バックアップ方式
全てのデータファイル、制御ファイル、spfile、アーカイブログファイルを取得する方式です。
リストアが高速で実施できるのが大きなメリットです。
半面、バックアップにかかる時間が長く、バックアップファイルのサイズも大きくなるのがデメリットになります。
全体バックアップは下記のコマンドで実行できます。
RMAN> BACKUP DATABASE;
差分増分バックアップ方式
全体バックアップを基準として、前回のバックアップ以降に変更があったブロックのみをバックアップする方式です。
そのため日々の更新量によってバックアップのサイズも変動します。
バックアップファイルのサイズが小さく、バックアップにかかる時間も少ないのが特徴です。
半面、リストアの際には全体バックアップに加えて、取得した回数分の差分バックアップが必要で時間がかかります。
差分増分バックアップは下記のコマンドで実行できます。
RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;
RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;
累積増分バックアップ方式
全体バックアップ以降の差分をまとめて差分バックアップとして取得する方式です。
日々のバックアップ量や取得にかかる時間は全体バックアップから日を追うごとに増えていきます。
リストアの際は全体バックアップと累積差分バックアップのみの適用で済むので、差分増分バックアップよりも早くリストアできます。
累積増分バックアップは下記のコマンドで実行できます。
RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;
RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;
高速増分バックアップ方式
文字通り高速で増分バックアップを取得する方式です。
ブロックチェンジトラッキングを有効化することによって、データ更新時に更新ブロックの情報をファイルに記録します。
そのファイルをもとに更新のあったブロックのみをバックアップするため、データベース全体を読み込む必要がなく、高速に増分バックアップが取得できます。
増分更新バックアップ方式
全体バックアップに対して取得した増分バックアップをあらかじめ適用しておく方式です。
全体バックアップに増分バックアップを適用して更新された全体バックアップを作成します。
これにより、リストアの際にかかる時間を短縮することができます。