日本語PDF

5 RMAN環境の構成

この章では、RMANを構成する場合の基本的なタスクについて説明します。この章のトピックは、次のとおりです:

関連項目:

5.1 RMANバックアップの環境の構成について

RMANでは、基本的なバックアップおよびリカバリの実行に必要なほとんどのパラメータに対して、適切なデフォルトが用意されています。デフォルト・パラメータの値を変更することや、特定のセッションでこれらの値を上書きすることができます。

RMANベースのバックアップ計画を実装する場合、最も一般的な構成を理解すると、RMANを効果的に使用できます。

RMANの継続的な使用を簡単にするには、各ターゲット・データベースにいくつかの永続構成を設定します。これらの設定により、RMANの動作を多面的に制御します。たとえば、バックアップの保存方針、バックアップのデフォルトの格納先、デフォルトのバックアップ・デバイス・タイプなどを構成できます。SHOWおよびCONFIGUREコマンドを使用して、RMANの構成を表示および変更できます。

この項では、RMAN構成の概要およびCONFIGUREコマンドを使用してRMANのデフォルトの動作をバックアップとリカバリ環境用に変更する方法について説明します。また、使用可能な主な設定および一般的な設定値についても説明します。

注意:

テープへのバックアップを計画している場合は、メディア・マネージャにバックアップするためのRMANの構成を参照してください。

関連項目:

CONFIGUREの構文については、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。

5.1.1 RMANの永続的な構成の表示およびクリア

SHOWコマンドを使用すると、ターゲット・データベース用に設定されたRMANの現在の値を表示できます。これらのコマンドが、現在デフォルト値に設定されているかどうかを表示することもできます。

CONFIGUREコマンド設定を表示または変更する手順

  1. RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。
  2. RMANのSHOWコマンドを実行します。

    たとえば、次の例に示すようにSHOW ALLを実行します(出力例も示します)。出力には、変更したパラメータとデフォルトに設定されたパラメータの両方が含まれています。構成は、構成の再作成に必要な一連のRMANコマンドとして表示されます。出力をテキスト・ファイルに保存したり、このコマンド・ファイルを使用して同じまたは別のデータベースに構成を再作成することができます。

    SHOW ALL;
    
    RMAN configuration parameters for database with db_unique_name PROD1 are:
    CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;
    CONFIGURE BACKUP OPTIMIZATION ON;
    CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
    CONFIGURE CONTROLFILE AUTOBACKUP ON; # default
    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F'; # default
    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
    CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET;
    CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
    CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
    CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
    CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
    CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
    CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'ENV=(OB_DEVICE=tape1)';
    CONFIGURE MAXSETSIZE TO UNLIMITED; # default
    CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
    CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
    CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
    CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
    CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
    CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/disk1/oracle/dbs/snapcf_ev.f'; # default
    

    SHOWコマンドは、特定の構成の名前を指定して使用することもできます。たとえば、次のように入力すると、保存方針およびデフォルトのデバイス・タイプを表示できます。

    SHOW RETENTION POLICY;
    SHOW DEFAULT DEVICE TYPE;
    
  3. 必要に応じて、CONFIGURE ... CLEARコマンドを使用して構成をデフォルト値に戻します。次に例を示します。
    CONFIGURE BACKUP OPTIMIZATION CLEAR;
    CONFIGURE RETENTION POLICY CLEAR;
    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEAR;

関連項目:

SHOWの構文については、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。

5.1.2 バックアップ用のデフォルト・デバイスの構成: ディスクまたはSBT

バックアップ先のデバイス・タイプが指定されていないバックアップは、構成済のデフォルト・デバイスに格納されます。RMANは、デフォルトのデバイス・タイプとしてディスクを使用するように事前構成されています。追加の構成は必要ありません。

デフォルトのデバイス・タイプをディスクからテープに変更したり、テープからディスクに戻す必要がある場合があります。表5-1に、デフォルトのデバイスを構成するコマンドを示します。

表5-1 デフォルトのデバイス・タイプを構成するコマンド

コマンド 説明

CONFIGURE DEFAULT DEVICE TYPE TO DISK

バックアップをデフォルトでディスクに格納するように指定します。

リカバリ領域が有効になっている場合、バックアップ場所はデフォルトで高速リカバリ領域になります。リカバリ領域が有効になっていない場合、バックアップ場所はデフォルトでディスク上のオペレーティング・システム固有のディレクトリになります。

ディスクにバックアップする場合、データベース・ファイルの論理ブロック・サイズは、バックアップ先のデバイスの物理ブロック・サイズの倍数である必要があります。たとえば、ブロック・サイズが2KBのDISKタイプのデバイスは、論理ブロック・サイズが2KB、4KB、6KBなどのデータベース・ファイルのバックアップ先としてのみ使用できます。ほとんどのディスク・ドライブの物理ブロック・サイズは512バイトであるため、この制限が、ディスク・ドライブへのバックアップに影響を及ぼすことはほとんどありません。ただし、書込み可能なDVDまたは物理ブロック・サイズが大きいデバイスにバックアップする場合は、この制限の影響を受ける可能性があります。

CONFIGURE DEFAULT DEVICE TYPE TO sbt

バックアップをデフォルトでテープに格納するように指定します。

メディア・マネージャで使用するRMANの設定方法については、「メディア・マネージャにバックアップするためのRMANの構成」を参照してください。RMANがメディア・マネージャと通信できるようになった後、テープにバックアップが作成されるようにRMANを構成し、デフォルトのデバイス・タイプとしてSBTを指定します。

次の例に示すように、BACKUPコマンドのDEVICE TYPE句を使用して、デフォルト・デバイスを常に上書きできます。

BACKUP DEVICE TYPE sbt DATABASE;
BACKUP DEVICE TYPE DISK DATABASE;

構成済のデフォルトのデバイス・タイプを変更する手順

  1. RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。

  2. SHOW ALLコマンドを実行して、現在構成されているデフォルトのデバイスを表示します。

  3. TO DISKまたはTO sbtのいずれかを指定して、CONFIGURE DEFAULT DEVICE TYPEコマンドを実行します。

関連項目:

DEVICE TYPE句を指定したBACKUPコマンドを使用する方法の詳細は、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。

5.1.3 バックアップ用のデフォルト・タイプの構成: バックアップ・セットまたはコピー

BACKUPコマンドでは、バックアップ・セットまたはイメージ・コピーのいずれかを作成できます。ディスクの場合、CONFIGURE DEVICE TYPE DISK BACKUP TYPE TOコマンドを使用すると、デフォルトのバックアップ・タイプとしてバックアップ・セットまたはイメージ・コピーを作成するようにRMANを構成できます。

注意:

RMANはディスクにのみイメージ・コピーを書き込むことができるため、テープのバックアップ・タイプはバックアップ・セットのみになります。

ディスクのデフォルトのバックアップ・タイプは、圧縮されていないバックアップ・セットです。

RMANはバイナリ圧縮を使用してバックアップ・セットを作成できます。BACKUP TYPE TO ... BACKUPSET句にCOMPRESSEDオプションを指定すると、デバイス・タイプに対してデフォルトで圧縮バックアップ・セットを使用するようにRMANを構成できます。圧縮を無効にするには、他の必要な設定を示す引数を指定してCONFIGURE DEVICE TYPEコマンドを使用しますが、COMPRESSEDキーワードは省略します。

バックアップのデフォルト・タイプを構成する手順

  1. RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。
  2. バックアップ・セットまたはコピーをデフォルトのバックアップ・タイプとして構成します。

    次の例では、ディスク・バックアップのバックアップ・タイプをコピーおよびバックアップ・セットに構成しています。

    CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COPY; # image copies
    CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET; # uncompressed
    

    次の例では、バックアップ・セットの圧縮を構成しています。

    CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET;
    CONFIGURE DEVICE TYPE sbt BACKUP TYPE TO COMPRESSED BACKUPSET;

5.1.4 チャネルの構成

RMANチャネルは、データベース・サーバー・セッションへの接続です。RMANは、ほとんどのタスクの実行にチャネルを使用します。

この項では、次の項目について説明します。

5.1.4.1 チャネルの構成について

ディスクまたはSBTチャネルのオプションを構成するには、CONFIGURE CHANNELコマンドを使用します。デバイス・タイプに汎用チャネル設定を構成できます。汎用チャネル設定は、デバイスの構成済設定に基づいて作成されるチャネルで使用されるテンプレートです。

注意:

この項では、ディスク・チャネルの構成について説明します。テープのチャネルを構成する方法については、メディア・マネージャで使用するSBTチャネルの構成を参照してください。

CONFIGURE CHANNELでは、ALLOCATE CHANNELコマンドでワンタイム・オプションを指定するときに使用するものと同じオプションを使用します。

CONFIGURE CHANNELを使用してデバイスの汎用チャネル設定を指定すると、以前の設定は競合がない場合でも破棄されます。たとえば、2番目のCONFIGURE CHANNELコマンドで構成済のディスク・チャネルに対してFORMATのみを指定すると、ディスク・チャネルのMAXPIECESIZEがデフォルト値に戻されます。

CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2G;
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT /tmp/%U;
5.1.4.2 ディスクのチャネルの構成

デフォルトでは、RMANは、1つのディスク・チャネルをすべての操作に割り当てます。このチャネルに対して、バックアップ用の新しいデフォルトの場所などの他のオプションを指定できます。

例5-1 デフォルト以外のバックアップ場所の構成

この例では、ディスク・バックアップを/disk1ディレクトリに書き込むようにRMANを構成し、相対ファイル名にデフォルト以外の書式を指定します。

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/disk1/ora_df%t_s%s_s%p';

RMANは、書式指定子%tを4バイトのタイムスタンプに、%sをバックアップ・セット番号に、%pをバックアップ・ピース番号に自動的に置換します。

注意:

ディスク・チャネルに明示的な書式を構成すると、RMANは、デフォルトでは高速リカバリ領域にバックアップを作成しません。この場合、高速リカバリ領域のディスク領域管理機能は失われます。

例5-2 ASMディスクの場所の構成

この例は、ASMディスクの場所を構成する方法を示します。

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '+dgroup1';

関連項目:

バックアップを作成する方法については、RMANを使用したデータベース・ファイルのバックアップを参照してください。

5.1.4.3 ディスクおよびSBTデバイス用のパラレル・チャネルの構成

コマンドの実行時にデバイス・タイプで使用できるチャネルの数によって、RMANが読取りまたは書込みをパラレルで行うかどうかが決まります。通常、コマンドの実行に使用するチャネルの数は、アクセスされるデバイスの数と一致する必要があります。

テープ・バックアップの場合は、テープ・ドライブごとに1つのチャネルを割り当てます。ディスク・バックアップの場合は、物理ディスクごとに1つのチャネルを割り当てます。ただし、複数のチャネルを使用して、ディスク・サブシステム・アーキテクチャ用にバックアップを最適化できる場合は除きます。適切な数のチャネルが割り当てられない場合、I/O操作中のRMANのパフォーマンスが低下します。

