プライマリ・コンテンツに移動
Oracle® Databaseバックアップおよびリカバリ・ユーザーズ・ガイド
12c リリース1 (12.1)
B71297-08
目次へ移動
目次
索引へ移動
索引

前
次

6 RMAN環境の構成: 高度なトピック

この章では、設定および構成作業を実行する方法について説明します。この章の内容は次のとおりです。

高度なチャネル・オプションの構成

「チャネルの構成」ではチャネルの構成の基本が説明されていますが、この項では、より高度なチャネルのトピックについて説明します。この項の内容は、次のとおりです。

関連項目:

チャネルの構成および割当ての概要については「RMANチャネルについて」CONFIGURE構文については『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください

チャネル制御オプション

チャネルを手動で割り当てる場合も自動チャネル割当てを使用する場合も、チャネル・コマンドおよびオプションを使用して、チャネルの動作を制御できます。表6-1に、チャネルの動作を制御する方法の概要を示します。特に明記されていないかぎり、CONFIGURE CHANNELALLOCATE CHANNELコマンドの両方ですべてのチャネル・パラメータがサポートされています。

表6-1 チャネル制御オプション

チャネル制御のタイプ コマンド

I/O帯域幅消費に対する制限

バックアップの制限メカニズムとして機能するRATEチャネル・パラメータを使用します。

バックアップ・セットおよびバックアップ・ピースに対する制限

MAXPIECESIZEチャネル・パラメータを使用して、バックアップ・ピースのサイズに制限を設定します。また、BACKUPおよびCONFIGUREコマンドでMAXSETSIZEパラメータを使用して、バックアップ・セットのサイズの制限を設定することもできます。

ベンダー固有の手順

PARMSチャネル・パラメータを使用して、メディア管理ソフトウェアに関するベンダー固有の情報を指定します。SENDコマンドを使用して、ベンダー固有のコマンドをメディア・マネージャに送信することもできます。

チャネルのパラレル化によるバックアップおよびリストア操作

CONFIGURE DEVICE TYPE ... PARALLELISMを使用して永続的にチャネルをパラレル化するか、または複数のALLOCATE CHANNELコマンドを使用してジョブ・レベルでパラレル化します。

データベース・インスタンスの接続設定

CONNECTチャネル・パラメータを使用して、操作を実行するインスタンスを指定します。

関連項目:

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

固有のチャネル・パラメータの構成

特定のタイプのすべてのチャネルに適用されるパラメータの構成に加えて、特定のチャネルに適用されるパラメータを構成することもできます。特定のチャネルを構成するには、CONFIGURE CHANNEL n(nは255未満の正の整数)コマンドを実行します。

チャネルに手動で番号を割り当てる場合、チャネルごとに1つ以上のチャネル・オプション(たとえば、MAXPIECESIZEFORMAT)を指定する必要があります。番号を割り当てた特定のチャネルをバックアップで使用する場合、そのチャネルに構成した設定が構成済の汎用チャネル設定のかわりに使用されます。

各チャネルに設定されたパラメータを個別に制御する必要がある場合は、固有のチャネルを番号ごとに構成します。この方法は、次のような場合に実行する必要があります。

  • 個々のノードがバックアップの完全なセットにアクセスできないOracle Real Application Clusters(Oracle RAC)構成を実行している場合。すべてのバックアップに1つ以上のチャネルでアクセスできるように、ノード固有の接続文字列を使用して各チャネルを構成する必要があります。

  • 各チャネルで異なるPARMS設定が必要なメディア・マネージャを使用している場合。

関連項目:

Oracle RAC環境でのRMANバックアップについては、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。

固有のチャネルの構成の例

次の例では、ディスク・バックアップを2つの異なるディスクに送信します。ディスク・チャネルを次のように構成します。

CONFIGURE DEFAULT DEVICE TYPE TO disk;        # backup goes to disk
CONFIGURE DEVICE TYPE disk PARALLELISM 2;     # two channels used in parallel
CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/disk1/%U' # 1st channel to disk1 
CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT '/disk2/%U' # 2nd channel to disk2
BACKUP DATABASE; # backup - first channel goes to disk1 and second to disk2

例6-1では、パラレル・データベース・バックアップを作成するためのチャネルを構成します。2つのテープ・ドライブがあり、各テープ・ドライブで異なるテープ・メディア・ファミリのテープを使用します。バックアップ・データは2つのテープ・デバイス間で分割されます。構成済の各チャネルは、データの合計の約半分ずつをバックアップします。

例6-1 テープ・デバイスのチャネルのパラレル化の構成

CONFIGURE DEFAULT DEVICE TYPE TO sbt;    # backup goes to sbt
CONFIGURE DEVICE TYPE sbt PARALLELISM 2; # two sbt channels allocated by default
# Configure channel 1 to pool named first_pool
CONFIGURE CHANNEL 1 DEVICE TYPE sbt 
  PARMS 'ENV=(OB_MEDIA_FAMILY=first_pool)'; 
