この章では、設定および構成作業を実行する方法について説明します。この章の内容は次のとおりです。
「チャネルの構成」ではチャネルの構成の基本が説明されていますが、この項では、より高度なチャネルのトピックについて説明します。この項の内容は、次のとおりです。
関連項目:
チャネルの構成および割当ての概要については「RMANチャネルについて」、CONFIGURE
構文については『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください
チャネルを手動で割り当てる場合も自動チャネル割当てを使用する場合も、チャネル・コマンドおよびオプションを使用して、チャネルの動作を制御できます。表6-1に、チャネルの動作を制御する方法の概要を示します。特に明記されていないかぎり、CONFIGURE CHANNEL
とALLOCATE CHANNEL
コマンドの両方ですべてのチャネル・パラメータがサポートされています。
表6-1 チャネル制御オプション
チャネル制御のタイプ | コマンド |
---|---|
I/O帯域幅消費に対する制限 |
バックアップの制限メカニズムとして機能する |
バックアップ・セットおよびバックアップ・ピースに対する制限 |
|
ベンダー固有の手順 |
|
チャネルのパラレル化によるバックアップおよびリストア操作 |
|
データベース・インスタンスの接続設定 |
|
関連項目:
ALLOCATE CHANNELの構文については、『Oracle Databaseバックアップおよびリカバリ・リファレンス』
を参照してください。CONFIGUREの構文については、『Oracle Databaseバックアップおよびリカバリ・リファレンス』
を参照してください。
特定のタイプのすべてのチャネルに適用されるパラメータの構成に加えて、特定のチャネルに適用されるパラメータを構成することもできます。特定のチャネルを構成するには、CONFIGURE CHANNEL
n
(n
は255未満の正の整数)コマンドを実行します。
チャネルに手動で番号を割り当てる場合、チャネルごとに1つ以上のチャネル・オプション(たとえば、MAXPIECESIZE
やFORMAT
)を指定する必要があります。番号を割り当てた特定のチャネルをバックアップで使用する場合、そのチャネルに構成した設定が構成済の汎用チャネル設定のかわりに使用されます。
各チャネルに設定されたパラメータを個別に制御する必要がある場合は、固有のチャネルを番号ごとに構成します。この方法は、次のような場合に実行する必要があります。
次の例では、ディスク・バックアップを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'
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
が使用されます。
関連項目:
BACKUPの構文については、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。
バックアップ・ピースのサイズがファイル・システムまたはメディア管理ソフトウェアで許容される最大ファイル・サイズを超えると、問題が発生します。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
COPIES
が1
に設定されています。
注意:
永続的なコピーの構成を作成しない場合は、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
コマンドを使用すると、圧縮オプションを構成できます。
次の各項には、圧縮に関する追加情報が含まれています。
各データ・ブロックの空き領域を統合し、その空き領域をバイナリのゼロに設定することによって、より高いバックアップ圧縮率を得ることができます。この圧縮前の処理段階は、削除や挿入操作が多いデータ・ブロックで最もメリットがあります。逆に、初期のロード状態を保っているデータ・ブロックには影響がありません。
OPTIMIZE FOR LOAD
オプションは、圧縮前の処理を制御します。デフォルトのOPTIMIZE FOR LOAD TRUE
を指定すると、RMANでCPU使用率が最適化され、圧縮前のブロック処理が防止されます。OPTIMIZE FOR LOAD FALSE
を指定すると、RMANで追加のCPUリソースを使用して圧縮前のブロック処理が実行されます。
関連項目:
CONFIGURE
およびSET
の構文については、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。
Oracle Databaseでは、デフォルトの圧縮アルゴリズムとOracle Advanced Compressionオプションで使用可能な圧縮アルゴリズムのグループといった、2つの圧縮アルゴリズムのカテゴリが提供されています。デフォルトのアルゴリズムはOracle Databaseの標準機能ですが、Oracle Advanced Compressionオプションは別途購入するオプションです。
次の構文で、デフォルトの圧縮アルゴリズムを構成でき、Oracle Advanced Compressionオプションは必要ありません。
例6-2 バックアップのBasic Compressionの構成
CONFIGURE COMPRESSION ALGORITHM 'BASIC';
Oracle Advanced Compressionオプションを有効にすると、次のいずれかの圧縮レベルを選択できます。
圧縮レベル | パフォーマンスのメリットとデメリット |
---|---|
|
ネットワーク速度が制限事項となる、速度の遅いネットワークでのバックアップに最適です。 |
|
ほとんどの環境で推奨されます。圧縮率と速度の優れた組合せが得られます。 |
|
バックアップ・スループットへの影響が最小です。 |
基本的に圧縮率は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
コマンドを指定する必要があります。
CONFIGURE
コマンドを使用すると、バックアップの透過的暗号化を永続的に構成できます。このコマンドを使用して、次の内容を指定できます。
すべてのデータベース・ファイルのバックアップに透過的暗号化を使用するかどうか
特定の表領域のバックアップに透過的暗号化を使用するかどうか
バックアップの暗号化にどのアルゴリズムを使用するか
SET
ENCRYPTION
コマンドを使用して、次の処理を実行することもできます。
CONFIGURE
ENCRYPTION
コマンドで指定した暗号化設定を上書きします。たとえば、SET
ENCRYPTION
OFF
を使用すると、暗号化バックアップを作成するようにデータベースが構成されている場合でも、暗号化されていないバックアップが作成されます。
RMANクライアントが終了するまで保持される、バックアップの暗号化のパスワードを設定します。パスワードは機密情報であるため、RMANの複数のセッションにわたってパスワードが保持される構成は、RMANでは許可されていません。
永続的な構成設定を使用するかどうかによって、アーカイブREDOログのバックアップを暗号化するかどうかが制御されます。アーカイブREDOログ・ファイルを含むバックアップ・セットは、次のいずれかの条件が満たされている場合に暗号化されます。
アーカイブ・ログのバックアップの作成時にSET
ENCRYPTION
ON
が有効である。
データベース全体または1つ以上の表領域のバックアップに対して暗号化が構成されている。
この動作によって、データファイルの暗号化バックアップに関連付けられているREDOも暗号化されます。
すべてのRMANバックアップが暗号化されるように環境を構成する手順
次のコマンドを使用すると、RMANセッションの永続的な暗号化構成を明示的に上書きできます。
SET ENCRYPTION ON;
暗号化設定は、RMANセッション中にSET
ENCRYPTION
OFF
コマンドを発行するか、または次のコマンドを使用して永続的な設定を再度変更するまで有効です。
CONFIGURE ENCRYPTION FOR DATABASE OFF;
データファイルの表領域の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には専用サーバー・プロセスが必要です。ターゲット・データベースが共有サーバー用に構成されている場合、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を共有サーバーで使用する手順
データ・ブロックの消失書込みは、永続ストレージで書込みが行われなかったにもかかわらず、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リファレンス』を参照してください。