CONFIGURE DEVICE TYPE sbtを使用すると、SBTデバイスに対してチャネルのパラレル化設定、バックアップ・セットのバイナリ圧縮などのオプションを構成できます。デバイス・タイプの構成は、チャネルの構成とは別に設定できます。

例5-3 SBTデバイスのパラレル化の構成

この例では、RMANで2つのテープ・ドライブをパラレルに使用してメディア・マネージャにバックアップできるようにSBTデバイスを変更します(出力例も示します)。構成済の各SBTチャネルは、データの合計の約半分ずつをバックアップします。

RMAN> CONFIGURE DEVICE TYPE sbt PARALLELISM 2;

old RMAN configuration parameters:
CONFIGURE DEVICE TYPE 'SBT_TAPE' BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;
new RMAN configuration parameters:
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET;
new RMAN configuration parameters are successfully stored

例5-4 SBTデバイスのバックアップ・タイプの構成

この例では、SBTデバイスのデフォルトのバックアップ・タイプを、圧縮されていないバックアップ・セットに変更します(出力例も示します)。

この例で使用されているCONFIGURE DEVICE TYPEコマンドは、パラレル化とバックアップ・タイプのみに影響し、指定されていない設定値には影響しません。例5-3では、パラレル化設定を変更しても、圧縮済バックアップ・セットのデフォルトのバックアップ・タイプは変更されていません。この例では、デフォルトのバックアップ・タイプを変更しても、複数のテープ・ドライブをパラレルに使用する機能には影響していません。

RMAN> CONFIGURE DEVICE TYPE sbt BACKUP TYPE TO BACKUPSET;
old RMAN configuration parameters:
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET;
new RMAN configuration parameters:
CONFIGURE DEVICE TYPE 'SBT_TAPE' BACKUP TYPE TO BACKUPSET PARALLELISM 2;
new RMAN configuration parameters are successfully stored

関連項目:

5.1.4.4 構成済チャネルの手動での変更

ジョブの実行中にチャネルを手動で割り当てると、構成済チャネルのすべての設定が無視されます。

構成済チャネルを手動で変更するには、次のようにします。

  • デフォルトのデバイス・タイプがSBTであるとします。次のコマンドを実行して、デフォルトの構成を上書きします。

    RUN 
    {
      ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
      BACKUP TABLESPACE users;
    }
    

    この場合、RMANでは、RUNコマンド内で手動で割り当てたディスク・チャネルのみが使用され、CONFIGURE DEVICE TYPECONFIGURE DEFAULT DEVICEまたはCONFIGURE CHANNEL設定を使用して設定されたデフォルトは上書きされます。

関連項目:

5.1.5 制御ファイルおよびサーバー・パラメータ・ファイルの自動バックアップの構成

制御ファイルおよびサーバー・パラメータ・ファイルを自動的にバックアップするように、RMANを構成できます。自動バックアップは、バックアップ・レコードが追加されるたびに実行されます。

また、データベースがARCHIVELOGモードで実行されている場合も、自動バックアップは、制御ファイル内のデータベース構造メタデータが変更されるたびに実行されます。制御ファイルの自動バックアップによって、RMANは、現行の制御ファイル、リカバリ・カタログおよびサーバー・パラメータ・ファイルが消失した場合でも、データベースをリカバリできます。

自動バックアップのファイル名は標準書式に従っているため、RMANは、リポジトリにアクセスせずにこのファイルを検索し、サーバー・パラメータ・ファイルをリストアできます。リストアされたサーバー・パラメータ・ファイルを使用してインスタンスを起動すると、RMANは、自動バックアップから制御ファイルをリストアできます。制御ファイルをマウントすると、RMANリポジトリが使用可能になり、RMANは、データファイルをリストアし、アーカイブREDOログが検索できるようになります。

自動バックアップ機能を有効にするには、次のようにします。

CONFIGURE CONTROLFILE AUTOBACKUP ON;

自動バックアップ機能を無効にするには、次のようにします。

CONFIGURE CONTROLFILE AUTOBACKUP OFF;

デフォルトでは、制御ファイルの自動バックアップは、COMPATIBLE初期化パラメータが12.2以上に設定されているCDBおよびスタンドアロン・データベースで有効になります。

5.1.5.1 制御ファイルの自動バックアップ書式の構成

デフォルトでは、構成済のすべてのデバイスの自動バックアップ・ファイルの書式は、FORMAT句では置換変数%Fになります。

%F変数の書式は、c-IIIIIIIIII-YYYYMMDD-QQに変換されます。プレースホルダは次のように定義されます。

  • IIIIIIIIIIは、DBIDを表します。

  • YYYYMMDDは、バックアップが生成された日のタイム・スタンプです。

  • QQは、00から始まる16進の順序です。最大値はFFです。

自動バックアップ・ファイルのデフォルトの書式を変更するには、次のようにします。

  • 次のコマンドを使用します。ここで、deviceSpecifierは有効なデバイス・タイプです。'string'は指定したデバイスに対する有効なハンドルであり、この中に置換変数%Fが含まれている必要があります(他の置換変数を含めることはできません)。

    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT 
      FOR DEVICE TYPE deviceSpecifier TO 'string';
    

    たとえば、次のコマンドを実行すると、制御ファイルの自動バックアップにデフォルト以外のファイル名を指定できます。ファイル名で、?ORACLE_HOMEを表します。

    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT 
      FOR DEVICE TYPE DISK TO '?/oradata/cf_%F';
    

    次の例では、自動ストレージ管理ディスク・グループに書き込まれるように自動バックアップを構成します。

    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT 
      FOR DEVICE TYPE DISK TO '+dgroup1/%F';
    

注意:

制御ファイルの自動バックアップに有効な書式は、%D%I%M%Y%F%T%dおよび%nです。これら以外の書式を使用すると、制御ファイルの自動バックアップをリストアできない場合があります。

デバイスに対する制御ファイルの自動バックアップの書式を消去するには、次のようにします。

  • , 次のコマンドを使用します。

    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEAR;
    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE sbt CLEAR;
    

データベースに高速リカバリ領域が設定されている場合、ディスクに対する制御ファイルの自動バックアップ書式をクリアすると、制御ファイルの自動バックアップを高速リカバリ領域に格納することができます。

注意:

高速リカバリ領域のすべてのファイルはOracle Databaseによって管理され、関連するファイル名はOracle Managed Files(OMF)形式で管理されます。

5.1.5.2 構成済の制御ファイルの自動バックアップ書式の上書き

RUNコマンド内またはRMANプロンプトのいずれかでSET CONTROLFILE AUTOBACKUP FORMATコマンドを指定すると、現在のセッションのみで構成済の自動バックアップ書式が上書きされます。

優先順位は次のとおりです。

  1. SET CONTROLFILE AUTOBACKUP FORMAT(RUNブロック内)
  2. SET CONTROLFILE AUTOBACKUP FORMAT(RMANプロンプト)
  3. CONFIGURECONTROLFILEAUTOBACKUPFORMAT

次の例では、2つの形式のSET CONTROLFILE AUTOBACKUP FORMATの相互作用を示します。

SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'controlfile_%F';
BACKUP AS COPY DATABASE;
RUN
{ 
  SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/tmp/%F.bck'; 
  BACKUP AS BACKUPSET 
    DEVICE TYPE DISK 
    DATABASE;
}

最初のSET CONTROLFILE AUTOBACKUP FORMATは、制御ファイルのすべての構成済自動バックアップ書式より優先され、RMANクライアントが終了するまで制御ファイルの自動バックアップの名前を制御します。RUNブロック内のSET CONTROFILE AUTOBACKUP FORMATは、RUNブロックが有効な間、RUNブロックの外にあるSET CONTROLFILE AUTOBACKUP FORMATをオーバーライドします。

5.2 メディア・マネージャにバックアップするためのRMANの構成

ほとんどのプラットフォームでは、テープなどのシーケンシャル・メディアにバックアップしたり、これらからリストアする場合には、Oracle Databaseとメディア管理ソフトウェアを統合する必要があります。テープに対するデータベースとファイル・システムの両方のバックアップをサポートしているOracle Secure Backupをメディア・マネージャとして使用できます。

注意:

サード・パーティのメディア・マネージャも使用できます。この項では、サード・パーティのメディア・マネージャとともに使用するためにRMANを構成する一般的なステップについて説明します。実際のステップは、インストールしたメディア管理製品およびデータベースを実行するプラットフォームによって異なります。Oracle Secure Backup以外のメディア・マネージャとともにRMANを使用する場合は、製品固有のすべての情報をベンダーから入手する必要があります。

メディア・マネージャで使用するRMANを構成する手順

  1. 「RMANをメディア・マネージャとともに使用するための前提条件」の説明に従って、メディア・マネージャを使用する前提条件が満たされていることを確認します。
  2. 「メディア管理ライブラリの場所の確認」の説明に従って、シーケンシャル・メディアと通信するために使用するメディア管理ライブラリの場所を確認します。
  3. 「RMANのバックアップに対するメディア管理ソフトウェアの構成」の説明に従って、メディア管理ソフトウェアを構成します。
  4. 「メディア・マネージャ・ライブラリが正常に統合されたかどうかのテスト」の説明に従って、RMANでメディア・マネージャを使用してバックアップを作成できるかどうかを確認します。
  5. 「メディア・マネージャで使用するSBTチャネルの構成」の説明に従って、すべてのテープ・バックアップのデフォルトとして使用できるRMANチャネルを構成します。

    関連項目:

5.2.1 RMANをメディア・マネージャとともに使用するための前提条件

RMANをサード・パーティのメディア・マネージャとともに使用するには、メディア・マネージャをインストールし、RMANと通信できるようにする必要があります。詳細は、メディア管理ベンダーのソフトウェアのドキュメントを参照してください。

通常、まず、メディア管理ソフトウェアをターゲット・ホストまたは本番ネットワークにインストールして構成します。Hiオペレーティング・システム・ファイルのRMAN以外のバックアップをターゲット・データベース・ホスト上に作成できることを確認します。このステップに従って、メディア・マネージャとターゲット・ホストの基本的な統合が正常に完了したことを確認すると、後で行うトラブルシューティングが簡単になります。RMANを使用しないでメディア・マネージャにファイルをバックアップする方法については、メディア管理ソフトウェアのドキュメントを参照してください。

次に、サード・パーティのメディア管理モジュールを入手してインストールし、データベース・サーバーと統合します。このモジュールには、Oracle Databaseがメディア・マネージャへのアクセス時にロードおよび使用するメディア管理ライブラリが含まれています。このモジュールは通常、別ライセンスのサード・パーティ製品です。詳細は、メディア管理ベンダーに問い合せてください。

5.2.2 メディア管理ライブラリの場所の確認