# configure channel 2 to pool named second_pool
CONFIGURE CHANNEL 2 DEVICE TYPE sbt 
  PARMS 'ENV=(OB_MEDIA_FAMILY=second_pool)'; 
BACKUP DATABASE; # first stream goes to 'first_pool' and second to 'second_pool'

CONFIGURE CHANNELとパラレル化設定の関係

PARALLELISM設定は、固有に構成したチャネルの数に制約を受けません。たとえば、20の異なるテープ・デバイスにバックアップを実行する場合、20の異なるSBTチャネルを構成できます。各チャネルには、手動で番号(1から20まで)を割り当て、個別の一連のチャネル・オプションを設定します。このような場合、PARALLELISMにデバイス数(この例では20)以下の任意の値を設定できます。

パラレル・チャネルには、常に、RMANによって1から順にPARALLELISM設定の値までの番号が付けられます。たとえば、デフォルト・デバイスがSBTで、パラレル化が3に設定されている場合、チャネルの名前は次のようになります。

ORA_SBT_TAPE_1
ORA_SBT_TAPE_2
ORA_SBT_TAPE_3

DEVICE TYPE sbt(シノニムsbt_tapeではない)を構成した場合でも、RMANでは常にORA_SBT_TAPE_nという名前が使用されます。また、チャネルを個別に構成した場合はそのチャネルを使用し、構成していない場合は汎用チャネルを使用して、常に、PARALLELISMに指定したチャネルの番号が割り当てられます。パラレル化設定より大きい数で特定のチャネルを構成した場合、この設定は、RMANによるチャネルの使用を防止します。

関連項目:

チャネルの詳細は、「RMANチャネルについて」を参照してください

高度なバックアップ・オプションの構成

バックアップを作成するようにRMANを構成する方法の基本については、「RMANバックアップの環境の構成について」を参照してください。この項では、より高度な構成オプションについて説明します。この項の内容は、次のとおりです。

バックアップ・セットの最大サイズの構成

テープ・バックアップでは、複数のテープにまたがって多重バックアップ・セットを使用できます。つまり、バックアップ・セットの各データファイルにあるブロックは、複数のテープに書き込まれます。マルチボリュームのバックアップ・セットのいずれかのテープで障害が発生すると、1つのテープのみでなく、すべてのテープ上のデータが失われます。バックアップがマルチセクション・バックアップでない場合、バックアップ・セットには、データファイルの一部ではなくデータファイル全体が常に含まれます。MAXSETSIZEを使用すると、各バックアップ・セットが複数のテープにまたがるのではなく、1つのテープに収まるように指定できます。

CONFIGURE MAXSETSIZEコマンドラインでは、チャネルに作成されるバックアップ・セットのサイズを制限します。このCONFIGURE設定は、チャネルが手動割当てによるものか、構成済のものであるかにかかわらず、BACKUPコマンドを使用してバックアップ・セットを作成するときに任意のチャネルに適用されます。デフォルト値はバイト単位で指定されており、最小KB値に切り捨てられます。

CONFIGURE MAXSETSIZEコマンドで設定した値は、指定したチャネルのデフォルトになります。構成済のMAXSETSIZE値は、個別のBACKUPコマンドにMAXSETSIZEオプションを指定して上書きできます。

RMANプロンプトで次のコマンドを発行するとします。

CONFIGURE DEFAULT DEVICE TYPE TO sbt;
CONFIGURE CHANNEL DEVICE TYPE sbt PARMS 'ENV=(OB_MEDIA_FAMILY=first_pool)'; 
CONFIGURE MAXSETSIZE TO 7500K;
BACKUP TABLESPACE users;
BACKUP TABLESPACE tools MAXSETSIZE 5G;

結果は次のとおりです。

  • users表領域のバックアップには、構成済チャネルSBTおよび構成済のMAXSETSIZEのデフォルト設定である7500Kが使用されます。

  • tools表領域のバックアップには、BACKUPコマンドで指定したMAXSETSIZEの設定値5Gが使用されます。

関連項目:

バックアップ・ピースの最大サイズの構成

バックアップ・ピースのサイズがファイル・システムまたはメディア管理ソフトウェアで許容される最大ファイル・サイズを超えると、問題が発生します。CONFIGURE CHANNELまたはALLOCATE CHANNELコマンドのMAXPIECESIZEパラメータを使用すると、バックアップ・ピースのサイズを制限できます。

たとえば、バックアップ・ピースのサイズを2GB以下に制限するには、自動DISKチャネルを次のように構成して、BACKUP DATABASEを実行します。

CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2G;
BACKUP DATABASE;

注意:

