Oracle RMANバックアップ概要

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に引数を指定して、これらのデフォルトを上書きすることもできます。次の項では、最も一般的なオプションについて説明します。

関連項目:バックアップの多重化や再開などの高度なバックアップ・オプションについては、第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は、優先順位に従って示されている次のルール・セットを使用して、出力ファイル形式を決定します。

  1. 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はプラットフォーム固有の場所にバックアップを作成します。
  2. FORMAT設定がバックアップで使用される特定のチャネル用に構成されている場合、生成されるファイル名の制御はこの設定によって行われます。
  3. FORMAT設定がバックアップで使用されるデバイス・タイプ用に構成されている場合、生成されるファイル名の制御はこの設定によって行われます。
  4. ディスク・バックアップ中に高速リカバリ領域が有効になっていて、FORMATが指定されていない場合は、自動生成された名前で高速リカバリ領域にバックアップが作成されます。
  5. このリストの他のいずれの条件も当てはまらない場合は、バックアップのデフォルトの場所およびファイル名の書式はプラットフォーム固有になります。
関連項目: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によって、バックアップ(制御ファイルの自動バックアップ以外)のデフォルト・タグが暗黙的に作成されます。タグの形式は、TAGYYYYMMDDTHHMMSSです。ここで、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プロンプトからBACKUP DATABASEコマンドを使用します。

必要に応じて、データベース全体のバックアップから指定した表領域を除外できます。「データベース全体のバックアップから除外する表領域の構成」で説明されているように、常にスキップする各表領域に対してCONFIGURE EXCLUDEコマンドを実行して、複数のRMANセッションで表領域を永続的にスキップできます。構成済の設定は、BACKUP ... NOEXCLUDEで上書きできます。

データベースをバックアップする手順

  1. RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。
  2. データベースがマウントまたはオープンされていることを確認します。
  3. RMANプロンプトでBACKUP DATABASEコマンドを発行します。このコマンドの最も簡単な形式にはオプションまたはパラメータは必要ありません。BACKUP DATABASE; バックアップされるファイルのリスト(データファイル、制御ファイル、サーバー・パラメータ・ファイル)は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』で、BACKUPコマンドのキーワードDATABASEを参照してください。次の例では、データベースをバックアップし、オンラインREDOログを切り替え、アーカイブ・ログをバックアップに格納します。BACKUP DATABASE PLUS ARCHIVELOG; バックアップの直後にログをアーカイブすることによって、バックアップ時間全体のアーカイブ・ログの完全なセットを取得します。これによって、このバックアップのリストア後にメディア・リカバリを実行できることが保証されます。