メディア・マネージャとともにRMANを使用する前に、メディア管理ライブラリの場所を指定します。

RMANでメディア・マネージャとの通信に使用するチャネルの割当てまたは構成を行う場合は、ALLOCATE CHANNELまたはCONFIGURE CHANNELコマンドにSBT_LIBRARYパラメータを指定する必要があります。SBT_LIBRARYパラメータには、ライブラリへのパスを指定します。

RMANは、メディア・マネージャと通信するためのチャネルを割り当てる場合、SBT_LIBRARYパラメータで指定されたライブラリをロードします。割当て済または事前構成済のチャネルでSBT_LIBRARYパラメータの値を指定しない場合、RMANは、プラットフォーム固有の安全なデフォルトの場所を検索します。

LinuxおよびUNIXでは、SBTライブラリは次の場所からロードされます。

/opt/oracle/extapi/[32,64]/{SBT}/{VENDOR}/{VERSION}/libobk.so

SBTライブラリのファイル名の拡張子名はプラットフォームによって異なります。

  • HP-UXの場合は.so.sl

  • AIXの場合は.a

Windowsでは、SBTライブラリは次の場所からロードされます。

%SYSTEM_DRIVE%\oracle\extapi\[32,64]\{SBT}\{VENDOR}\{VERSION}\orasbt.dll

RMANが安全なデフォルトの場所を使用できないか、またはOracle Database 11g以前を使用している場合、RMANは、環境変数PATHまたはLIBPATHで指定されている場所からSBTライブラリをロードします。

組織に、環境変数PATHまたはLIBPATHを使用してライブラリ・ディレクトリを指定することを禁止するセキュリティ要件または法規制順守の要件がある場合があります。この動作を無効にするには、PARMS文字列をSBT_SECURE=1に設定します。

注意:

デフォルトのメディア管理ライブラリ・ファイルは、標準のデータベース・インストールには含まれません。サード・パーティのメディア管理ソフトウェアをインストールした場合にのみ含まれます。

関連項目:

プラットフォーム上でメディア・マネージャを統合する方法については、オペレーティング・システム固有のデータベース・ドキュメントおよびメディア・ベンダーが提供するドキュメントを参照してください。

例: メディア管理ライブラリの場所の構成

次に、チャネルの構文の例を示します。ここで、pathnameは、ライブラリの絶対ファイル名です。

CONFIGURE CHANNEL DEVICE TYPE sbt
  PARMS 'SBT_LIBRARY=pathname';

5.2.3 RMANのバックアップに対するメディア管理ソフトウェアの構成

メディア管理ソフトウェアのインストール後、RMANバックアップを受け入れることができるように、ベンダーの要件に従ってソフトウェアを構成します。

インストールしたメディア管理ソフトウェアのタイプによっては、メディア・プールの定義、ユーザーおよびクラスの構成などが必要になる場合があります。RMANの適切な設定については、メディア管理ベンダーのドキュメントを参照してください。PARMSパラメータは、メディア・マネージャに指示を送信します。PARMSの値がALLOCATE CHANNELまたはCONFIGURE CHANNELコマンドで必要な場合、またはFORMAT文字列がBACKUPまたはCONFIGUREコマンドで推奨される場合は、その情報についてベンダーのドキュメントを参照してください。

例5-5 Oracle Secure BackupのPARMS設定

この例は、Oracle Secure BackupのPARMS設定を示します。このPARMS設定は、datafile_mfという一連のテープにバックアップを行うようにメディア・マネージャに指示します。PARMS設定は、常にベンダー固有です。

CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE'
  PARMS 'ENV=(OB_MEDIA_FAMILY=datafile_mf)';

関連項目:

5.2.4 メディア・マネージャ・ライブラリが正常に統合されたかどうかのテスト

データベース・サーバーでメディア管理ライブラリをロードできることを確認した後、RMANでメディア・マネージャにバックアップできるかどうかをテストします。

次のタスクを実行できます。

5.2.4.1 メディア・マネージャでのALLOCATE CHANNELのテスト

ALLOCATE CHANNELコマンドを使用して、RMANとメディア・マネージャの基本的な通信テストを実行します。

チャネルの割当てをテストする手順

  1. RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。
  2. メディア管理ソフトウェアの要件に従って、PARMSを指定してALLOCATE CHANNELコマンドを実行します。

    次のRUNコマンドは、ベンダー固有のPARMS設定の例を示しています。

    RUN
    {
      ALLOCATE CHANNEL c1 DEVICE TYPE sbt
        PARMS 'SBT_LIBRARY=/mydir/lib/libobk.so,
        ENV=(OB_DEVICE=drive1,OB_MEDIA_FAMILY=datafile_mf)';
    }
    
  3. RMAN出力を確認します。

    エラー・メッセージが表示されない場合、データベースはメディア管理ライブラリを正常にロードしています。ORA-27211エラーが発生した場合、メディア管理ライブラリはロードされていません。

    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03009: failure of allocate command on c1 channel at 11/30/2007 13:57:18
    ORA-19554: error allocating device, device type: SBT_TAPE, device name: 
    ORA-27211: Failed to load Media Management Library
    Additional information: 25
    

    この場合、メディア管理ソフトウェアの使用環境にメディア管理ライブラリが正常にインストールされているかどうかを確認し、SBT_LIBRARYパラメータの値(メディア管理ライブラリの場所の確認を参照)を再確認します。

    SBT_LIBRARYパラメータに指定された場所またはデフォルトの場所でデータベースがメディア管理ライブラリを検出できない場合、RMANはORA-27211エラーを発行して終了します。

チャネルの割当てに失敗すると、データベースは、常に自動診断リポジトリ(ADR)・ホーム・ディレクトリのTRACEサブディレクトリにトレース・ファイルを書き込みます。出力例を次に示します。

SKGFQ OSD: Error in function sbtinit on line 2278
SKGFQ OSD: Look for SBT Trace messages in file /oracle/rdbms/log/sbtio.log
SBT Initialize failed for /oracle/lib/libobk.so

関連項目:

自動診断リポジトリを使用してデータベース操作を監視する方法については、Oracle Database管理者ガイドを参照してください。

5.2.4.2 メディア・マネージャでのバックアップおよびリストア操作のテスト

メディア・マネージャでチャネルの割当てをテストした後、テスト・バックアップを作成し、リストアします。

BACKUPおよびRESTOREコマンドを使用して、メディア・マネージャでのバックアップおよびリストア操作を実行します。バックアップおよびリストア操作が正常に完了すると、RMANでメディア・マネージャを使用できます。

失敗の理由としては、次のような状況が考えられます。

  • バックアップが中断する。

    バックアップが中断した場合、通常はメディア・マネージャがテープのマウントを待機していることを示します。テープ・マウント要求モードのメディア・マネージャ・ジョブの有無を確認し、問題を修正します。メディア・マネージャにバックアップするためのRMANの構成のステップを正しく実行していることを確認します。

  • バックアップが「ORA-27211: メディア管理ライブラリのロードに失敗しました」を戻して失敗する。

    このエラーは、メディア管理ソフトウェアが正しく構成されていないことを示します。メディア・マネージャにバックアップするためのRMANの構成のステップを正しく実行していることを確認します。また、メディア管理ソフトウェアの要件に従って、PARMSおよびFORMAT文字列を設定していることも確認します。

例5-6 テープへのサーバー・パラメータ・ファイルのバックアップ

この例の(メディア管理ベンダーで要求されているチャネル設定に置き換える)コマンドを使用すると、メディア・マネージャにバックアップを作成できるかどうかをテストできます。データベースでサーバー・パラメータ・ファイルが使用されていない場合は、かわりに、現行の制御ファイルをバックアップします。

RUN
{
  ALLOCATE CHANNEL c1 DEVICE TYPE sbt
    PARMS 'SBT_LIBRARY=/mydir/lib/libobk.so,
    ENV=(OB_DEVICE=drive1,OB_MEDIA_FAMILY=datafile_mf)';
  BACKUP SPFILE;
  # If your database does not use a server parameter file, use:
  # BACKUP CURRENT CONTROLFILE;
}

例5-7 テープからのサーバー・パラメータ・ファイルのリストア

この例では、例5-6で作成したバックアップを一時ディレクトリにリストアします。メディア・マネージャへのバックアップが正常に完了した後、サーバー・パラメータ・ファイルを初期化パラメータ・ファイルとしてリストアします。

RUN
{
  ALLOCATE CHANNEL c1 DEVICE TYPE sbt
    PARMS 'SBT_LIBRARY=/mydir/lib/libobk.so,
    ENV=(OB_DEVICE=drive1,OB_MEDIA_FAMILY=datafile_mf)';
  RESTORE SPFILE TO PFILE '/tmp/test_restore.f';
  # If your database does not use a server parameter file, use:
  # RESTORE CURRENT CONTROLFILE TO '/tmp/test_restore.f';
}

5.2.5 メディア・マネージャで使用するSBTチャネルの構成

SBTチャネルを構成すると、メディア・マネージャを使用したバックアップおよびリカバリ操作に使用されるデフォルトの永続的な設定が作成されます。

5.2.5.1 メディア・マネージャのバックアップ・ピース名

バックアップ・ピース名は、BACKUPコマンド、CONFIGURE CHANNELコマンドまたはALLOCATECHANNELコマンドで指定するFORMAT文字列によって決まります。

メディア・マネージャではバックアップ・ピース名はバックアップ・ファイルの名前とみなされるため、すべてのバックアップ・ピースはメディア管理カタログ内で一意の名前を持つ必要があります。FORMATパラメータ内の置換変数を使用すると、一意のバックアップ・ピース名を生成できます。たとえば、%dにはデータベース名を指定し、%tにはバックアップ・タイムスタンプを指定します。ほとんどの用途に対して%Uを使用できます。この場合、RMANは一意なファイル名を自動的に生成します。バックアップ・ピース名の例としては、12i1nk47_1_1があります。FORMATパラメータを指定しない場合、RMANは%U置換変数を含む一意のファイル名を自動的に生成します。

使用しているメディア・マネージャで、ファイルの名前およびサイズに制限がある場合があります。この場合、バックアップ・ピース名がメディア・マネージャの制限に従うように、バックアップ・ピース名の指定をより制御する必要があります。たとえば、14文字のバックアップ・ピース名のみをサポートするメディア・マネージャ、特別なFORMAT文字列を必要とするメディア・マネージャなどが存在します。%U置換変数によって生成される一意の名前は、14文字を超えません。

一部のメディア・マネージャでは、バックアップまたはリストア可能なファイルの最大サイズが制限されている場合があります。RMANがこの制限を超えるバックアップ・セットを生成しないようにする必要があります。バックアップ・ピースのサイズを制限するには、CONFIGURE CHANNELおよびALLOCATE CHANNELコマンドに設定可能なパラメータMAXPIECESIZEを使用します。

関連項目:

5.2.5.2 自動SBTチャネルの構成