バージョン2.0のMedia Management APIでは、メディア・マネージャに書込み可能なバックアップ・ピースの最大サイズを指定できるのはメディア管理ベンダーです。RMANは、MAXPIECESIZEに構成する設定に関係なく、この制限を優先します。

関連項目:

CONFIGURE CHANNEL ... MAXPIECESIZEコマンドの詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。

バックアップの多重化の構成

CONFIGURE ... BACKUP COPIESコマンドを使用して、指定したタイプのファイルについて、指定したデバイス・タイプ上に各バックアップ・ピースのコピーをいくつ作成するかを指定できます。このタイプのバックアップは、多重バックアップ・セットと呼ばれます。多重化を行うためのCONFIGURE設定は、バックアップ・セットへのデータファイル、制御ファイルおよびアーカイブ・ログのバックアップにのみ影響し、イメージ・コピーには影響しません。

注意:

制御ファイルの自動バックアップは、多重化されません

RMANでは、ディスクまたはテープにバックアップを多重化できますが、テープとディスクにバックアップを同時に多重化することはできません。テープへのバックアップ時に、コピーの数が、使用可能なテープ・デバイスの数を超えないようにしてください。多重化の構成の例を次に示します。

# Makes 2 disk copies of each data file and control file backup set
# (autobackups excluded)
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 2;
# Makes 3 copies of every archived redo log backup to tape
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE sbt TO 3;

BACKUP COPIES構成をデフォルト値に戻すには、同じCONFIGUREコマンドにCLEARオプションを指定して実行します。次に例を示します。

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE sbt CLEAR;

デフォルトでは、各デバイス・タイプのCONFIGURE ... BACKUP COPIES1に設定されています。

注意:

永続的なコピーの構成を作成しない場合は、BACKUP COPIESおよびSET BACKUP COPIESコマンドを使用してコピーを指定できます。

関連項目:

  • バックアップの多重化の概要は、「RMANを使用したバックアップの複数のコピーについて」を参照してください

  • 多重バックアップの作成方法については、「バックアップ・セットの多重化」を参照してください。

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

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

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

データベース全体のバックアップから除外する表領域の構成

場合によっては、指定した表領域を定期的なバックアップ・スケジュールから除外できます。考えられるいくつかの例を次に示します。

  • 表領域の再構築が簡単であるため、毎日バックアップするより再構築した方がコスト効率がよい場合。

  • 表領域に、バックアップする必要がない一時データまたはテスト・データが含まれている場合。

  • 表領域が頻繁に変更されないため、他のバックアップとは別のスケジュールでバックアップする必要がある場合。

CONFIGURE EXCLUDE FOR TABLESPACEを実行して、指定した表領域をBACKUP DATABASEコマンドから除外できます。除外条件は、今後この表領域に追加するすべてのデータファイルに適用されます。

たとえば、テスト表領域cwmliteおよびexampleをデータベース全体のバックアップから除外するには、次のコマンドを実行します。

CONFIGURE EXCLUDE FOR TABLESPACE cwmlite;
CONFIGURE EXCLUDE FOR TABLESPACE example;

次のコマンドを実行すると、cwmliteおよびexample以外のデータベース内のすべての表領域がバックアップされます。

BACKUP DATABASE;

除外されるように構成した表領域は、BACKUPコマンドでそれらの表領域を明示的に指定するか、またはBACKUP DATABASEコマンドでNOEXCLUDEオプションを指定して、バックアップすることができます。たとえば、次のコマンドのいずれかを入力します。

BACKUP DATABASE NOEXCLUDE; #backs up database, including cwmlite and example
BACKUP TABLESPACE cwmlite, example;  # backs up only cwmlite and example

cwmliteおよびexampleに対する除外機能を無効にするには、次のコマンドを実行します。

CONFIGURE EXCLUDE FOR TABLESPACE cwmlite CLEAR;
CONFIGURE EXCLUDE FOR TABLESPACE example CLEAR;

これらの表領域は、これ以降に実行されるデータベース全体のバックアップでバックアップされます。

関連項目:

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

圧縮オプションの構成

RMANでは、バックアップ・セットの圧縮前の処理およびバイナリ圧縮がサポートされています。CONFIGURE COMPRESSION ALGORITHMコマンドを使用すると、圧縮オプションを構成できます。

次の各項には、圧縮に関する追加情報が含まれています。

RMANの圧縮前のブロック処理について

各データ・ブロックの空き領域を統合し、その空き領域をバイナリのゼロに設定することによって、より高いバックアップ圧縮率を得ることができます。この圧縮前の処理段階は、削除や挿入操作が多いデータ・ブロックで最もメリットがあります。逆に、初期のロード状態を保っているデータ・ブロックには影響がありません。

OPTIMIZE FOR LOADオプションは、圧縮前の処理を制御します。デフォルトのOPTIMIZE FOR LOAD TRUEを指定すると、RMANでCPU使用率が最適化され、圧縮前のブロック処理が防止されます。OPTIMIZE FOR LOAD FALSEを指定すると、RMANで追加のCPUリソースを使用して圧縮前のブロック処理が実行されます。

