RMANバックアップの概要
RMANバックアップの概要について。
RMANバックアップの目的
RMANバックアップの主要な目的は、データを保護することです。メディア障害が発生した場合は、バックアップをリストアして、消失した変更をリカバリできます。
また、バックアップを作成すると、「長期格納用のデータベース・バックアップの作成」の説明に従って長期アーカイブ用のデータを保存したり、第III部「RMANを使用したデータの送信」の章の説明に従ってデータを送信することができます。
RMANバックアップの基本的な概念
第8章「RMANバックアップの概要」で説明されているように、RMANクライアント内からBACKUP
コマンドを実行して、データベース全体またはその一部をバックアップできます。この章で説明されている方法の多くは、Enterprise Managerによって提供されるOracle推奨のバックアップ計画でも使用され、『Oracle Database 2日でデータベース管理者』にも記載されています。
多くの場合、バックアップ計画に従ってデータベースを構成しておくと、RMANプロンプトで次のコマンドを入力してデータベースをバックアップできます。
RMAN> BACKUP DATABASE;
RMANは、構成された設定、以前のバックアップのレコードおよびデータベース構造の制御ファイル・レコードを使用して、効率的な一連のバックアップ手順を決定します。その後、それらの手順を実行します。
「Data Guard環境でのRMANによるファイル管理」で説明されているように、Data Guard環境の任意のデータベースでRMANバックアップを実行できます。バックアップにアクセスできる場合、環境内の任意のデータベースのすべてのバックアップを他のデータベースのリカバリに使用できます。データベース・ファイルのすべてのバックアップ(制御ファイルのバックアップを含む)をフィジカル・スタンバイ・データベースにオフロードすると、プライマリ・データベース上のリソースの消費を回避できます。
関連項目:BACKUPコマンドの詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。RMANでスタンバイ・データベースをバックアップする方法については、『Oracle Data Guard概要および管理』を参照してください。 |
バックアップ出力オプションの指定
BACKUP DATABASE
などのRMANのコマンドに最低限必要なオプションしか指定しないと、構成済の環境およびRMANの組込みのデフォルトに基づいて、バックアップ先のデバイス、バックアップ出力の場所およびバックアップ・タグが自動的に決定されます。
また、BACKUP
に引数を指定して、これらのデフォルトを上書きすることもできます。次の項では、最も一般的なオプションについて説明します。
- RMANバックアップ用のデバイス・タイプの指定
- ディスクへのRMANバックアップ用のバックアップ・セットまたはバックアップ・コピーの指定
- RMANバックアップのフォーマットの指定
- RMANバックアップのタグの指定
- 圧縮バックアップの作成
関連項目:バックアップの多重化や再開などの高度なバックアップ・オプションについては、第10章「データベースのバックアップ: 高度なトピック」を参照してください。 |
RMANバックアップ用のデバイス・タイプの指定
BACKUP
コマンドでは、ディスクまたはテープ・デバイスのいずれにバックアップするかを指定するDEVICE TYPE
句を使用します。例9-1は、ディスクにバックアップする場合の例です。
例9-1 デバイス・タイプDISKの指定
BACKUP DATABASE DEVICE TYPE DISK;
DEVICE TYPE
句を指定せずにBACKUP
を実行すると、バックアップは構成済のデフォルト・デバイス(ディスクまたはSBT)に格納されます。デフォルト・デバイスは、「バックアップ用のデフォルト・デバイスの構成: ディスクまたはSBT」で説明されているCONFIGURE DEFAULT DEVICE TYPE
コマンドを使用して設定します。
ディスクへのRMANバックアップ用のバックアップ・セットまたはバックアップ・コピーの指定
RMANは、イメージ・コピーまたはバックアップ・セットとしてバックアップをディスク上に作成できます。デフォルトのディスク・デバイスの構成方法については、「バックアップ用のデフォルト・タイプの構成: バックアップ・セットまたはコピー」を参照してください。このデフォルトは、AS
COPY
句またはAS
BACKUPSET
句を使用して上書きできます。イメージ・コピーとしてディスクにバックアップするには、例9-2
に示すようにBACKUP
AS
COPYを使用します。
例9-2 イメージ・コピーの作成
BACKUP AS COPY DEVICE TYPE DISK DATABASE;
バックアップ・セットにデータをバックアップするには、AS BACKUPSET
句を使用します。例9-3に示すように、バックアップ・セットは、構成されているデフォルト・デバイスに作成したり、ディスクまたはテープに明示的に格納できます。
例9-3 バックアップ・セットの作成
BACKUP AS BACKUPSET DATABASE; BACKUP AS BACKUPSET DEVICE TYPE DISK DATABASE; BACKUP AS BACKUPSET DEVICE TYPE SBT DATABASE;
RMANバックアップのフォーマットの指定
RMANには、BACKUP
コマンドで生成されるファイルに名前を指定するための様々なオプションが用意されています。RMANは、優先順位に従って示されている次のルール・セットを使用して、出力ファイル形式を決定します。
- BACKUP
コマンドで
FORMATパラメータを指定すると、この設定により、生成されるファイル名が制御されます。たとえば、次のコマンドに示すように、出力を特定の場所に格納することができます。BACKUP DATABASE FORMAT “/disk1/backup_%U”; # specifies a location on the file system この場合、バックアップは、生成された一意のファイル名(/disk1/backup_
という接頭辞付き)で格納されます。ファイル名のその部分に一意の文字列を生成するために使用される、置換変数%U
が必要です。また、次の例に示すように、FORMAT
パラメータを使用して、バックアップ先としてASMディスク・グループを指定することもできます。BACKUP DATABASE FORMAT ‘+dgroup1’; # specifies an ASM disk group この場合、必要に応じて自動ストレージ管理(ASM)で一意のファイル名が生成されるため、%Uは不要です。ただし、必要な場合は、%U
を指定できます。
注意:高速リカバリ領域が有効になっている場合にFORMAT
を指定すると、RMANはFORMAT
の設定に従います。FORMAT
句で場所を指定しなかった場合、RMANはプラットフォーム固有の場所にバックアップを作成します。 FORMAT
設定がバックアップで使用される特定のチャネル用に構成されている場合、生成されるファイル名の制御はこの設定によって行われます。FORMAT
設定がバックアップで使用されるデバイス・タイプ用に構成されている場合、生成されるファイル名の制御はこの設定によって行われます。- ディスク・バックアップ中に高速リカバリ領域が有効になっていて、
FORMAT
が指定されていない場合は、自動生成された名前で高速リカバリ領域にバックアップが作成されます。 - このリストの他のいずれの条件も当てはまらない場合は、バックアップのデフォルトの場所およびファイル名の書式はプラットフォーム固有になります。
関連項目:FORMAT句については、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。ご使用のプラットフォームのデフォルトのファイルの場所については、インストレーション・ガイドを参照してください。 |
ディスク・バックアップの複数のフォーマットの指定
通常、テープにバックアップする場合には、デフォルトの %U
変数によってテープ・バックアップに一意のファイル名が生成されるため、フォーマットを指定する必要はありません。ただし、ディスクへのバックアップで、パフォーマンスを向上するために複数のドライブにバックアップを分散させる必要がある場合には、フォーマットを指定できます。この場合、ファイル名が異なるディスク上で生成されるように、ALLOCATE CHANNELコマンドでディスク・ドライブごとに1つの
DISKチャネルを割り当てて、フォーマット文字列を指定します。たとえば、次のコマンドを発行します。
RUN { ALLOCATE CHANNEL disk1 DEVICE TYPE DISK FORMAT '/disk1/%d_backups/%U'; ALLOCATE CHANNEL disk2 DEVICE TYPE DISK FORMAT '/disk2/%d_backups/%U'; ALLOCATE CHANNEL disk3 DEVICE TYPE DISK FORMAT '/disk3/%d_backups/%U'; BACKUP AS COPY DATABASE; }
チャネルを次のように構成すると、将来、デフォルトでこのようにバックアップを分散できるようになります。
CONFIGURE DEVICE TYPE DISK PARALLELISM 3; CONFIGURE DEFAULT DEVICE TYPE TO DISK; CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/disk1/%d_backups/%U'; CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT '/disk2/%d_backups/%U'; CONFIGURE CHANNEL 3 DEVICE TYPE DISK FORMAT '/disk3/%d_backups/%U'; BACKUP AS COPY DATABASE;
RMANバックアップのタグの指定
RMANは、バックアップを識別する方法として、作成するすべてのバックアップにtagと呼ばれる文字列を追加します。デフォルトのタグを受け入れるか、またはBACKUP
コマンドのTAG
パラメータで独自のタグを指定できます。
バックアップ・タグ
ユーザー指定のタグは、異なる種類のバックアップまたはコピーの目的や使用方法を示すのに役立ちます。バックアップ・セット、プロキシ・コピー、データファイル・コピーまたは制御ファイル・コピーにタグを付けることができます。たとえば、SWITCH
コマンドで使用する予定のデータファイル・コピーにはfor_switch_only
というタグを付け、RESTORE
コマンドでのみ使用する必要があるファイル・コピーにはfor_restore_only
というタグを付けることができます。
タグは一意である必要はないため、複数のバックアップ・セットまたはイメージ・コピーに同じタグ(weekly_backup
など)を付けることができます。特定のタグが含まれているバックアップからデータファイルをリストアするように指定するとします。要求したファイルの複数のバックアップにそのタグが含まれている場合、RMANは、RESTORE
コマンドの制約内で、指定したタグが含まれている最新のバックアップをリストアします。
実際には、タグは、多くの場合、増分バックアップ計画などの1つの計画の一環として作成された一連のバックアップを区別する場合に使用されます。たとえば、週次の増分バックアップを作成し、BACKUP TAG weekly_incremental
などのタグを付けることができます。BACKUP
コマンドの多くの形式では、タグをバックアップに関連付けることができます。また、RESTORE
およびRECOVER
コマンドの多くでは、RESTORE
またはRECOVER
操作で使用するバックアップを制限するタグを指定できます。
BACKUP
コマンドのTAG
パラメータを使用して明示的にタグを指定しない場合は、RMANによって、バックアップ(制御ファイルの自動バックアップ以外)のデフォルト・タグが暗黙的に作成されます。タグの形式は、TAG
YYYYMMDD
T
HHMMSS
です。ここで、YYYY
は年、MM
は月、DD
は日、HH
は時間(24時間形式)、MM
は分、SS
は秒です。たとえば、データファイル1
のバックアップには、タグTAG20070208T133437
が割り当てられる場合があります。日時は、バックアップを実行するインスタンスのタイムゾーンで、RMANがバックアップを開始した日時です。1つのBACKUP
コマンドによって複数のバックアップ・セットが作成される場合、各バックアップ・ピースには同じデフォルト・タグが割り当てられます。
入力時に使用した大/小文字に関係なく、タグは大文字で格納されます。バックアップ・タグの最大長は30バイトです。オペレーティング・システムの環境変数または%T
、%D
などの特殊な書式は、タグに使用できません。
関連項目:BACKUP … TAG のデフォルト形式については、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。 |
バックアップ・セットおよびイメージ・コピーのタグの指定
タグで使用する文字は、ターゲットのデータベース・ファイル・システムでファイル名として有効な文字に制限する必要があります。 たとえば、自動ストレージ管理(ASM)では、内部的に使用されるファイル名でのハイフン(-
)の使用はサポートされていません。このため、ASMディスク・グループでのバックアップの場合、ハイフンが含まれているタグ(weekly-incr
など)は無効なタグ名になります。
バックアップ・セットにタグを指定すると、そのタグは、指定したバックアップ・セットのコピーに含まれる各バックアップ・ピースの属性になります。多重バックアップ・セットを作成すると、バックアップ・セットの各コピーに同じタグが割り当てられます。例9-4では、タグMONDAYBKP
が指定されたバックアップ・セットを1つ作成します。
例9-4 バックアップ・セットへのタグの適用
BACKUP AS BACKUPSET COPIES 1 DATAFILE 7 TAG mondaybkp;
イメージ・コピーにタグを指定すると、そのタグは各コピーに適用されます。例9-5では、表領域users
およびtools
のデータファイルのコピーに、タグMONDAYCPY
を割り当てます。
例9-5 イメージ・コピーへのタグの適用
BACKUP AS COPY TABLESPACE users, tools TAG mondaycpy;
FROM TAG
を使用して特定のタグが含まれているイメージ・コピーをコピーした後、TAG
を使用して出力コピーに別のタグを割り当てることができます。例9-6では、タグfull_cold_copy
が含まれている、データベースのすべてのイメージ・コピーのコピーを新しく作成し、その新しいコピーにnew_full_cold_copy
を割り当てます。
例9-6 出力コピーへのタグの割当て
BACKUP AS COPY COPY OF DATABASE FROM TAG full_cold_copy TAG new_full_cold_copy;
圧縮バックアップの作成
バックアップ・セットを作成するBACKUP
コマンドを実行する場合は、RMANでサポートされている、バックアップ・セットのバイナリ圧縮を利用できます。BACKUPコマンドにAS COMPRESSED BACKUPSET
オプションを指定します。
RMANは、バックアップ・セットの内容を圧縮してからディスクに書き込みます。使用されるバイナリ圧縮レベルの詳細が自動的にバックアップ・セットに記録されます。使用される圧縮のタイプやリカバリ操作でのバックアップ・セットの解凍方法を明示的に示す必要はありません。
例9-7では、データベース全体とアーカイブ・ログを、構成済のデフォルトのバックアップ先(ディスクまたはテープ)にバックアップし、圧縮バックアップ・セットを作成します。
例9-7 圧縮バックアップの作成
BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;
バイナリ圧縮では、バックアップおよびリカバリ操作中に、パフォーマンスにある程度のオーバーヘッドが発生します。バイナリ圧縮はCPUリソースを消費するため、CPU使用率が高い場合は、圧縮バックアップはスケジュールしないでください。ただし、次の状況では、パフォーマンスが低下する可能性があります。
- 高速リカバリ領域またはその他のディスクベースのバックアップ先内のディスク領域が制限されている状況で、ディスクベースのバックアップを使用している場合
- CPU使用率よりネットワーク帯域幅を削減することのほうが重要となる状況で、ネットワークを介して特定のデバイスへのバックアップを実行している場合
- CD、DVDなどのアーカイブ・バックアップ・メディアを使用しており、バックアップ・サイズを削減することでメディア・コストおよびアーカイブ・ストレージを節約できる場合
関連項目:バックアップ・セットに関するパフォーマンスの詳細は、「バックアップ・セットのバイナリ圧縮」および『Oracle Databaseバックアップおよびリカバリ・リファレンス』のBACKUPコマンドのAS COMPRESSED BACKUPSETオプションを参照してください。 |
RMANを使用したデータベース・ファイルのバックアップ
この項の内容は、次のとおりです。
- RMANを使用したデータベース全体のバックアップ
- RMANを使用した表領域およびデータファイルのバックアップ
- RMANを使用した制御ファイルのバックアップ
- RMANを使用したサーバー・パラメータ・ファイルのバックアップ
- NOARCHIVELOGモードでのデータベースのバックアップ
RMANを使用したデータベース全体のバックアップ
データベース全体のバックアップは、データベースをマウントまたはオープンした状態で実行できます。データベース全体のバックアップを実行するには、RMANプロンプトからBACKUP DATABASE
コマンドを使用します。
必要に応じて、データベース全体のバックアップから指定した表領域を除外できます。「データベース全体のバックアップから除外する表領域の構成」で説明されているように、常にスキップする各表領域に対してCONFIGURE EXCLUDE
コマンドを実行して、複数のRMANセッションで表領域を永続的にスキップできます。構成済の設定は、BACKUP ... NOEXCLUDE
で上書きできます。
データベースをバックアップする手順
- RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。
- データベースがマウントまたはオープンされていることを確認します。
- RMANプロンプトで
BACKUP DATABASE
コマンドを発行します。このコマンドの最も簡単な形式にはオプションまたはパラメータは必要ありません。BACKUP DATABASE; バックアップされるファイルのリスト(データファイル、制御ファイル、サーバー・パラメータ・ファイル)は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』
で、BACKUP
コマンドのキーワードDATABASEを参照してください。次の例では、データベースをバックアップし、オンラインREDOログを切り替え、アーカイブ・ログをバックアップに格納します。BACKUP DATABASE PLUS ARCHIVELOG; バックアップの直後にログをアーカイブすることによって、バックアップ時間全体のアーカイブ・ログの完全なセットを取得します。これによって、このバックアップのリストア後にメディア・リカバリを実行できることが保証されます。