メディア・マネージャをバックアップする最も簡単な方法は、SBTチャネルを構成する方法です

「バックアップ用のデフォルト・デバイスの構成: ディスクまたはSBT」で説明されているように、テープ・デバイスをデフォルトのバックアップ先として使用できます。

メディア・マネージャで使用するチャネルを構成する手順

  1. 一般的なSBTチャネルを構成します。

    この構成では、メディア・マネージャでのバックアップおよびリストア操作のテストでテストしたすべてのパラメータを入力します。次の例では、ベンダー固有のチャネル・パラメータを構成し、デフォルト・デバイスを設定します。

    CONFIGURE CHANNEL DEVICE TYPE sbt 
      PARMS 'ENV=(OB_RESOURCE_WAIT_TIME=1minute,OB_DEVICE=tape1)';
    
  2. 次のコマンドを実行して、デフォルトのデバイス・タイプをSBTに設定します。
    CONFIGURE DEFAULT DEVICE TYPE TO sbt;
    

    複数のテープ・デバイスを使用する場合は、チャネルのパラレル化を指定する必要があります(「ディスクおよびSBTデバイス用のパラレル・チャネルの構成」を参照)。次のように構成すると、2つのテープ・ドライブにパラレルにバックアップできます。

    CONFIGURE DEVICE TYPE sbt PARALLELISM 2;
    

    必要に応じて、次のコマンドを実行してチャネルの構成を確認します。

    SHOW CHANNEL FOR DEVICE TYPE sbt;
    
  3. テープへのテスト・バックアップを実行します。

    次のコマンドを実行すると、サーバー・パラメータ・ファイルがテープにバックアップされます。

    BACKUP SPFILE;
    
  4. バックアップのリストを表示して、テスト・バックアップがメディア・マネージャに移動したことを確認します。
    LIST BACKUP OF SPFILE;

5.3 リカバリ・アプライアンスへのバックアップを行うためのRMANの構成

RMANコマンドを使用して、ターゲット・データベースをZero Data Loss Recovery Appliance (リカバリ・アプライアンス).にバックアップできますターゲット・データベースのバックアップ用の一元化されたリポジトリとしてリカバリ・アプライアンスを使用するには、特定の構成ステップが必要です。

リカバリ・アプライアンスへのバックアップを作成するためのRMANを構成するには、次の手順を実行します。

  1. リカバリ・アプライアンスを使用するための前提条件で説明している前提条件を満たしていることを確認します。

  2. リカバリ・アプライアンスにバックアップするためのRMANの構成ステップに示すステップを完了します。

5.3.1 リカバリ・アプライアンスを使用するための前提条件

RMANを使用してターゲット・データベースをZero Data Loss Recovery Appliance (リカバリ・アプライアンス)にバックアップするには、ターゲット・データベースのOracleホームにリカバリ・アプライアンス・バックアップ・モジュールをインストールする必要があります。

バックアップ・モジュールは、デフォルトの場所またはユーザー指定の場所にインストールできます。リカバリ・アプライアンス・バックアップ・モジュールをインストールすると、リカバリ・アプライアンスでターゲット・データベースを認証するために使用される資格証明が含まれるOracleウォレットおよびリカバリ・アプライアンスにバックアップを転送するために使用される共有ライブラリが作成されます。

関連項目:

リカバリ・アプライアンス・バックアップ・モジュールのインストールの詳細は、『Zero Data Loss Recovery Appliance保護されたデータベースの構成ガイド』を参照してください。

5.3.2 リカバリ・アプライアンスにバックアップするためのRMANの構成ステップ

OracleデータベースをZero Data Loss Recovery Appliance(リカバリ・アプライアンス)にバックアップする前に、RMAN構成が必要です。

  1. 「リカバリ・アプライアンス・バックアップ・モジュールの場所の決定」で説明されているように、リカバリ・アプライアンス・バックアップ・モジュールの場所を決定します。
  2. 「RMANバックアップ用のリカバリ・アプライアンス構成設定の指定」の説明に従って、リカバリ・アプライアンスへのバックアップを作成するためにRMANが使用する必要があるリカバリ・アプライアンス構成パラメータを指定します。
  3. データベースをリカバリ・アプライアンスにバックアップするためにRMANが使用する1つ以上のRMANチャネルを割り当てます。

    リカバリ・アプライアンスの使用中にSBT_LIBRARYおよびENVパラメータを指定する必要があります。SBT_LIBRARYはリカバリ・アプライアンス・バックアップ・モジュールの場所を指定し、ENVは構成パラメータを指定します。

    RMANチャネルを割り当てるかわりに、リカバリ・アプライアンスへのバックアップに使用されるRMAN SBTチャネルを構成することもできます。この場合、チャネル構成は永続的であり、設定は、(CONFIGUREコマンドを使用して)リセットされるか、ALLOCATE文を使用して特定の操作に対して上書きされるまで適用可能です。

    関連項目:

5.3.3 リカバリ・アプライアンス・バックアップ・モジュールの場所の決定

RMANを使用してデータベースをZero Data Loss Recovery Appliance (リカバリ・アプライアンス)にバックアップするには、ターゲット・データベース・ホスト上でリカバリ・アプライアンス・バックアップ・モジュールの場所を決定する必要があります。この場所は、リカバリ・アプライアンスに対してRMANチャネルを構成するか割り当てるときに使用されます。

CONFIGUREまたはALLOCATEコマンドのSBT_LIBRARYパラメータは、リカバリ・アプライアンス・バックアップ・モジュールの場所を指定します。RMANはリカバリ・アプライアンスをバックアップするときに、SBT_LIBRARYパラメータで指定された共有ライブラリをロードします。

SBT_LIBRARYパラメータには、絶対パス名またはファイル名を指定できます。ファイル名を指定すると、RMANによってオペレーティング・システム固有の場所でファイルが検索されます。デフォルトでは、リカバリ・アプライアンス・バックアップ・モジュールは、UNIX/Linuxの場合は$ORACLE_HOME/lib/libra.so、Windowsの場合は%ORACLE_HOME\database\lib\libra.ssoにあります。

例5-8 チャネル構成時におけるリカバリ・アプライアンス・バックアップ・モジュールの場所の指定

次のコマンドは、Linuxでリカバリ・アプライアンス・バックアップ・モジュールの絶対パス名を指定することによってRMAN SBTチャネルを構成します。

CONFIGURE CHANNEL DEVICE TYPE sbt PARAMS 'SBT_LIBRARY=/u01/oracle/lib/libra.so';

5.3.4 RMANバックアップ用のリカバリ・アプライアンス構成設定の指定

保護されたデータベースに格納されているクライアント構成ファイルには、Zero Data Loss Recovery Appliance (リカバリ・アプライアンス)バックアップ・モジュールがリカバリ・アプライアンスと通信するために使用する構成設定が含まれます。このファイルは、リカバリ・アプライアンス・バックアップ・モジュールのインストール時に自動的に作成されます。

クライアント構成ファイルには、リカバリ・アプライアンスでターゲット・データベースを認証するために必要な資格証明が格納されるOracleウォレットの場所が含まれている必要があります。他のオプション設定が含まれる場合もあります。

リカバリ・アプライアンスを使用する場合、クライアント構成設定をRMANコマンドに含めることができます。RMANのCONFIGURE CHANNELまたはALLOCATE CHANNELコマンドのENVパラメータを使用して、リカバリ・アプライアンスのクライアント構成パラメータを直接指定します。

例5-9 リカバリ・アプライアンスのクライアント構成設定の指定

次のコマンドは、CONFIGURE CHANNELコマンドの一部としてリカバリ・アプライアンスのクライアント構成設定を直接指定します。

CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARAMS 'SBT_LIBRARY= libra.so, 
ENV=(BA_WALLET=location=file:/home/oracle/product/12.1.0/dbhome_1/wallet credential_alias=ra-scan:1521/zdlra5:dedicated)';

この例では、ra-scanはリカバリ・アプライアンスのSCANであり、zdlra5はリカバリ・アプライアンス・メタデータ・データベースのサービス名です。

5.4 高速リカバリ領域の構成

高速リカバリ領域機能を使用すると、バックアップおよびリカバリに関連する様々なファイルをデータベースで作成および管理できるディスク領域を設定できます。高速リカバリ領域を使用することをお薦めします。バックアップ計画を実装する場合の最初のステップの1つとして、高速リカバリ領域を構成することを検討してください。

この項では、高速リカバリ領域の機能の概要、この領域に格納されているファイルの識別方法、ファイル管理の規則および最も重要な構成オプションの概要について説明します。この項では、次の項目について説明します。

5.4.1 高速リカバリ領域内のファイルの概要

高速リカバリ領域には、制御ファイル、オンラインREDOログ、アーカイブREDOログ、フラッシュバック・ログおよびRecovery Managerバックアップを含めることができます。

リカバリ領域内のファイルは、永続的なファイルまたは一時的なファイルに分類されます。永続的なファイルとは、データベース・インスタンスで使用されるアクティブなファイルのことです。永続的でないすべてのファイルは一時的なファイルとなります。通常、Oracle Databaseでは、バックアップの保存方針に従って不要になった一時的なファイルまたはテープにバックアップされた一時的なファイルは最終的に削除されます。

高速リカバリ領域とは、RMANのディスク・バックアップ、制御ファイルの自動バックアップおよびアーカイブREDOログ・ファイルを保持するために使用できるOracle Database管理領域です。この場所に配置されたファイルはOracle Databaseによってメンテナンスされ、生成されたファイル名はOracle Managed Files(OMF)形式でメンテナンスされます。

表5-2に、リカバリ領域内のファイル、各ファイルの分類(永続的または一時的)およびデータベースの可用性への影響を示します。

表5-2 高速リカバリ領域内のファイル

ファイル タイプ 高速リカバリ領域にアクセスできない場合のデータベースの動作

現行の制御ファイルの多重コピー

永続的

データベースで高速リカバリ領域に格納されている制御ファイルの多重コピーに書き込むことができない場合は、インスタンスで障害が発生します。アクセス可能な多重コピーがリカバリ領域外にある場合でも障害が発生します。

参照: リカバリ領域で制御ファイルを構成する方法については、「制御ファイルの場所の構成」を参照してください。

オンラインREDOログ・ファイル

永続的

高速リカバリ領域外のアクセス可能な場所にオンラインREDOログのミラー化されたコピーが存在している場合、インスタンスの可用性は影響を受けません。そうでない場合、インスタンスで障害が発生します。

参照: リカバリ領域でオンラインREDOログ・ファイルを構成する方法については、「オンラインREDOログの場所の構成」を参照してください。

アーカイブREDOログ・ファイル

一時的

高速リカバリ領域外のアクセス可能な場所にログがアーカイブされる場合、インスタンスの可用性は影響を受けません。そうでない場合、データベースは、オンラインREDOログをアーカイブできないため最終的に停止します。