関連項目:

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

RMANのサポートされている圧縮レベルについて

Oracle Databaseでは、デフォルトの圧縮アルゴリズムとOracle Advanced Compressionオプションで使用可能な圧縮アルゴリズムのグループといった、2つの圧縮アルゴリズムのカテゴリが提供されています。デフォルトのアルゴリズムはOracle Databaseの標準機能ですが、Oracle Advanced Compressionオプションは別途購入するオプションです。

RMANのデフォルトの圧縮について

次の構文で、デフォルトの圧縮アルゴリズムを構成でき、Oracle Advanced Compressionオプションは必要ありません。

例6-2 バックアップのBasic Compressionの構成

CONFIGURE COMPRESSION ALGORITHM 'BASIC';
Oracle Advanced Compressionオプションについて

Oracle Advanced Compressionオプションを有効にすると、次のいずれかの圧縮レベルを選択できます。

圧縮レベル パフォーマンスのメリットとデメリット

HIGH

ネットワーク速度が制限事項となる、速度の遅いネットワークでのバックアップに最適です。

MEDIUM

ほとんどの環境で推奨されます。圧縮率と速度の優れた組合せが得られます。

LOW

バックアップ・スループットへの影響が最小です。

基本的に圧縮率はLOWからHIGHへと高くなります。ただし、圧縮率の上昇に応じて、消費されるCPUリソースが多くなります。

様々な圧縮レベルのパフォーマンスはデータベースのデータ、ネットワーク構成、システム・リソースおよびコンピュータ・システムの種類と機能によって異なるため、パフォーマンスについて広く当てはまる統計を示すことはできません。環境に最適な圧縮レベルは、CPUへの帯域幅およびCPUの実際の速度に関するご使用のシステムのバランスによって異なります。ご使用の環境で、データに対して様々な圧縮レベルをテストすることを強くお薦めします。バックアップ・セットの圧縮レベルが組織のパフォーマンス要件および該当する品質保証契約を満たすようにするには、環境、ネットワーク・トラフィックの特徴(ワークロード)およびデータセットに基づいて圧縮レベルを選択します。

注意:

  • Oracle Advanced Compressionオプションの詳細は、Oracle Databaseライセンス情報を参照してください。

  • バックアップ先がテープであり、テープ・デバイスで独自の圧縮が実行される場合、RMANによるバックアップ・セットの圧縮とメディア・マネージャ・ベンダーによる圧縮の両方は使用しないでください。詳細は、「RMANのパフォーマンスのチューニング」のRMANによるテープ・バックアップのパフォーマンス・チューニングについての説明を参照してください。

  • 圧縮バックアップのリストアはインラインで実行され、解凍は必要ありません。

バックアップの暗号化の構成

セキュリティを向上させるために、RMANバックアップ・セットに対してバックアップの暗号化を構成できます。暗号化バックアップは、不正なユーザーが取得しても読み取ることができません。

この項の内容は、次のとおりです。

バックアップの暗号化

V$RMAN_ENCRYPTION_ALGORITHMSビューには、RMANでサポートされている暗号化アルゴリズムのリストが含まれます。暗号化アルゴリズムを指定しない場合のデフォルトの暗号化アルゴリズムは128ビットのAdvanced Encryption Standard(AES)です。RMANでの暗号化では、ターゲット・データベースのCOMPATIBLE初期化パラメータを10.2.0以上にする必要があります。

RMANには、次の暗号化モードがあります。

  • バックアップの透過的暗号化

    これがデフォルトのモードで、Oracleソフトウェアのキーストアが使用されます。キーストアは、透過的データ暗号化(TDE)鍵の格納に使用されるパスワード保護されたコンテナです。以前のリリースでは、このコンテナはウォレットと呼ばれていました。

  • バックアップのパスワード暗号化

    このモードでは、パスワード保護のみが使用されます。暗号化バックアップを作成およびリストアする場合、パスワードを入力する必要があります。

  • バックアップのデュアル・モード暗号化

    このモードでは、キーストアまたはパスワードが必要です。

注意:

キーストアベースの暗号化は、パスワードが必要ないため、パスワードベースの暗号化より安全です。パスワードベースの暗号化は、バックアップをトランスポータブルにする必要があるため絶対に必要な場合にのみ使用してください。

暗号化バックアップは、必要な復号化キーが使用可能な場合に、リストアおよびリカバリ中に自動的に復号化されます。バックアップ・セットごとに別々のキーが取得されます。キーは、暗号化形式でバックアップ・ピースに格納されます。バックアップは、ユーザーが指定するパスワードまたはOraclソフトウェア・キーストアによって取得されたキーを使用して復号化されます。

Oracle Secure Backupメディア管理ソフトウェアは、暗号化RMANバックアップをテープに直接作成するためにサポートされている唯一のインタフェースです。Oracle Secure Backup以外のメディア・マネージャを使用して暗号化RMANバックアップを作成しようとすると、RMANはORA-19919エラーを発行します。

暗号化されたバックアップ・セットに対してBACKUP BACKUPSETコマンドを使用すると、バックアップ・セットは暗号化形式でバックアップされます。BACKUP BACKUPSETは、すでに暗号化されたバックアップ・セットをディスクまたはテープにコピーするため、BACKUP BACKUPSET操作中に復号化鍵は不要です。この操作のどの段階でも、データの復号化が行われることはありません。バックアップ・セットは、BACKUP BACKUPSETコマンドによって暗号化されることも復号化されることもありません。

関連項目:

Oracleキーストアの構成の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

バックアップの透過的暗号化

透過的暗号化では、必要なOracleキー管理インフラストラクチャが使用可能な場合にかぎり、DBAの介入なしで暗号化バックアップを作成およびリストアできます。透過的暗号化は、日次バックアップ操作(バックアップを作成元と同じデータベースにリストア)に最適です。透過的暗号化は、RMANの暗号化のデフォルトです。

透過的暗号化を使用する場合は、まず、『Oracle Database Advanced Securityガイド』の説明に従って、各データベースにOracleソフトウェア・キーストアを構成する必要があります。透過的バックアップ暗号化では、自動ログイン・ソフトウェア・キーストアとパスワードベースのソフトウェア・キーストアの両方をサポートしています。自動ログイン・ソフトウェア・キーストアを使用する場合、自動ログイン・キーストアは常にオープンしているため、いつでも暗号化バックアップ操作を実行できます。パスワードベースのソフトウェア・キーストアを使用する場合、バックアップ暗号化を実行する前に、キーストアがオープンしている必要があります。

注意:

自動ログイン・キーストアを使用する場合は、バックアップと自動ログイン・キーストアの両方を取得すると暗号化バックアップの読取りが可能になるため、暗号化バックアップ・データとともにバックアップしないようにしてください。Oracleキーストアはキーストア・パスワードがないと使用できないため、この形式のキーストアはバックアップを作成しても安全です。

Oracleキーストアを構成した後は、DBAの介入なしで暗号化バックアップを作成およびリストアできます。透過的データ暗号化(TDE)の列暗号化を使用してデータベース内のいくつかの列が暗号化され、バックアップの暗号化を使用してそれらの列をバックアップすると、バックアップ中にそれらの列に対して2度目の暗号化が行われます。バックアップ・セットがリストア操作中に復号化されると、暗号化された列は元の暗号化形式に戻ります。

Oracleキー管理インフラストラクチャによって以前のすべてのマスター・キーがOracleキーストアにアーカイブされるため、現行のデータベース・マスター・キーを変更または再設定しても、以前のマスター・キーを使用して実行された暗号化バックアップは引き続きリストアできます。データベース・マスター・キーはいつでも再設定できます。RMANは、このデータベースによって作成されたすべての暗号化バックアップをリストアできます。

注意:

Oracleキーストアを失うと、透過的に暗号化されたバックアップをリストアすることができなくなります。

バックアップのパスワード暗号化

パスワード暗号化では、暗号化バックアップを作成およびリストアする場合に、DBAがパスワードを入力する必要があります。パスワード暗号化バックアップをリストアするには、バックアップを作成する場合に使用したパスワードと同じパスワードが必要となります。

パスワード暗号化は、リモートの場所でリストアし、送信中は保護されている必要があるバックアップに有効です。パスワード暗号化は、永続的には構成できません。パスワード暗号化を排他的に使用する場合は、Oracleキーストアを構成する必要はありません。

注意:

パスワード暗号化バックアップを暗号化するときに使用したパスワードを忘れた(または失った)場合は、バックアップをリストアできなくなります。

パスワード暗号化を使用するには、RMANスクリプトでSET ENCRYPTION ON IDENTIFIED BY password ONLYコマンドを使用します。

バックアップのデュアル・モード暗号化

デュアル・モード暗号化バックアップでは、透過的なリストアまたはパスワードを指定したリストアのいずれかを実行できます。デュアル・モード暗号化バックアップは、通常はOracleキーストアを使用してオンサイトでリストアされるが、Oracleキーストアを使用できないオフサイトでリストアする必要がある場合があるバックアップを作成する場合に有効です。

デュアル・モード暗号化バックアップをリストアする場合は、Oracleキーストアまたは復号化用のパスワードのいずれかを使用できます。

注意:

デュアル・モード暗号化バックアップを暗号化するときに使用したパスワードを忘れ(または失い)、Oracleキーストアも失った場合は、バックアップをリストアできなくなります。