参照: リカバリ領域でアーカイブREDOログ・ファイルを構成する方法については、「アーカイブREDOログの場所の構成」を参照してください。

外部のアーカイブREDOログ・ファイル

一時的

インスタンスの可用性は影響を受けません。

注意: 外部のアーカイブREDOログ・ファイルは、LogMinerセッション用のロジカル・スタンバイ・データベースによって受信されます。通常のアーカイブ・ログとは異なり、外部のアーカイブREDOログは別のDBIDに関連付けられます。このため、ロジカル・スタンバイ・データベース上ではバックアップまたはリストアできません。

データファイルおよび制御ファイルのイメージ・コピー

一時的

インスタンスの可用性は影響を受けません。

バックアップ・ピース

一時的

インスタンスの可用性は影響を受けません。

フラッシュバック・ログ

一時的

保証付きリストア・ポイントが定義されていない場合、インスタンスの可用性は影響を受けません。この場合、データベースによって、フラッシュバック・データベースが自動的に無効となり、アラート・ログにメッセージが書き込まれてデータベース処理が続行されます。保証付きリストア・ポイントが構成されている場合、インスタンスはフラッシュバック・ログとの相互依存関係が原因で失敗します。

フラッシュバック・ログは、データベースのPoint-in-Timeリカバリ(DBPITR)にかわる有効な機能を提供するOracle Flashback Database機能によって生成されます。これらのログは一時的なファイルであり、高速リカバリ領域に格納する必要があります。他の一時的なファイルとは異なり、フラッシュバック・ログは他のメディアにバックアップできません。高速リカバリ領域にフラッシュバック・ログを格納できる十分な領域がなく、リカバリ領域が他のバックアップ保存要件を満たしている場合、そのリカバリ領域では、フラッシュバック・ログを削除することができます。

参照: フラッシュバック・ロギングを有効にする方法については、「フラッシュバック・データベースの有効化」を参照してください。

Windowsプラットフォームを使用している場合は、Volume Shadow Copy Service(VSS)Oracle VSSライターとともに使用できます。この場合、高速リカバリ領域によって、VSSスナップショットにバックアップされているファイルの管理が自動化され、必要に応じてそれらのファイルが削除されます。

関連項目:

5.4.1.1 Oracle Managed Filesおよび自動ストレージ管理を使用した高速リカバリ領域

高速リカバリ領域は、Oracle Managed Files(OMF)および自動ストレージ管理(ASM)とともに使用できます

高速リカバリ領域は、OMFの上に構築されるため、OMFを格納できるすべての場所に格納できます。リカバリ領域は、ASMで使用することもできます。

ASMストレージに高速リカバリ領域を設定しない場合でも、Oracle Managed Filesを使用してASMディスク・グループでバックアップ・ファイルを管理することができます。しかし、新しいバックアップで領域が必要となった場合にリカバリ可能目標を達成するためにファイルを自動削除する必要がなくなるため、高速リカバリ領域の主要なメリットのうちの1つ(ファイルの自動削除)が失われます。ただし、OMFの他の自動機能は動作します。

バックアップを格納する場合、高速リカバリ領域を使用せずにASMでOMFを使用することはできますが、お薦めしません。ASM下のファイルは直接操作しにくいためです。

5.4.1.2 Oracleによる高速リカバリ領域でのディスク領域の管理方法

高速リカバリ領域内の領域は、保存方針に従って保持する必要があるバックアップおよびアーカイブ・ログと、削除される可能性がある他のファイルの間でバランスが取られています。

Oracle Databaseでは、他の目的のために領域の再利用が必要になるまで、対象のファイルは高速リカバリ領域から削除されません。ただし、Oracle Databaseリリース19c以降、構成された保存期間を超えるフラッシュバック・ログは自動的に削除されます。多くの場合、最近テープに移されたファイルはディスクでリカバリに使用できます。リカバリ領域は、テープに対するキャッシュとして使用できます。Oracle Databaseでは、高速リカバリ領域が一杯になると、リカバリ領域内の領域を再利用するために必要に応じて対象のファイルが自動的に削除されます。

5.4.2 高速リカバリ領域の有効化

高速リカバリ領域を有効化するには、2つの初期化パラメータを設定します。これらのパラメータを使用すると、データベース・インスタンスを停止して再起動してもしなくても、高速リカバリ領域を有効化できます。

まず、DB_RECOVERY_FILE_DEST_SIZEパラメータを使用して高速リカバリ領域のサイズを設定します。次に、DB_RECOVERY_FILE_DESTパラメータを使用してフラッシュ・リカバリ・ファイルの物理的な場所を設定します。

表5-3は、高速リカバリ領域の有効化に必須のパラメータおよびオプションのパラメータを示しています。

Oracle Real Application Clusters(Oracle RAC)データベースでは、すべてのインスタンスでこれらの初期化パラメータの値が同じである必要があります。この場所は、クラスタ・ファイル・システム、ASMまたは共有ディレクトリ上である必要があります。

表5-3 高速リカバリ領域の初期化パラメータ

初期化パラメータ 必須 説明

DB_RECOVERY_FILE_DEST_SIZE

はい

ディスク割当て制限を指定します。ディスク割当て制限は、このデータベースのリカバリ領域で使用されるデータの最大格納量をバイト単位で示したものです。このパラメータは、DB_RECOVERY_FILE_DESTに設定する必要があります。

DB_RECOVERY_FILE_DEST_SIZE設定には、次のディスク・オーバーヘッドは含まれていません。

  • ブロック0、つまり各Oracle Databaseファイルのオペレーティング・システム・ブロック・ヘッダーは含まれません。

    高速リカバリ領域に必要となる実際のディスク使用量を計算する場合は、このデータに対して10%の追加を見込みます。

  • 基礎となるファイル・システムがミラー化または圧縮されている場合、あるいはOracle Databaseでは認識されないオーバーヘッドの影響を受けている場合、DB_RECOVERY_FILE_DEST_SIZEは、ディスクを占有している実際のサイズを示しません。

    たとえば、リカバリ領域が2方向ミラー化ASMディスク・グループ上に存在する場合、xバイトの各ファイルは、ASMディスク・グループの2xバイトを占有します。この場合、DB_RECOVERY_FILE_DEST_SIZEは、ASMディスク・グループのディスクのサイズの半分以下に設定します。同様に、3方向ミラー化ASMディスク・グループを使用する場合、DB_RECOVERY_FILE_DEST_SIZEは、ディスク・グループ内のディスクのサイズの3分1以下にする必要があります。

DB_RECOVERY_FILE_DEST

はい

リカバリ領域の場所を指定します。ファイル・システム上のディレクトリまたはASMディスク・グループを指定することができますが、RAWディスクは指定できません。この場所は、ディスク割当て制限に対応できる十分な大きさである必要があります。

DB_FLASHBACK_RETENTION_TARGET

いいえ

データベースをフラッシュバックできる時点の上限(分)を指定します。このパラメータは、フラッシュバック・データベースでのみ必要です。

このパラメータによって、リカバリ領域で保持されるフラッシュバック・ログ・データのサイズが間接的に決定されます。ただし、データベースによって生成されるフラッシュバック・ログのサイズは、データベース・ワークロードによって大幅に異なる可能性があります。一定期間に行われるデータベース更新によって影響を受けるブロックが増えると、この期間に生成されるフラッシュバック・ログ・データによって使用されるディスク領域も増えます。

関連項目:

5.4.2.1 高速リカバリ領域のサイズを設定する場合の考慮事項

高速リカバリ領域は、大きいほど便利になります。高速リカバリ領域は、制御ファイル、オンラインREDOログ、アーカイブREDOログおよびフラッシュバック・ログを格納するのに十分なサイズであることが理想です。高速リカバリ領域には、データベース内のすべてのデータファイルのコピーおよび選択したバックアップ計画で使用される増分バックアップを格納できる必要があります。

前述のサイズの領域を保持することが難しい場合は、最も重要な表領域のバックアップ、およびテープにまだコピーされていないすべてのアーカイブ・ログを保持できるサイズの領域を作成することをお薦めします。最低限、高速リカバリ領域は、テープにコピーされていないアーカイブREDOログを格納できるサイズにする必要があります。リカバリ領域に新しいフラッシュバック・ログを格納できる十分な領域がなく、リカバリ領域が他のバックアップ保存要件を満たしている場合、そのリカバリ領域では、古いフラッシュバック・ログを削除して領域を確保することができます。

有効な高速リカバリ領域のサイズを判断する方法は、次の状況によって異なります。

  • データベースに、頻繁に変更されるデータ・ブロックが少数含まれているか、多数含まれているか

  • バックアップをディスクにのみ格納するか、ディスクおよびテープに格納するか

  • 冗長性に基づいたバックアップの保存方針を使用するか、リカバリ期間に基づいた保存方針を使用するか

  • 論理エラーに対応する場合のPoint-in-Timeリカバリの代替方法として、フラッシュバック・データベースの使用を計画するか、保証付きリストア・ポイントの使用を計画するか

フラッシュバック・ロギングを有効にする場合、生成されるフラッシュバック・ログのサイズは、生成されるREDOログのサイズと同程度になります。たとえば、DB_FLASHBACK_RETENTION_TARGETを24時間に設定し、1日に20GBのREDOがデータベースで生成される場合は、目安として20から30GBのディスク領域をフラッシュバック・ログに使用できるようにします。フラッシュバック・ロギングが有効になっている場合、同じ目安が保証付きリストア・ポイントに適用されます。たとえば、毎日20GBのREDOがデータベースで生成され、保証付きリストア・ポイントが1日保持される場合は、20GBから30GBのディスク領域を割り当てます。

バックアップの保存方針がREDUNDANCY 1に設定されている場合に高速リカバリ領域のサイズを決定し、永久増分の使用に関してOracle推奨の計画に従うとします。この例では、次の式を使用して、ディスク割当て制限を見積もります。nは、増分更新の間隔(日)です。yは、ロジカル・スタンバイ・データベースでの外部のアーカイブREDOログの適用の遅延です。

Disk Quota =
Size of a copy of database +
Size of an incremental backup +
Size of (n+1) days of archived redo logs +
Size of (y+1) days of foreign archived redo logs (for logical standby) +
Size of control file +
Size of an online redo log member * number of log groups +
Size of flashback logs (based on DB_FLASHBACK_RETENTION_TARGET value)
5.4.2.2 高速リカバリ領域の場所を設定する場合の考慮事項

高速リカバリ領域は、データファイル、制御ファイル、オンラインREDOログなどのアクティブなデータベース・ファイルがデータベースによって保持されているデータベース領域とは別のディスクに配置します。データベース領域と同じディスクに高速リカバリ領域を設定している場合、メディアで障害が発生すると、アクティブなデータベース・ファイルとバックアップの両方を失う可能性があります。