デュアル・モード暗号化バックアップ・セットを作成するには、RMANスクリプトでSET ENCRYPTION ON IDENTIFIED BY passwordコマンドを指定する必要があります。

RMANバックアップの暗号化モードの構成

CONFIGUREコマンドを使用すると、バックアップの透過的暗号化を永続的に構成できます。このコマンドを使用して、次の内容を指定できます。

  • すべてのデータベース・ファイルのバックアップに透過的暗号化を使用するかどうか

  • 特定の表領域のバックアップに透過的暗号化を使用するかどうか

  • バックアップの暗号化にどのアルゴリズムを使用するか

SET ENCRYPTIONコマンドを使用して、次の処理を実行することもできます。

  • CONFIGURE ENCRYPTIONコマンドで指定した暗号化設定を上書きします。たとえば、SET ENCRYPTION OFFを使用すると、暗号化バックアップを作成するようにデータベースが構成されている場合でも、暗号化されていないバックアップが作成されます。

  • RMANクライアントが終了するまで保持される、バックアップの暗号化のパスワードを設定します。パスワードは機密情報であるため、RMANの複数のセッションにわたってパスワードが保持される構成は、RMANでは許可されていません。

永続的な構成設定を使用するかどうかによって、アーカイブREDOログのバックアップを暗号化するかどうかが制御されます。アーカイブREDOログ・ファイルを含むバックアップ・セットは、次のいずれかの条件が満たされている場合に暗号化されます。

  • アーカイブ・ログのバックアップの作成時にSET ENCRYPTION ONが有効である。

  • データベース全体または1つ以上の表領域のバックアップに対して暗号化が構成されている。

この動作によって、データファイルの暗号化バックアップに関連付けられているREDOも暗号化されます。

すべてのRMANバックアップが暗号化されるように環境を構成する手順

  1. 『Oracle Database Advanced Securityガイド』の説明に従って、Oracleキーストアを設定します。
  2. 次のRMANコマンドを発行します。
    CONFIGURE ENCRYPTION FOR DATABASE ON;
    

    この段階では、デフォルトで、このデータベースによって作成されるすべてのRMANバックアップ・セットで透過的暗号化が使用されます。

次のコマンドを使用すると、RMANセッションの永続的な暗号化構成を明示的に上書きできます。

SET ENCRYPTION ON;

暗号化設定は、RMANセッション中にSET ENCRYPTION OFFコマンドを発行するか、または次のコマンドを使用して永続的な設定を再度変更するまで有効です。

CONFIGURE ENCRYPTION FOR DATABASE OFF;

バックアップ暗号化アルゴリズムの構成

CONFIGUREコマンドを使用すると、バックアップ・セットの書込み時に、暗号化に使用するデフォルト・アルゴリズムを永続的に構成できます。指定可能な値は、V$RMAN_ENCRYPTION_ALGORITHMSに表示されます。デフォルト・アルゴリズムは、128ビットAESです。

デフォルトのバックアップ暗号化アルゴリズムを構成する手順

  1. RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。
  2. ターゲット・データベースがマウントまたはオープンされていることを確認します。
  3. V$RMAN_ENCRYPTION_ALGORITHMS.ALGORITHM_NAMEから有効な値を指定して、CONFIGURE ENCRYPTION ALGORITHMコマンドを実行します。

    次の例では、アルゴリズムを256ビットAES暗号化に構成します。

    CONFIGURE ENCRYPTION ALGORITHM TO 'AES256';

補助インスタンスのデータファイル名の構成

データファイルの表領域のPoint-in-Timeリカバリ(TSPITR)を実行するか、またはRMANを使用してデータ転送を実行するとします。この場合、TSPITRまたはデータベースの複製を開始する前に、補助インスタンスのデータファイルの名前を設定する必要がある場合があります。コマンドで、次のように、datafileSpecにはデータファイルの元の名前または番号を指定し、filenameには指定したファイルの新しいパスを指定します。

CONFIGURE AUXNAME FOR datafileSpec TO 'filename';

たとえば、データファイル2の新しい補助ファイル名を次のように構成するとします。

CONFIGURE AUXNAME FOR DATAFILE 2 TO '/newdisk/datafiles/df2.df';

他の設定と同様に、CONFIGUREコマンド設定は、次の例に示すようにCONFIGURE ... CLEARでクリアするまで、複数のRMANセッションに継続的に使用されます。

CONFIGURE AUXNAME FOR DATAFILE 2 CLEAR;

TSPITRを行うか、DUPLICATEコマンドを実行する場合は、CONFIGURE AUXNAMEを使用することによって、プロシージャ中に手動で補助ファイル名を指定しなくても、補助データベースで使用するファイル名を事前に構成できます。

DUPLICATEコマンドでファイル名を変更する場合は、SET NEWNAMEコマンドのかわりにCONFIGURE AUXNAMEを使用します。違いは、最初にAUXNAMEを設定すると、別のDUPLICATEコマンドを発行するときにファイル名を再設定する必要がないことです。AUXNAME設定は、CONFIGURE AUXNAME ... CLEARを発行するまで有効になっています。これとは対照的に、SET NEWNAMEコマンドは、ファイル名を変更するたびに再発行する必要があります。

TSPITRにCONFIGURE AUXNAMEを使用する方法の詳細は、「RMANの表領域のPoint-in-Timeリカバリ(TSPITR)の実行」を参照してください。また、データベース複製の実行時にCONFIGURE AUXNAMEを使用する方法の詳細は、「データベースの複製」を参照してください。

スナップショット制御ファイルの場所の構成

RMANでは、読取り一貫性バージョンの制御ファイルが必要である場合、一時スナップショット制御ファイルが作成されます。リカバリ・カタログとの再同期化または現行の制御ファイルのバックアップを実行する場合、スナップショット制御ファイルが必要になります。

スナップショット制御ファイルのデフォルトの場所はプラットフォーム固有であり、各ターゲット・データベースのOracleホームによって異なります。たとえば、一部のLinuxプラットフォームでのデフォルトのファイル名は、$ORACLE_HOME/dbs/snapcf_@.fとなります。ターゲット・データベースに対して高速リカバリ領域が構成されている場合、スナップショット制御ファイルのデフォルトの場所はその高速リカバリ領域内ではありません

この項の内容は、次のとおりです。

スナップショット制御ファイルの構成場所の表示

SHOWコマンドを実行して、現在のスナップショットの場所を確認できます。次の例は、デフォルトの規則によって決定されるスナップショットの場所を示しています。

RMAN> SHOW SNAPSHOT CONTROLFILE NAME;
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/oracle/dbs/snapcf_trgt.f'; # default

次の例では、デフォルト以外のファイル名を持つスナップショット制御ファイルを示します。

RMAN> SHOW SNAPSHOT CONTROLFILE NAME;
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/oracle/oradata/trgt/snap_trgt.ctl';

スナップショット制御ファイルの場所の設定

CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'filepath'コマンドを使用して、スナップショット制御ファイルの名前およびパスを変更します。これ以降にRMANで作成されるスナップショット制御ファイルには、指定した名前およびパスが使用されます。

Oracle Real Application Clusters (Oracle RAC)環境では、スナップショット制御ファイルの場所は、共有ストレージ(すべてのOracle RACインスタンスにアクセス可能なストレージ)上である必要があります。

たとえば、RMANを起動し、ターゲット・データベースに接続してから、次を入力します。

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/oracle/oradata/trgt/snap_trgt.ctl';

また、スナップショット制御ファイル名をRAWデバイスに設定することもできます。

スナップショット制御ファイルの場所をデフォルトにリセットするには、CONFIGURE SNAPSHOT CONTROLFILE NAME CLEARコマンドを実行します。

関連項目:

  • 「リカバリ・カタログの再同期化」

  • Oracle RAC構成でのスナップショット制御ファイルの処理の詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。

共有サーバーで使用するためのRMANの構成

RMANは、共有サーバー・ディスパッチャを介しては、ターゲット・データベースに接続できません。RMANには専用サーバー・プロセスが必要です。ターゲット・データベースが共有サーバー用に構成されている場合、Oracle Net構成を変更し、RMAN接続専用のサーバー・プロセスを指定する必要があります。

ターゲット・データベースが共有サーバー用に構成されている場合にRMANをディスパッチャに接続しないようにするには、RMANで使用するネット・サービス名の接続文字列のCONNECT_DATA属性に(SERVER=DEDICATED)を含める必要があります。

Oracle Net構成は、システムによって大幅に異なります。次に、多くの構成方法の一例を示します。この例では、tnsnames.oraファイル内の次のサービス名が共有サービス・アーキテクチャを使用してターゲット・データベースに接続するものと想定しています。ここで、inst1は、SERVICE_NAMES初期化パラメータの値です。

inst1_shs =
  (DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=inst1_host)(port=1521))
    (CONNECT_DATA=(SERVICE_NAME=inst1)(SERVER=shared))
  ) 