DB_RECOVERY_FILE_DESTは、DB_CREATE_FILE_DEST初期化パラメータまたはDB_CREATE_ONLINE_LOG_DEST_n 初期化パラメータのいずれとも異なる値に設定することをお薦めします。DB_RECOVERY_FILE_DESTがこれらのパラメータと同じ場合は、データベースによってアラート・ログに警告が書き込まれます。

次のいずれかの条件を満たす場合、複数のデータベースでDB_RECOVERY_FILE_DESTに同じ値を指定できます。

  • DB_UNIQUE_NAME初期化パラメータが指定されている2つのデータベースで、DB_UNIQUE_NAMEの値が同じではない。

  • DB_UNIQUE_NAMEが指定されていないデータベースで、2つのデータベースのDB_NAMEの値が同じではない。

このように、複数のデータベースで1つのリカバリ領域を共有する場合、リカバリ領域の場所は、すべてのデータベースのリカバリ・ファイルを保持できるサイズにする必要があります。データベースのDB_RECOVERY_FILE_DEST_SIZEの値を追加し、ミラー化または圧縮などのオーバーヘッドを見込みます。

5.4.2.3 高速リカバリ領域の場所および初期サイズの設定

データベース初期化パラメータを使用して、高速リカバリ領域の場所とサイズを設定します。

表5-3は、高速リカバリ領域を有効にするために設定する必要がある初期化パラメータを示しています。この項では、リカバリ領域の場所の指定方法およびその初期サイズの設定方法について説明します。

高速リカバリ領域の最適なサイズを決定し、リカバリ領域の場所を設定するには、次の手順を実行します。

  1. フラッシュバック・ロギングまたは保証付きリストア・ポイントを使用する場合は、V$ARCHIVED_LOGを問い合せて、DB_FLASHBACK_RETENTION_TARGETに設定する時間にデータベースで生成されるREDOのサイズを決定します。
  2. リカバリ領域のサイズを設定します。

    フラッシュバック・ロギングまたは保証付きリストア・ポイントを使用する場合は、ステップ1で取得したサイズの値が設定に組み込まれていることを確認します。次のいずれかの方法で、DB_RECOVERY_FILE_DEST_SIZE初期化パラメータを設定します。

    • データベースを停止して、データベースの初期化パラメータ・ファイルにDB_RECOVERY_FILE_DEST_SIZEパラメータを設定します。次に例を示します。

      DB_RECOVERY_FILE_DEST_SIZE = 10G
      
    • データベースがオープン状態のときに、SQL文ALTER SYSTEM SETを使用してパラメータを指定します。次に例を示します。

      ALTER SYSTEM SET 
        DB_RECOVERY_FILE_DEST_SIZE = 10G 
        SCOPE=BOTH SID='*';
      

      注意:

      DB_RECOVERY_FILE_DEST_SIZEDB_RECOVERY_FILE_DESTの設定は、データベースの起動および停止を通じて永続的にする必要があります。サーバー・パラメータ・ファイルが使用されている場合は、SCOPE=BOTHのようにすると設定が永続的になります。ただし、サーバー・パラメータ・ファイルが使用されていない場合は、ALTER SYSTEMコマンドで加えられた変更は永続的になりません。また、これらのパラメータを初期化パラメータ・ファイルに追加することもできます。

    • Database Configuration Assistantを使用してサイズを設定します。

  3. リカバリ領域の場所を設定します。

    次のいずれかの方法で、初期化パラメータを設定します。

    • データベースのパラメータ・ファイルにDB_RECOVERY_FILE_DESTを設定します。次に例を示します。

      DB_RECOVERY_FILE_DEST = '/u01/oradata/rcv_area'
      
    • データベースがオープン状態のときに、SQL文ALTER SYSTEM SETを使用してDB_RECOVERY_FILE_DESTを指定します。

      次の例では、disk1という名前の自動ストレージ管理(ASM)ディスク・グループに高速リカバリ領域を設定します。

      ALTER SYSTEM SET
        DB_RECOVERY_FILE_DEST = '+disk1' 
        SCOPE=BOTH SID='*';
      

      次の例では、ファイル・システム・ディレクトリ/disk1/fast_recovery_areaに高速リカバリ領域を設定します。

      ALTER SYSTEM SET 
        DB_RECOVERY_FILE_DEST = '/disk1/fast_recovery_area'
        SCOPE = BOTH SID = '*';
    • Database Configuration Assistantを使用して場所を設定します。

    フラッシュバック・ロギングを使用しない場合は、データベースをオープンし(クローズしている場合)、残りのステップは実行しないでください。

  4. フラッシュバック・ロギングが有効になっている場合は、DB_FLASHBACK_RETENTION_TARGETで指定された期間、通常のワークロードでデータベースを実行します。

    これによって、データベースでフラッシュバック・ログの代表的なサンプルを生成できます。

  5. V$FLASHBACK_DATABASE_LOGビューを次のように問い合せます。
    SELECT ESTIMATED_FLASHBACK_SIZE 
    FROM   V$FLASHBACK_DATABASE_LOG;
    

    フラッシュバック・データベースが有効になっているため、データベース・ワークロードに基づいて、現在のフラッシュバック保存目標を達成するために必要なディスク領域の見積りが結果として表示されます。

  6. 必要に応じて、DB_FLASHBACK_RETENTION_TARGETで指定された期間に生成された実際のフラッシュバック・ログのサイズに基づいて、フラッシュバック・ログ領域要件を調整します。

5.4.3 高速リカバリ領域の無効化

ALTER SYSTEMコマンドを使用して、高速リカバリ領域を無効にすることができます。

フラッシュバック・データベースが有効になっている場合、またはアーカイブ・ログに高速リカバリ領域を使用している場合は、次の中から適切なステップを実行します。それ以外の場合は、ステップ3に進みます。

  1. フラッシュバック・データベースが有効になっている場合は、高速リカバリ領域を無効にする前に無効にします。
    ALTER DATABASE FLASHBACK OFF;
    
  2. アーカイブ・ログに高速リカバリ領域を使用している場合は、初期化パラメータLOG_ARCHIVE_DEST_nを設定し、高速リカバリ領域外の場所を使用します。

    たとえば、LOG_ARCHIVE_DEST_1用の高速リカバリ領域を高速リカバリ領域外の場所に変更するには、ALTER SYSTEM SETコマンドを使用します。

    LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST'
    ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/ORACLE/DBS/';
    
  3. 高速リカバリ領域の初期化パラメータの無効化
    ALTER SYSTEM SET DB_RECOVERY_FILE_DEST=''; 

5.4.4 制御ファイルおよびREDOログの場所の構成

初期化パラメータを使用して、制御ファイルおよびREDOログのデフォルトの場所を構成します。

5.4.4.1 オンラインREDOログの場所の構成

オンラインREDOログ・ファイルが作成される場所を決定する初期化パラメータは、DB_CREATE_ONLINE_LOG_DEST_nDB_RECOVERY_FILE_DESTおよびDB_CREATE_FILE_DESTです。

次のSQL文を使用すると、高速リカバリ領域にオンラインREDOログを作成できます。

高速リカバリ領域に作成されるオンライン・ログのデフォルトのサイズは100MBです。ログ・メンバーのファイル名は、データベースによって自動的に生成されます。

関連項目:

オンラインREDOログの作成での初期化パラメータの組合せによる影響の詳細は、Oracle Database SQL言語リファレンスCREATE DATABASE文のLOGFILE句の説明を参照してください。

5.4.4.2 制御ファイルの場所の構成

初期化パラメータCONTROL_FILESDB_CREATE_ONLINE_LOG_DEST_nDB_RECOVERY_FILE_DESTおよびDB_CREATE_FILE_DESTが相互に作用して、データベース制御ファイルが作成される場所が決まります。

データベースによってOracle管理の制御ファイルが作成され、そのデータベースでサーバー・パラメータ・ファイルが使用されている場合は、そのサーバー・パラメータ・ファイルにCONTROL_FILES初期化パラメータが設定されます。このデータベースでクライアント側の初期化パラメータ・ファイルが使用されている場合は、初期化パラメータ・ファイルにCONTROL_FILES初期化パラメータを手動で設定する必要があります。

関連項目:

これらのパラメータの相互作用の詳細は、Oracle Database SQL言語リファレンスCREATE CONTROLFILEのセマンティクスに関する説明を参照してください。

5.4.4.3 アーカイブREDOログの場所の構成

アーカイブ・ログはデータベースによって自動的に管理されるため、アーカイブの場所として高速リカバリ領域を使用することをお薦めします。

高速リカバリ領域内のアーカイブ・ログに対して生成されるファイル名はOracle Managed Files用のファイル名であり、LOG_ARCHIVE_FORMATでは決定されません。どのアーカイブ・スキームを選択した場合も、常にアーカイブREDOログの複数のコピーを作成することをお薦めします。

次に、アーカイブREDOログ用の基本的なオプションを推奨順に示します。

  1. 高速リカバリ領域に対してのみアーカイブを有効にし、ディスクをミラー化してアーカイブREDOログの保護に必要な冗長性を作成します。

    DB_RECOVERY_FILE_DESTを指定し、LOG_ARCHIVE_DEST_nを指定しない場合は、LOG_ARCHIVE_DEST_10が暗黙的にリカバリ領域に設定されます。LOG_ARCHIVE_DEST_10を空の文字列に設定すると、この動作を無効にできます。

  2. 高速リカバリ領域に対してアーカイブを有効にし、他のLOG_ARCHIVE_DEST_n初期化パラメータを高速リカバリ領域外の場所に設定します。

    高速リカバリ領域が構成されている場合は、LOG_ARCHIVE_DEST_nパラメータをLOCATION=USE_DB_RECOVERY_FILE_DESTに設定すると、高速リカバリ領域をアーカイブ先として追加できます。

  3. 高速リカバリ領域外の場所にのみアーカイブされるように、LOG_ARCHIVE_DEST_n初期化パラメータを設定します。

高速リカバリ領域を使用する場合、LOG_ARCHIVE_DESTおよびLOG_ARCHIVE_DUPLEX_DEST初期化パラメータは使用できません。これらのパラメータを使用すると、インスタンスを開始できなくなります。かわりに、LOG_ARCHIVE_DEST_nパラメータを設定します。データベースでLOG_ARCHIVE_DEST_nが使用されている場合は、リカバリ領域を構成できます。

また、アーカイブを有効にしており、LOG_ARCHIVE_DESTLOG_ARCHIVE_DEST_nまたはDB_RECOVERY_FILE_DESTのいずれの値も設定していない場合、REDOログはプラットフォーム固有のデフォルトの場所にアーカイブされることにも注意してください。たとえば、Solarisでのデフォルトの場所は?/dbsです。

関連項目:

LOG_ARCHIVE_DEST_nパラメータのセマンティクスの詳細は、Oracle Databaseリファレンスを参照してください。

5.4.5 高速リカバリ領域内でのRMANによるファイル作成の構成

特定のRMANコマンドまたは暗黙的な処理(制御ファイルの自動バックアップなど)によって、高速リカバリ領域にファイルを作成できます。