RMANを共有サーバーで使用する手順

  1. tnsnames.oraファイルに、共有されないSIDに接続するネット・サービス名を作成します。たとえば、次のように入力します。
    inst1_ded =
      (DESCRIPTION=
        (ADDRESS=(PROTOCOL=tcp)(HOST=inst1_host)(port=1521))
        (CONNECT_DATA=(SERVICE_NAME=inst1)(SERVER=dedicated))
      )
    
  2. SQL*Plusを起動し、共有サーバー・サービス名と専用サーバー・サービス名の両方を使用して接続することで、各セッションのモードを確定します。

    たとえば、SYSBACKUPまたはSYSDBA権限を使用して、inst1_dedに接続してから、次のSELECTを実行します(出力例も示します)。

    SQL> SELECT SERVER 
      2  FROM   V$SESSION 
      3  WHERE  SID = (SELECT DISTINCT SID FROM V$MYSTAT);
    
    SERVER   
    ---------
    DEDICATED
    1 row selected.
    

    共有サーバー・セッションに接続するには、SYSBACKUPまたはSYSDBA権限を使用してinst1_shsに接続してから、次のSELECT文を実行します(出力例も示します)。

    SQL> SELECT SERVER 
      2  FROM   V$SESSION 
      3  WHERE  SID = (SELECT DISTINCT SID FROM V$MYSTAT);
    
    SERVER   
    ---------
    SHARED 
    1 row selected.
      
  3. RMANを起動し、専用サービス名を使用してターゲット・データベースに接続します。必要に応じて、リカバリ・カタログに接続します。

    関連項目:

    Oracle Netの接続文字列構文の詳細は、プラットフォーム固有のOracleマニュアルおよび『Oracle Database Net Servicesリファレンス』を参照してください。

消失書込みの検出の有効化

データ・ブロックの消失書込みは、永続ストレージで書込みが行われなかったにもかかわらず、I/Oサブシステムでブロック書込みの完了が確認された場合に発生します。この後のブロック読取りでは、失効したデータ・ブロックがI/Oサブシステムによって戻されます。このデータ・ブロックを使用してデータベースの他のブロックを更新すると、ブロックが破損する場合があります。

DB_LOST_WRITE_PROTECT初期化パラメータをTYPICALまたはFULLに設定して、データベースでバッファ・キャッシュ・ブロック読取りがREDOログに記録されるようにすることができます。デフォルト設定はNONEです。このパラメータをTYPICALに設定すると、読取り/書込み表領域のバッファ・キャッシュ読取りはインスタンスによってREDOログに記録されますが、読取り専用表領域は記録されません。FULLに設定すると、読取り専用表領域の読取りもインスタンスによって記録されます。TYPICALモードでのパフォーマンス・オーバーヘッドは約5から10%で、FULLモードではそれ以上になる可能性があります。

消失書込みの検出は、Data Guardとともに使用すると最も効果的です。この場合、プライマリ・データベースとスタンバイ・データベースの両方にDB_LOST_WRITE_PROTECTを設定します。スタンバイ・データベースは、管理リカバリ中にREDOを適用する際、対応するブロックを読み取ってSCNをREDOログ内のSCNと比較します。プライマリ・データベースのブロックSCNがスタンバイ・データベースのブロックSCNより小さい場合は、プライマリ・データベース上の消失書込みを検出し、外部エラー(ORA-752)をスローします。SCNが大きい場合は、スタンバイ・データベース上の消失書込みを検出し、内部エラー(ORA-600 [3020])をスローします。いずれの場合も、スタンバイ・データベースは障害の理由をアラート・ログおよびトレース・ファイルに書き込みます。

消失書込みをプライマリ・データベースで修復するには、スタンバイ・データベースへのフェイルオーバーを開始する必要があります。消失書込みをスタンバイ・データベースで修復するには、スタンバイ・データベース全体を再作成するか、または影響を受けたファイルのみのバックアップをリストアする必要があります。

Data Guardを使用しない場合も、消失書込みの検出を有効にすると役に立ちます。この場合、消失書込みは、通常のデータベース操作中またはメディア・リカバリ中に発生する可能性があります。前者の場合は、エラーを検出する直接的な方法はありません。表に一貫性がないなどの間接的な兆候を、消失書込みに明確に結び付けることはできません。ただし、消失書込みが発生した可能性がある時点以前に作成したバックアップを保持している場合は、そのバックアップを代替の場所にリストアしてリカバリできます。問題を診断するには、失効したブロック読取りのSCNまでデータベースまたは表領域をリカバリします。これによって、消失書込みエラー(ORA-752)が生成されます。

メディア・リカバリ中に消失書込みエラーが発生した場合は、データベースをRESETLOGSオプションでオープンする対応のみが可能です。データベースは一貫性のある状態ですが、RESETLOGS SCNより後のすべてのデータは消失しています。データベース作成後に作成したバックアップを使用してリカバリする場合は、他の失効したブロックによってデータベースが破損していない保証はありません。 これは、リストアするバックアップが、消失書込みが発生した後に作成された可能性があるためです。消失書込みによってデータベースが破損していないことを保証するには、データベース作成からのメディア・リカバリを実行する必要があります。ただし、この方法は、ほとんどのデータベース環境で現実的ではありません。

関連項目:

  • 消失書込みの検出および修復のためにスタンバイ・データベースを使用する方法については、『Oracle Data Guard概要および管理』を参照してください。

  • DB_LOST_WRITE_PROTECT初期化パラメータについては、『Oracle Databaseリファレンス』を参照してください。