この項では、コマンドによって高速リカバリ領域または別の場所のいずれかにファイルを作成するかどうかを制御する方法について説明します。コマンドは次のとおりです。

  • BACKUP

    ディスク・バックアップの目的でFORMAT句を指定していない場合、RMANは、Oracle Managed Files (OMF)の形式の名前が付いたバックアップ・ピースおよびイメージ・コピーを高速リカバリ領域に作成します。高速リカバリ領域が有効になっていて、BACKUPまたはチャネルでFORMAT指定している場合、RMANは、リカバリ領域ではなくプラットフォーム固有の場所にバックアップを作成します。

  • 制御ファイルの自動バックアップ

    RMANは、制御ファイルの自動バックアップを高速リカバリ領域に作成できます。RMANコマンドCONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEARを使用すると、ディスク上での制御ファイルの自動バックアップ場所を指定したすべての構成済書式オプションをクリアできます。他の格納場所が構成されていない場合、RMANは高速リカバリ領域に制御ファイルの自動バックアップを作成します。

  • RESTORE ARCHIVELOG

    LOG_ARCHIVE_DEST_nパラメータをLOCATION=USE_DB_RECOVERY_FILE_DESTに明示的または暗黙的に設定します。SET ARCHIVELOG DESTINATIONを指定してこの動作を無効にしない場合、RMANはアーカイブREDOログ・ファイルを高速リカバリ領域にリストアします。

  • RECOVER DATABASEまたはRECOVER TABLESPACERECOVER ... BLOCK、およびFLASHBACK DATABASE

    これらのコマンドを使用すると、コマンドからの要求に応じて、メディア・リカバリ中に使用されるアーカイブREDOログ・ファイルをバックアップからリストアできます。RMANは、これらの操作中に必要なすべてのREDOログ・ファイルを高速リカバリ領域にリストアし、メディア・リカバリ中に適用した後で削除します。

    リストアされたアーカイブ・ログを高速リカバリ領域に格納するには、LOG_ARCHIVE_DEST_nパラメータのいずれかをLOCATION = USE_DB_RECOVERY_FILE_DESTに設定します。リストアされたログを他の場所に格納するためのSET ARCHIVELOG DESTINATIONを使用していないことを確認してください。

5.5 バックアップの保存方針の構成

バックアップの保存方針では、データ・リカバリの要件を満たすために保存する必要のあるバックアップを指定します。

この保存方針は、リカバリ期間または冗長性のいずれに基づいていてもかまいません。保存方針を指定するには、CONFIGURE RETENTION POLICYコマンドを使用します。

この項では、次の項目について説明します。

関連項目:

5.5.1 冗長性に基づく保存方針の構成

CONFIGURE RETENTION POLICYコマンドのREDUNDANCYパラメータでは、RMANが保持する各データファイルおよび制御ファイルの全体またはレベル0のバックアップの数を指定します。デフォルトの保存方針は、REDUNDANCY 1です。

特定のデータファイルまたは制御ファイルの全体またはレベル0のバックアップの数がREDUNDANCYの設定を超えると、RMANは余分なバックアップを不要とみなします。作成するバックアップが増えるに従い、RMANは保存するバックアップおよび不要なバックアップを記録します。RMANは、不要でないバックアップのリカバリに必要なすべてのアーカイブ・ログおよび増分バックアップを保持します。

月曜日、火曜日、水曜日および木曜日にデータファイル7の全体バックアップを作成するとします。このデータファイルの全体バックアップは4つになります。REDUNDANCY2の場合、月曜日と火曜日のバックアップは不要になります。金曜日にもう1つのバックアップを作成すると、データファイル7の水曜日のバックアップが不要となります。

REDUNDANCY1であるという別の場合を想定します。月曜日の正午にレベル0のデータベース・バックアップを実行し、火曜日と水曜日の正午にレベル1の累積バックアップを、木曜日の正午にレベル0のバックアップを実行します。それぞれの日次バックアップの直後にDELETE OBSOLETEコマンドを実行します。水曜日にDELETEコマンドを実行しても、火曜日のレベル1のバックアップは冗長でないため、削除されません。火曜日のレベル1のバックアップは、火曜日の正午から水曜日の正午までの時点に月曜日のレベル0のバックアップをリカバリするために使用できます。ただし、木曜日のDELETEコマンドでは、以前のレベル0およびレベル1のバックアップが削除されます。

次の例のように、RMANプロンプトでCONFIGURE RETENTION POLICYコマンドを実行します。

CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

5.5.2 リカバリ期間に基づく保存方針の構成

CONFIGUREコマンドのRECOVERY WINDOWパラメータでは、現時点と最初のリカバリ可能ポイント間の日数を指定します。

Recovery Managerは、全体バックアップまたはレベル0の増分バックアップがリカバリ期間内にある場合はいずれのバックアップも不要とみなしません。また、Recovery Managerは、リカバリ期間内のランダムな時点までリカバリする必要があるすべてのアーカイブ・ログおよびレベル1増分バックアップを保持します。RMANプロンプトでCONFIGURE RETENTION POLICYコマンドを使用して、リカバリ期間に基づく保存方針を構成します。

次の例は、先週の任意の時点までデータベースをリカバリできるようにします。

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

RMANは、リカバリ期間によって不要とみなされたバックアップを自動的には削除しません。かわりに、RMANは、REPORT OBSOLETEの出力やV$BACKUP_FILESOBSOLETE列に、それらをOBSOLETEとして表示します。DELETE OBSOLETEコマンドを実行すると、RMANは不要なファイルを削除します。

5.5.3 保存方針の無効化

保存方針を無効にすると、RMANはすべてのバックアップを必要とみなします。

保存方針を無効にするには、次のコマンドを実行します。

CONFIGURE RETENTION POLICY TO NONE;

保存方針をNONEに構成することは、保存方針を消去することとは異なります。消去すると、デフォルトのREDUNDANCY 1の設定に戻りますが、NONEでは完全に無効になります。

保存方針を無効にし、保存方針オプションをコマンドに渡さずにREPORT OBSOLETEまたはDELETE OBSOLETEを実行すると、不要なバックアップを判断する保存方針が存在しないため、RMANはエラーを発行します。

注意:

高速リカバリ領域を使用している場合は、保存方針が無効になっている状態でデータベースを実行しないでください。ファイルが不要とみなされないと、ファイルを高速リカバリ領域から削除できるのは、そのファイルが他のディスクの場所またはテープなどの3次ストレージ・デバイスにバックアップされた場合のみになります。このアクションによって、リカバリ領域内のすべての領域が使用され、データベースの通常の操作に影響を及ぼす可能性があります。「Oracleによる高速リカバリ領域でのディスク領域の管理方法」を参照してください。

5.6 バックアップの最適化およびCONFIGUREコマンド

RMANのCONFIGUREコマンドを実行して、バックアップの最適化の有効と無効を切り替えます。バックアップを最適化すると、同じファイルまたは同じバージョンのファイルがバックアップされている場合などの特定の状況においてファイルのバックアップがスキップされます。

この項では、次の項目について説明します。

5.6.1 バックアップの最適化の概要

バックアップの最適化が有効になっている場合、指定したデバイス・タイプに同一のファイルがバックアップされていると、BACKUPコマンドはファイルのバックアップをスキップします。

表5-4に、すでにバックアップされているファイルと同一かどうかを判断するためにRMANで使用される基準を示します。

表5-4 同一ファイルかどうかを判断する基準

ファイルのタイプ 同一ファイルかどうかを判断する基準

データファイル

すでにバックアップに含まれているデータファイルと同じDBIDチェックポイントSCN、作成SCN、およびRESETLOGSのSCNと時刻。データファイルは、NORMALモードでオフラインにされているか、読取り専用か、または正常にクローズされている必要があります。

アーカイブ・ログ

同じDBID、スレッド、順序番号、およびRESETLOGSのSCNと時刻

バックアップ・セット

同じDBID、バックアップ・セット・レコードIDおよびスタンプ

ファイルが同一でありバックアップされているとRMANが判断した場合、そのファイルはスキップ対象になります。 ただし、RMANは、ファイルをスキップするかどうかについて、さらに詳細な確認を行う必要があります。これは、RMANが指定されたデバイス・タイプに十分なバックアップを保持しているかどうかを判断するアルゴリズムに、保存方針とバックアップ多重化機能の両方の要素があるためです。

Recovery Managerは、次の条件を満たしている場合にバックアップの最適化を使用します。

  • CONFIGURE BACKUP OPTIMIZATION ONコマンドを実行し、バックアップの最適化を有効にしている。

  • BACKUP DATABASEALLまたはLIKEオプションを指定したBACKUP ARCHIVELOGBACKUP BACKUPSET ALLBACKUP RECOVERY AREABACKUP RECOVERY FILESあるいはBACKUP DATAFILECOPYを実行する。

    注意:

    BACKUP RECOVERY AREAまたはBACKUP RECOVERY FILESと組み合せてTO DESTINATIONを使用すると、RMANは、指定したTO DESTINATIONの場所に同じバックアップを持つファイルのバックアップのみをスキップします。

  • 1つのタイプのチャネルのみを割り当てている(1つのBACKUPコマンドでディスクとSBTチャネルを併用していない)。

注意:

UNDOのバックアップの最適化では、RMANは、すでにコミットされているトランザクションの(バックアップのリカバリに不要となった)UNDOの変更を除外します。バックアップの最適化を有効または無効にすることができますが、UNDOのバックアップの最適化は組込み動作です。

たとえば、バックアップの最適化を構成したと想定します。これらのコマンドは、データベース、すべてのアーカイブ・ログおよびすべてのバックアップ・セットをテープにバックアップします。

BACKUP DEVICE TYPE sbt DATABASE PLUS ARCHIVELOG;
BACKUP DEVICE TYPE sbt BACKUPSET ALL;

バックアップされたすべてのファイルが最後のバックアップ以降に変更されていない場合、RMANはこれらのファイルを再度バックアップしません。また、RMANは、ファイルがすでにバックアップされているため、コマンドで指定されたすべてのファイルをスキップする場合、エラーを通知しません。

BACKUPコマンドにFORCEオプションを指定すると、いつでも最適化を無効にできます。たとえば、次のコマンドを実行します。

BACKUP DATABASE FORCE;
BACKUP ARCHIVELOG ALL FORCE;

関連項目:

バックアップの最適化の規則の詳細は、Oracle Databaseバックアップおよびリカバリ・リファレンスCONFIGUREのエントリを参照してください。

5.6.2 SBTバックアップのバックアップの最適化への保存方針の影響

バックアップの最適化は、SBTデバイスへのバックアップ時に常に適用されるわけではありません。

リカバリ期間および冗長性に基づく保存方針の通常のバックアップの最適化の動作の例外については、以降の項を参照してください。

注意:

メディア・マネージャで独自の内部期限切れ方針を使用している場合、バックアップの最適化を有効にするには、注意が必要です。定期的にCROSSCHECKコマンドを実行して、RMANリポジトリをメディア・マネージャと同期化してください。同期化を実行しないと、RMANは、テープ上に格納されたバックアップがメディア・マネージャによって廃棄されたことを認識できず、最適化によってバックアップをスキップする場合があります。

5.6.2.1 リカバリ期間に基づく保存方針によるSBTバックアップのバックアップの最適化について

バックアップの最適化が有効になっていて、リカバリ期間に基づくバックアップの保存方針が構成されているとします。この場合、SBTバックアップを実行すると、RMANは、最新のバックアップがリカバリ期間の前に作成されているデータファイルを常にバックアップします。

たとえば、次の例を想定します。

  • 現在の日付は2月21日です。

  • リカバリ期間は7日です。

  • 表領域toolsのテープへの最新のバックアップは1月3日に作成されています。

  • 表領域toolsは読取り専用です。

2月21日に、表領域toolsをテープにバックアップするコマンドを発行します。この表領域は読取り専用であるため、1月3日のバックアップ以降も変更されていませんが、RMANはバックアップを実行します。これは、7日間のリカバリ期間内にこの表領域のバックアップが存在しないためです。

この動作によって、メディア・マネージャは古いテープを期限切れにすることができます。この動作が行われない場合、メディア・マネージャは、表領域TOOLSの1月3日のバックアップを無期限に保持し続けることになります。2月21日に表領域toolsのより新しいバックアップを作成することによって、メディア・マネージャは、1月3日のバックアップを含むテープを期限切れとして処理できます。

5.6.2.2 冗長性に基づく保存方針によるSBTバックアップのバックアップの最適化について

冗長性に基づく保存方針を構成するとします。この場合、RMANは、SBTへのオフラインまたは読取り専用のデータファイルのバックアップがr + 1個存在する場合にのみ、これらのファイルのバックアップをスキップします。ここで、rCONFIGURE RETENTION POLICY TO REDUNDANCY rで設定された値です。

たとえば、バックアップの最適化を有効にして、次の保存方針を設定するとします。

CONFIGURE DEFAULT DEVICE TYPE TO sbt;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

この例では、RMANは、3つの同一のファイルがバックアップされている場合にのみ、バックアップをスキップします。ここで、これまでにバックアップしたことのない読取り/書込み表領域usersに対して、1週間の間に表5-5に示す処理を実行するとします。

表5-5 バックアップの最適化への冗長性設定の影響

曜日 処理 結果 冗長バックアップ

月曜日

usersをNORMALモードでオフラインにします。

   

火曜日

BACKUP DATABASE

users表領域がバックアップされます。

 

水曜日

BACKUP DATABASE

users表領域がバックアップされます。

 

木曜日

BACKUP DATABASE

users表領域がバックアップされます。

火曜日のバックアップ

金曜日

BACKUP DATABASE

users表領域はバックアップされません

火曜日のバックアップ

土曜日

BACKUP DATABASE

users表領域はバックアップされません

火曜日のバックアップ

日曜日

DELETE OBSOLETE

火曜日のバックアップが削除されます。

 

月曜日

BACKUP DATABASE

users表領域がバックアップされます。

水曜日のバックアップ

火曜日、水曜日および木曜日のバックアップによって、オフライン表領域usersがバックアップされ、3つ(冗長性設定+ 1)のバックアップが存在する必要があるという条件を満たします。金曜日および土曜日のバックアップでは、バックアップの最適化のため、users表領域のバックアップは行われません。usersの火曜日のバックアップは、木曜日以降に不要となります。

日曜日にすべての不要なバックアップを削除すると、usersの火曜日のバックアップも削除されます。火曜日のバックアップは、保存方針設定によって不要となります。月曜日のデータベース全体のバックアップによって、users表領域がバックアップされ、3つ(冗長性設定+ 1)のバックアップが存在する必要があるという条件を満たします。この方法で、時間の経過とともにテープを再利用できます。

5.6.3 バックアップの最適化の構成

デフォルトでは、バックアップの最適化はOFFに構成されています。SHOW BACKUP OPTIMIZATIONコマンドを使用すると、バックアップの最適化の現行の設定を表示できます。

バックアップの最適化を構成する手順

  1. RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。
  2. SHOW BACKUP OPTIMIZATIONコマンドを実行して、最適化が現在有効になっているかどうかを確認します。

    たとえば、次のコマンドを入力します。

    SHOW BACKUP OPTIMIZATION;
    

    SHOW BACKUP OPTIMIZATIONの出力例を次に示します。

    RMAN configuration parameters for database with db_unique_name PROD1 are:
    CONFIGURE BACKUP OPTIMIZATION OFF;
    
  3. 次のコマンドを実行して、バックアップの最適化を有効にします。
    CONFIGURE BACKUP OPTIMIZATION ON;

関連項目:

RMANバックアップを最適化する方法の例は、「バックアップの最適化を使用したファイルのスキップ」を参照してください。

5.7 アーカイブREDOログの削除方針の構成

RMANを使用すると、アーカイブREDOログがディスクからの削除対象となる場合を制御する永続的な構成を作成できます。

この項では、次の項目について説明します。

5.7.1 アーカイブREDOログの削除方針

CONFIGURE ARCHIVELOG DELETION POLICYコマンドを使用すると、アーカイブREDOログが削除対象になる場合を指定できます。

この削除方針は、高速リカバリ領域を含むすべてのアーカイブ先に適用されます。

アーカイブREDOログは、データベースによって自動的に削除されるか、またはユーザーが実行したRMANコマンドによって削除されます。高速リカバリ領域内のログのみが、データベースによって自動的に削除されます。高速リカバリ領域内のアーカイブREDOログ・ファイルの場合は、データベースによってできるかぎり保存され、追加のディスク領域が必要になると対象となるログが削除されます。高速リカバリ領域の内部にあるか外部にあるかに関係なく、BACKUP ... DELETE INPUTまたはDELETE ARCHIVELOGコマンドを発行すると、どの場所からも対象のログを手動で削除できます。

5.7.1.1 アーカイブREDOログの削除方針が無効になっている場合

デフォルトでは、アーカイブREDOログの削除方針はありません。そのためアーカイブREDOログの方針はNONE句に設定されています。

この特定の場合、高速リカバリ領域は、ディスクまたはSBTに1回以上バックアップされているとき、またはバックアップ保存方針に従ってログが不要になったときに、リカバリ領域内のアーカイブREDOログ・ファイルを削除対象であるとみなします。バックアップ保存方針では、ログは保証付きリストア・ポイントで不要である場合およびOracle Flashback Databaseで不要である場合にのみ不要とみなされます。アーカイブREDOログは、ログがSYSDATE-'DB_FLASHBACK_RETENTION_TARGET'より後に作成された場合にフラッシュバック・データベースで必要とされます。

関連項目:

5.7.1.2 アーカイブREDOログの削除方針が有効になっている場合

CONFIGURE ARCHIVELOG DELETION POLICY BACKED UP integer TIMES TO DEVICE TYPEコマンドを使用すると、アーカイブ・ログの削除方針を有効化できます。この構成では、指定した数のアーカイブ・ログのバックアップが指定したデバイス・タイプに存在する場合にのみアーカイブ・ログが削除対象になるように指定されます。

削除方針がBACKED UP integer TIMES句で構成されている場合、指定したデバイス・タイプ上にinteger個のバックアップが存在していないかぎり、BACKUP ARCHIVELOGコマンドはログをコピーします。ログのinteger個のバックアップが存在している場合、BACKUP ARCHIVELOGコマンドはログをスキップします。このように、アーカイブ・ログの削除方針は、BACKUP ARCHIVELOGコマンドのデフォルトのNOT BACKED UP integer TIMES句として機能します。BACKUPコマンドにFORCEオプションを指定すると、削除方針を無効にできます。

アーカイブ・ログの削除方針には、Data Guard環境固有のオプションもあります。たとえば、APPLIED ON STANDBY句を指定すると、RMANは、すべての必須のリモート転送先でログが適用された後、ログを削除します。SHIPPED TO STANDBYを指定すると、RMANは、すべての必須のスタンバイ転送先にログが転送された後、ログを削除します。

関連項目:

5.7.2 アーカイブREDOログの削除方針の有効化

デフォルトでは、アーカイブREDOログの削除方針はNONEに設定されています。

アーカイブREDOログの削除方針を有効にする手順

  1. RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。
  2. 必要なオプションを指定して、CONFIGURE ARCHIVELOG DELETION POLICYコマンドを実行します。

    次の例では、アーカイブREDOログが2回以上テープにバックアップされた場合、アーカイブREDOログが高速リカバリ領域およびすべてのローカルのアーカイブ先からの削除の対象となるように指定しています。

    CONFIGURE ARCHIVELOG DELETION POLICY
      TO BACKED UP 2 TIMES TO SBT;

関連項目:

5.8 Data Guard環境でのRMANの構成

Data Guard環境でRMANを使用する場合、CONFIGUREコマンドを使用すると、この環境での物理データベースの設定の登録および構成を行うことができます。

RMANは、DB_UNIQUE_NAME初期化パラメータを使用して、データベースを別のデータベースと区別します。したがって、Data Guard環境でDB_UNIQUE_NAMEの一意性を維持することが重要です。

Data Guard環境内のデータベースに構成を作成または変更する場合、RMANはリカバリ・カタログに接続している必要があります。SET DBIDコマンドを使用して、RMANセッションでDBIDを設定する場合は、Data Guard環境でRMANがTARGETとしてデータベースに接続されていなくても、スタンバイ・データベースを構成できます。この場合は、作成されていないスタンバイ・データベースに構成を作成することもできます。

次の形式のCONFIGUREコマンドを使用できます。

  • CONFIGURE DB_UNIQUE_NAMEを使用すると、フィジカル・スタンバイ・データベースへの接続が定義され、新しいデータベースが暗黙的に登録されます。

    RMANがTARGETとして初めてスタンバイ・データベースに接続する場合は、新しいスタンバイ・データベースも自動的に登録されます。

  • CONFIGURE FOR DB_UNIQUE_NAMEを使用すると、Data Guard環境でのデータベースの設定が構成されます。

    たとえば、環境内の指定したデータベースまたはすべてのデータベースに対して、チャネルやデフォルトのデバイスなどを構成できます。SHOW ALL FOR DB_UNIQUE_NAMEを使用すると、特定のスタンバイ・データベースの構成を表示でき、SHOW ALL FOR DB_UNIQUE_NAME ALLを使用すると、認識されるすべてのデータベースの構成を表示できます。

Data Guard環境には、Data Guardにのみ関連する多くの考慮事項があります。たとえば、アーカイブ・ログがスタンバイ・データベースに転送されたか、適用されたかに基づいて、アーカイブREDOログの削除方針を構成できます。

関連項目: