24 データベースの複製
この章では、DUPLICATEコマンドを使用して、独立して機能するデータベース・コピーを作成する方法について説明します。
ノート:
マルチテナント・コンテナ・データベースが、Oracle Database 21c以降のリリースで唯一サポートされているアーキテクチャです。ドキュメントの改訂中は、従来の用語が残っている可能性があります。ほとんどの場合、「データベース」と「非CDB」は、コンテキストに応じて、CDBまたはPDBを意味します。アップグレードなど、一部のコンテキストでは、「非CDB」は以前のリリースの非CDBを意味します。
24.1 RMANデータベースの複製の概要
データベースを複製するには、DUPLICATEコマンドを使用して、ソース・データベースにあるすべてのデータまたはそのサブセットをコピーします。複製データベース(コピー先のデータベース)は、ソース・データベース(コピー元のデータベース)から完全に独立して機能します。
この項では、次の項目について説明します。
24.1.1 データベースの複製の目的
複製データベースは様々な目的で有効であり、ほとんどの場合、テストに使用されます。
複製データベースでは、次のタスクを実行できます。
-
バックアップ手順およびリカバリ手順のテスト
たとえば、
host1上の本番データベースをhost2上に複製し、host1上の本番データベースを通常どおりに実行したまま、host2上の複製データベースを使用してこのデータベースのリストアおよびリカバリを練習できます。 -
Oracle Databaseの新しいリリースへのアップグレードのテスト
-
データベースのパフォーマンスにアプリケーションが与える影響のテスト
-
スタンバイ・データベースを作成します。
フィジカル・スタンバイ・データベースまたはOracle Data Guardの遠隔同期インスタンスを作成できます。スタンバイ・データベースはプライマリ・データベースのコピーで、プライマリ・データベースのアーカイブREDOログ・ファイルを使用して継続的に更新できます。 プライマリ・データベースにアクセスできない場合は、スタンバイ・データベースへのフェイルオーバーを実行し、それを新しいプライマリ・データベースにすることができます。ただし、データベース・コピーはこの用途には使用できません。データベース・コピーは、フェイルオーバーでの使用を目的としていないため、スタンバイの様々なリカバリ・オプションおよびフェイルオーバー・オプションをサポートしていません。
DUPLICATEコマンドを使用してスタンバイ・データベースを作成する方法を知るには、Oracle Data Guard概要および管理を参照してください -
レポートの生成
-
スパース・データベースの作成
ソース・データベースをスパース・データベースとして複製できます。スパース・データベースは、ソース・データベースが通常どおり稼動している間に、テスト、レポートおよびその他のタスクに使用できます。
24.1.2 データベースの複製の基本的な概念
データベースを複製する前に、いくつかの基本概念を理解する必要があります。
ソース・ホストは、ソース・データベースをホストするコンピュータです。ソース・データベース・インスタンスは、ソース・データベースに関連付けられたインスタンスを表します。
宛先ホストは、複製データベースをホストするコンピュータを表します。ソース・ホストと宛先ホストは、同じコンピュータである場合も異なるコンピュータである場合もあります。
複製のプロセスでは、複製データベースに関連付けられたデータベース・インスタンスを補助インスタンスと呼びます。
複製のための明示的な時点が提供されていない場合でも、RMANでデータベースのPoint-in-Timeリカバリを実行する必要があります。Point-in-Timeリカバリが必要なのは、ソース・データベースのオンラインREDOログ・ファイルがバックアップされておらず、複製データベースに適用できないためです。複製データベースをリカバリできるのは、ソース・データベースによってアーカイブされた最新のREDOログ・ファイルの時点までです。
RMANは、複製データベースに新しいDBIDを割り当てます(スタンバイ・データベースが作成されている場合を除く。この場合はソースDBIDが保持される)。その後、複製データベースを、ソース・データベースと同じリカバリ・カタログに登録できます。
DUPLICATEコマンドではなくオペレーティング・システムのユーティリティを使用してデータベースをコピーした場合、コピーしたデータベースのDBIDは元のデータベースと同じになります。このコピーしたデータベースを元のデータベースと同じリカバリ・カタログに登録するには、DBNEWIDユーティリティを使用してDBIDを変更する必要があります。
関連項目:
Oracle Databaseユーティリティ
24.1.2.1 補助インスタンスの初期化パラメータ
特定の必須初期化パラメータを補助インスタンスに設定する必要があります。
次の表は、補助インスタンスで使用できる初期化パラメータのサブセットを示します。
表24-1 補助インスタンスの初期化パラメータ
| 初期化パラメータ | 値 | ステータス |
|---|---|---|
|
|
複製データベースの |
必須 |
|
|
制御ファイルの場所。 |
必須 |
|
|
複製データベースのブロック・サイズ。このブロック・サイズは、ソース・データベースのブロック・サイズと一致している必要があります。ソース・データベースのパラメータ・ファイルに |
必須(ソース・データベースでこの初期化パラメータが設定されている場合) |
|
|
データファイルおよび一時ファイルの名前を変換する文字列のペア。 |
オプション |
|
|
オンラインREDOログ・ファイルの名前を指定する文字列のペア。LOG_FILE_NAME_CONVERTパラメータを使用した非OMFまたはASMログ・ファイルの名前の生成を参照してください。 |
オプション |
|
|
Oracle管理データファイルの場所 |
オプション |
|
|
Oracle管理オンラインREDOログ・ファイルの場所 |
オプション |
|
|
高速リカバリ領域の場所 |
オプション |
|
Oracle Real Application Cluster(Oracle RAC)パラメータ:
|
Oracle RACデータベースのインスタンスごとにこれらのパラメータを設定します。 |
必須(Oracle RAC構成の場合) |
関連項目:
-
補助インスタンスの初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください
-
複製ファイルに名前を指定するためのオプションについて学習するには、表25-1を参照してください
24.1.2.2 アクティブなデータベースの複製中のバックアップ・セット作成のパラレル化について
RMANマルチセクション・バックアップでは、非常に大きなデータファイルをパラレルにバックアップすることによって、より高速なバックアップ・パフォーマンスを実現します。各バックアップ・ピースへ別々のチャネル書込みを行い、複数のバックアップ・ピースが作成されます。Oracle Database 12cリリース1 (12.1)から、アクティブなデータベース複製を実行するために必要なソース・ファイルの転送に、マルチセクション・バックアップ・セットを使用できます。
マルチセクション・バックアップ・セットを作成するには、DUPLICATEコマンドにSECTION SIZEオプションを使用します。次のコマンドは、各バックアップ・ピースのサイズに400MBを指定してマルチセクション・バックアップ・セットを作成します。ターゲット・データベースおよび補助インスタンスには、ネット・サービス名を使用して接続されていると想定します。
DUPLICATE TARGET DATABASE TO dup_db
FROM ACTIVE DATABASE
PASSWORD FILE
SECTION SIZE 400M;24.1.2.3 アクティブなデータベースの複製中のバックアップ・セットの暗号化について
RMANでは、バックアップ・セットを使用して、複製が必要なソース・データベース・ファイルを転送できます。バックアップ・セットは、ネットワークを介して補助データベースに転送されます。セキュリティを強化するために、バックアップ・セットは暗号化できます。DUPLICATEコマンドの前にSET ENCRYPTION ALGORITHMコマンドを使用して、暗号化アルゴリズムを指定します。
アクティブなデータベースの複製を実行する前に、次のいずれかの技術を使用して適切に暗号化されていることを確認します。
-
ソース・データベースで透過的暗号化が使用される場合、宛先ホストでOracleキーストアを使用可能にするに説明されているとおりに、ソース・データベースと補助インスタンス間で、暗号化キーを含むOracleソフトウェア・キーストアを共有する必要があります。
-
ソース・データベースでパスワード暗号化が使用されている場合、バックアップの暗号化に使用するパスワードを指定する必要があります。
次のコマンドは、暗号化パスワードを設定します(passwordは、入力する実際のパスワードのプレースホルダ)。SET ENCRYPTION ON IDENTIFIED BY password;
24.1.2.4 アクティブなデータベースの複製中のバックアップ・セットの圧縮について
バックアップ・セットを使用してアクティブなデータベースの複製が実行された場合、RMANではバックアップの圧縮を使用して、ソース・データベースから宛先ホストへのファイルの転送に使用されるバックアップ・セットのサイズを最小限に抑えることができます。このように、圧縮によって複製プロセスのパフォーマンスを向上させることができます。
アクティブなデータベースの複製に使用するバックアップ・セットの圧縮は、Oracle Database 12cリリース1 (12.1)からサポートされています。
アクティブなデータベース複製の実行に必要なデータが含まれるバックアップ・セットを圧縮するには、DUPLICATEコマンドのUSING COMPRESSED BACKUPSET句を使用します。次のコマンドは、圧縮されたバックアップ・セットを使用して、アクティブなデータベース複製を実行します。ターゲット・データベースおよび補助インスタンスには、ネット・サービス名を使用して接続されているものと想定します。
DUPLICATE TARGET DATABASE TO dup_db
FROM ACTIVE DATABASE
PASSWORD FILE
USING COMPRESSED BACKUPSET;24.1.3 データベースの複製のタイプ
RMANでは、主要な2つのタイプのデータベース複製を実行できます。
-
バックアップベースの複製
既存のRMANバックアップやソース・データベースのコピーを使用して、複製データベースを作成します。様々な方法でバックアップベースの複製を使用してデータベースを複製できます。
-
アクティブなデータベースの複製
アクティブなソース・データベースをネットワークを介して補助インスタンスにコピーして、複製データベースを作成します。バックアップ・セットまたはイメージ・コピーを使用して複製を実行できます。
任意の複製タイプを使用して、ローカル・ホストまたはリモート・ホストにデータベースを複製できます。
24.1.3.1 バックアップベースの複製の概要
バックアップベースの複製では、ソース・データベースの既存のRMANバックアップを使用して、複製データベースが作成されます。全体バックアップと増分バックアップを組み合せて使用できます。RMANは、UNTILの状態に基づいて、どのバックアップおよびアーカイブREDOログ・ファイルを使用する必要があるかを判断します。
バックアップベースの複製では、データベース複製の主な作業は補助チャネルによって行われます。「複製で使用するためのRMANチャネルの構成」の説明のように、追加チャネルを構成できます。
バックアップベースの複製は、次のシナリオで使用できます。
-
ソース・データベースへの接続は使用できないが、ソース・データベースのバックアップは使用できる。
-
ソース・ホストと宛先ホスト間のネットワーク帯域幅が制約になっている。
ソース・ホストと宛先ホスト間のネットワーク帯域幅が制限されている場合に、アクティブなデータベースの複製を使用すると、パフォーマンスが低下する可能性があります。たとえば、ソース・ホストと宛先ホストが別々の地理的場所にあり、WAN経由で接続されている場合が考えられます。そのような場合は、バックアップベースの複製を使用することが望ましい場合があります。
関連項目:
アクティブなデータベースの複製が適しているシナリオの詳細は、アクティブなデータベースの複製の概要を参照してください。
24.1.3.2 バックアップベースの複製の実行方法
バックアップベースの複製を実行するには、複数の方法があります。
次の相互に排他的な方法のいずれかを使用して、バックアップベースの複製を実行します。
24.1.3.2.1 ターゲット接続を行う場合のバックアップベースの複製
この方法では、TARGETとしてソース・データベースに接続し、AUXILIARYとして補助インスタンスに接続する必要があります。
次の図24-1に、ターゲット接続を行う場合のバックアップベースの複製を示します。リカバリ・カタログに接続できますが、必須ではありません(図にはありません)。RMANは、ソース・データベースの制御ファイルに含まれるメタデータを使用して、複製の実行にどのバックアップまたはコピーが必要かを判断します。
宛先ホストは、複製データベースの作成に必要なRMANバックアップにアクセスできる必要があります。
24.1.3.2.2 ターゲット接続を行わない場合のバックアップベースの複製
この方法では、リカバリ・カタログ・データベースにCATALOGとして接続し、補助インスタンスにAUXILIARYとして接続します。
図24-2に、ターゲット接続を行わない場合のバックアップベースの複製を示します。RMANは、リカバリ・カタログ内のメタデータを使用して、複製を実行するのに必要なバックアップまたはコピーを識別します。
転送先ホストは、複製データベースの作成に必要なRMANバックアップにアクセスできる必要があります。
24.1.3.2.3 ターゲット・データベースを持たず、リカバリ・カタログ接続を行わないバックアップベースの複製
この方法では、ソース・データベースまたはリカバリ・カタログへの接続がありません。
図24-3に、ターゲットまたはリカバリ・カタログ・データベース・インスタンスへの接続を行わない場合のバックアップベースの複製を示します。補助インスタンスに接続し、宛先ホストのディスクの場所に保存されているソース・データベースのバックアップまたはコピーを使用して複製を実行します。RMANは、DUPLICATEコマンドのBACKUP LOCATION句から、バックアップおよびコピーが存在する場所のメタデータを取得します。
複製に必要なすべてのバックアップまたはコピーが含まれているディスクのバックアップ場所が、宛先ホストによって使用可能である必要があります。
ノート:
この方法は、テープ・デバイスに保存されたバックアップではサポートされません。
24.1.3.3 アクティブなデータベースの複製の概要
アクティブなデータベースの複製では、ソース・データベースのバックアップは必要ありません。ネットワークを介してデータベース・ファイルを補助インスタンスにコピーして、アクティブなソース・データベースを宛先ホストに複製します。RMANは、必要なファイルをイメージ・コピーまたはバックアップ・セットとしてコピーできます。
アクティブなデータベースの複製の場合、使用される複製方法によって、主な作業をどのチャネルが実行するかが決まります。バックアップ・セットを使用してアクティブなデータベース複製が実行される場合、複製に関する主な作業は補助チャネルによって実行されます。イメージ・コピーが使用される場合、主な作業はターゲット・チャネルによって実行されます。
アクティブなデータベースの複製を実行するには、ターゲット・データベースへの接続が必要です。ソース・ホストと宛先ホスト間のネットワーク帯域幅が制約にならないかぎり、通常は、アクティブなデータベースの複製を使用することをお薦めします。アクティブなデータベースの複製は、必要なセットアップが少なく、実行方法がよりシンプルです。
ノート:
アクティブなデータベースの複製では、ソース・データベースでサーバー・パラメータ・ファイルを使用する必要があります。
-
データベースの複製中に、マルチセクション・バックアップ、圧縮または暗号化を使用する場合。
-
必要なデータベース・ファイルを複製データベースに転送するために、十分なネットワーク・リソースがソース・データベースにない場合。
-
複製プロセスで使用されるリソースを最小限にする場合。
バックアップ・セットを使用したアクティブなデータベースの複製では、ソース・データベースで使用されるリソースが最小限に抑えられます。
24.1.3.4 アクティブなデータベースの複製の実行方法
アクティブなデータベースの複製を実行するには、複数の方法があります。
相互に排他的な2つの方法のいずれかを使用して、アクティブなデータベースの複製を実行します。
24.1.3.4.1 イメージ・コピーを使用したアクティブなデータベースの複製
この方法では、RMANはTARGETとしてソース・データベースに接続し、AUXILIARYとして補助インスタンスに接続します。次に、ソース・データベースは、必要なデータベース・ファイルをネットワークを介して補助インスタンスに転送します。この方法は、アクティブなデータベースの複製のプッシュベースの方法と呼ばれます。
図24-4に、イメージ・コピーを使用したアクティブなデータベースの複製を示します。アクティブなデータベースの複製にイメージ・コピーを使用すると、ソース・データベースで追加のリソースが必要になる場合があります。複製で使用するためのRMANチャネルの構成の説明のように、追加のターゲット・チャネルを構成して複製のパフォーマンスを向上させることができます。
24.1.3.4.2 バックアップ・セットを使用したアクティブなデータベースの複製
アクティブなデータベースの複製の実行にバックアップ・セットを使用することは、アクティブなデータベースの複製のプルベースの方法とも呼ばれます。
この方法では、RMANはTARGETとしてソース・データベースに接続し、AUXILIARYとして補助インスタンスに接続します。その後、補助インスタンスはOracle Net Servicesを介してソース・データベースに接続し、ソース・データベースから必要なデータベース・ファイルをネットワークを介して取得します。図24-5に、バックアップ・セットを使用したアクティブなデータベースの複製を示します。
ノート:
バックアップ・セットを使用したアクティブなデータベースの複製の実行は、Oracle Database 12cリリース1 (12.1)以上で使用可能です。
アクティブなデータベースの複製にバックアップ・セットを使用すると、次の利点があります。
-
RMANは、未使用ブロック圧縮を使用できるため、ネットワーク経由でトランスポートする必要があるバックアップのサイズが削減されます。
-
マルチセクション・バックアップを使用することで、バックアップ・セットをソース・データベース上でパラレルに作成できます。
-
ソース・データベース上で作成されたバックアップ・セットを暗号化できます。
24.1.3.5 アクティブなデータベースの複製にバックアップ・セットとイメージ・コピーのどちらを使用するかを判断する要因
RMANでは、アクティブなデータベース複製の実行にバックアップ・セットまたはイメージ・コピーを使用できます。
-
DUPLICATE ... FROM ACTIVE DATABASEコマンドにUSING BACKUPSET,USING COMPRESSED BACKUPSET句またはSECTION SIZE句が含まれる場合。 -
割り当てられた補助チャネルの数が、割り当てられたターゲット・チャネルの数と同じか、それ以上の場合。
これ以外の場合は、RMANはアクティブなデータベースの複製を実行するのにイメージ・コピーを使用します。
ノート:
アクティブなデータベース複製の実行には、バックアップ・セットを使用することをお薦めします。
24.1.4 RMANによるデータベースの複製方法
RMANは、自動化された一連のステップを実行して、データベースを複製します。
複製データベースにコピーされるファイルの完全なリストは、Oracle Databaseバックアップおよびリカバリ・リファレンスのDUPLICATEの項を参照してください。
24.1.5 複製データベースの内容
複製データベースには、ソース・データベースと同じ内容か、またはソース・データベース内の表領域のサブセットのみを含めることができます。
たとえば、DUPLICATEコマンドのTABLESPACEオプションを使用すると、指定した表領域のみを複製でき、SKIP READONLYオプションを使用すると、複製データベースから読取り専用表領域を除外できます。
24.1.5.1 ソース・データベースのサブセットの複製について
DUPLICATEコマンドには、ソース・データベース全体のサブセットを複製可能にする句が含まれます。
常に、データベースのすべての表領域を複製する必要があるわけではありません。たとえば、ソース・データベースから表領域のサブセットのみを必要とするレポートを生成する場合があります。
DUPLICATEコマンドのオプションを示します。
表24-2 複製データベースの表領域のサブセットを指定するためのオプション
| DUPLICATEのオプション | 説明 |
|---|---|
SKIP READONLY |
複製データベースから読取り専用表領域のデータファイルを除外します。 |
SKIP TABLESPACE 'tablespace_name ' |
指定した表領域を複製データベースから除外します。SYSTEM表領域、SYSAUX表領域、SYSオブジェクトを含む表領域、UNDO表領域、UNDOセグメントを含む表領域、マテリアライズド・ビューを使用する表領域、または複製された表領域が自己完結型になっていない表領域は除外できません。
|
TABLESPACE 'tablespace_name ', ... |
SYSTEM表領域、SYSAUX表領域およびUNDO表領域を自動的に含みます。含まれる表領域は自己完結型である必要があります。また、結果としてスキップされる表領域には、SYSオブジェクトまたはマテリアライズド・ビューが含まれない必要があります。
|
ノート:
ターゲット接続のないまたはターゲットおよびリカバリ・カタログ接続のないバックアップベースの複製で表領域を除外する場合、RMANには特別な前提条件があります。詳細は、Oracle Databaseバックアップおよびリカバリ・リファレンスのDUPLICATEコマンドの前提条件の項を参照してください。
24.1.6 データベースの複製の宛先ホストについて
RMANは、指定した宛先ホストに複製データベースを作成します。宛先ホストは、ソース・ホストと同じにすることも別のホストにすることもできます。
ソース・ホストと宛先ホストとして同じコンピュータが使用される場合、その複製はローカル・ホストへの複製と呼ばれます。ソース・ホストと宛先ホストが異なるコンピュータ上にある場合、その複製はリモート・ホストへの複製と呼ばれます。
データベースのローカル・ホストへの複製について
データベースをローカル・ホストに複製する際に、ソース・データベースとは異なるディレクトリ構造を使用して、複製データベース・ファイルを保存する必要があります。たとえば、ソース・データベース・ファイルが/disk1/oracleディレクトリに保存されている場合、複製データベース・ファイルを/disk2/oracleディレクトリに保存できます。複製データベース・ファイルの名前は、ソース・データベースと同じ名前にも別の名前にもできます。複製データベース・ファイルに別の名前を指定する方法は、複製データベースのデータベース・ファイル名の生成方法で説明します。
注意:
ローカル・ホストに複製する際にNOFILENAMECHECKを使用すると、ソース・データベース・ファイルが上書きされます。
データベースのリモート・ホストへの複製について
ノート:
リモート・ホストへの複製には、パスワード・ファイルとOracle Net Servicesの補助インスタンスへの接続が必要です。
24.1.7 複製データベース・ファイルの名前について
使用する宛先ホストと複製シナリオによっては、複製データベース・ファイルにソース・データベースと同じ名前または別の名前を使用できます。データベース・ファイルには、データファイル、制御ファイル、オンラインREDOログ・ファイルおよび一時ファイルが含まれます。
複製データベース・ファイルに別の名前を付けることを選択した場合は、これらのファイルに名前を付けるための計画を指定する必要があります。
24.1.8 データベースの過去の時点へ複製について
DUPLICATEコマンドの句を使用して、データベースを過去の時点に複製できます。
DUPLICATEコマンドは、ターゲット・データベースの最新のバックアップを使用して複製データベースを作成し、次に、増分バックアップおよびアーカイブREDOログに含まれる最新の一貫性のある時点にリカバリを実行します。ただし、次のいずれかの方法を使用して、複製データベースを過去の時点にリカバリできます。
-
DUPLICATE … UNTILコマンド -
DUPLICATEコマンドの前のSET UNTILコマンド
関連項目:
データベースを過去の時点に複製する例は、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。
24.1.9 データベースの複製の前提条件
前提条件は、実行するデータベース複製のタイプによって決まります。すべてのタイプの複製に共通する前提条件や、特定のタイプの複製に固有の条件があります。
関連項目:
各複製方法の前提条件の詳細は、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。
24.2 データベースの複製の計画
データベースを複製する前に、複製プロセスに関するいくつかの事項を決定する必要があります。
データベースの複製の計画には、次のタスクが含まれます。
24.2.1 複製方法の選択
ビジネス要件およびデータベース環境に応じて、状況に合った最適な複製方法を決定します。
-
それぞれの複製方法の前提条件を十分に理解しているかどうか。
詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』の
DUPLICATEコマンドの記述の前提条件に関する項を参照してください。一部の前提条件は特定のものであり、複製方法に応じて異なります。たとえば、アクティブな複製では、ソース・インスタンスと補助インスタンスにソース・データベースと同じパスワードを使用する必要があります。一方で、ターゲット・データベースおよびリカバリ・カタログに接続しないバックアップベースの複製では、すべてのバックアップおよびデータベース・コピーが単一の場所に存在することのみが必要とされます。
-
ソース・データベースのバックアップが存在しているかどうか。
アクティブなデータベースの複製の主なメリットとしては、ソース・データベースをバックアップする必要のないことがあげられます。アクティブな複製では、マウントされたデータベース・ファイルまたはオンラインのデータベース・ファイルがネットワークを介して補助インスタンスにコピーされます。この方法のデメリットの1つとしては、作業がネットワークのパフォーマンスに悪影響を及ぼすことがあげられます。また、別のデメリットとして、ファイルを補助ホストに転送するために必要なプロセスがソース・データベースによって実行されているため、ソース・データベースおよび本番ワークロードに影響を与えることもあげられます。
ソース・データベースのバックアップが存在し、ネットワークへの影響を許容できない場合は、バックアップベースの複製をお薦めします。バックアップを一時記憶域にコピーし、手動で転送先ホストに転送できます。ターゲットまたはリカバリ・カタログとの接続を使用して複製が作成される場合、転送先ホストのバックアップ・ファイルは、ソース・ホスト上のバックアップ・ファイルと同じファイル仕様である必要があります。それ以外の場合、これは要件ではありません。
-
リカバリ・カタログが使用できるかどうか。
リカバリ・カタログが存在する場合は、RMANがTARGETとしてソース・データベースに接続されていなくても、バックアップベースの複製を実行できます。この方法は、補助ホストからソース・データベースへのネットワーク接続が制限されたり、断続的に中断されるような場合に役立ちます。ターゲット接続を使用せずに複製を実行する場合、ソース・データベースは複製の影響を受けません。
-
宛先ホストでどの程度のディスク領域が使用できるか。
ディスク・バックアップを使用して複製を実行すると、宛先ホストのディスク領域が問題になる可能性があります。たとえば、ソース・データベースが1テラバイト(TB)で、共有ディスクまたはネットワーク・ファイル・システム(NFS)を使用せずにディスク・バックアップからデータベースを複製する場合は、宛先ホストで2テラバイト(TB)以上の領域を使用できる必要があります。NFSのパフォーマンスがボトルネックとなるため、環境によっては、手動でバックアップを転送する必要があります。
-
ソース・ホストと宛先ホストの接続がLANまたはWANであるかどうか。
アクティブなデータベースの複製のパフォーマンスは、Local Area Network (LAN)よりもWide Area Network (WAN)の方が低下する可能性があります。WANにおけるパフォーマンスの低下を許容できないときは、バックアップベースの複製のみが実行可能な選択肢となる場合があります。
-
データベースをいつ複製する予定か。
ユーザー・アクティビティが高い時間帯にデータベースを複製する必要がある場合には、アクティブな複製によって生じるネットワーク・スループットの損失が問題となる可能性があるため、バックアップベースの複製をお薦めします。また、アクティブなデータベースの複製の場合は、補助ホストへファイルをコピーするときに必要となるRMANチャネルが、パフォーマンスに影響を与えることがあります。
24.2.2 複製データベース・ファイルの命名計画の選択
データベースを複製するときに、RMANは複製データベース内のデータベース・ファイル名を生成します。これには、制御ファイル、データファイル、一時ファイルおよびオンラインREDOログ・ファイルが含まれます。
複製シナリオに応じて、次のいずれかの方法を使用して複製データベース・ファイルに名前を付けることができます。
複製データベース・ファイルの名前の生成に計画を指定しないと、RMANは、複製データベースに、ソース・データベースと同じファイル名とディレクトリ構造を使用します。リモート・ホストに複製する場合のみ、NOFILENAMECHECK句を使用して、データベース・ファイルの名前がソース・データベースと複製データベースで同じ場合に、RMANでエラーを表示する必要がないことを示します。
複製データベース・ファイルに別の名前を指定するために使用されるいくつかの方法で、ソース・データベースで使用されているのと同じファイル名が生成される場合があります。たとえばSET NEWNAMEまたはCONFIGURE AUXNAMEコマンドを使用して、複製データベース・ファイルの名前を指定するとこのような状態になる場合があります。複製データベースのファイル名を指定するときには、ソース・データベース・ファイルを誤って上書きしないように、注意する必要があります。
24.2.2.1 ソース・データベースと複製データベースのデータベース・ファイルでの同じ名前の使用
ソース・データベースと複製データベースでファイルに同じ名前を使用するには、特定の条件が満たされている必要があります。
最もシンプルな複製方法は、ソース・データベースと同じディレクトリ構造とファイル名を使用するように複製データベースを構成することです。同じディレクトリ構造と名前を使用できるのは、リモート・ホストに複製する場合のみです。
同じディレクトリ構造とファイル名を使用することは、使用する環境が次の要件を満たしていることを意味します。
- ソース・データベースがASMディスク・グループを使用している場合、複製データベースは同じ名前のASMディスク・グループを使用する必要があります。
- ソース・データベース・ファイルがOracle Managed Filesの場合、補助インスタンスでは、ソース・データベースと同じディレクトリの場所に、
DB_CREATE_FILE_DESTパラメータを設定する必要があります。ソース・ホスト上と宛先ホスト上でディレクトリが同じであっても、Oracle Databaseは複製ファイルに対して相対ファイル名を選択します。 - ソース・データベースのデータベース・ファイルの名前にパスが含まれている場合、そのパス名は複製データベースにあるパス名と同じである必要があります。
- Oracle Real Application Clusters (Oracle RAC)環境の場合は、ソース・データベースと宛先データベースの
ORACLE_SIDパラメータに同じ値を使用します。
前述の推奨事項に従って環境を構成する場合、複製ファイルの名前の指定で必要となる追加の構成はありません。
24.2.2.2 ソース・データベースと複製データベースのデータベース・ファイルでの異なる名前の使用
ソース・ホストと宛先ホストで異なるディレクトリ構造が使用されている場合や、ディレクトリ構造は同じでもデータベース・ファイル名は別の名前にする場合は、RMANで複製データベース・ファイルにどのように名前を生成するかを指定する必要があります。
ノート:
ソース・データベースと複製データベースでASMディスク・グループを別の名前にすることをお薦めします。
24.2.2.3 複製データベースのデータベース・ファイル名の生成方法
選択する方法に応じて、RMANでファイル名が自動的に生成されるようにするか、複製データベース・ファイルに特定の名前が使用されるようにできます。データベース・ファイルには、データファイル、制御ファイル、オンラインREDOログ・ファイルおよび一時ファイルが含まれます。
-
SET NEWNAMEコマンド複製データベース・ファイルに特定の名前を提供します。要件に基づいて、
SET NEWNAME FOR DATABASE、SET NEWNAME FOR DATAFILE、SET NEWNAME FOR TABLESPACEまたはSET NEWNAME FOR TEMPFILEコマンドを使用します。OMFおよびASMデータベース・ファイルの場合は、データベース・ファイルの名前を明示的に指定するのではなく、
SET NEWNAME...TO NEWコマンドを使用する必要があります。 -
CONFIGURE AUXNAMEコマンド複製データベース・ファイルに非OMFおよび非ASMの代替名を指定します。
-
DUPLICATEコマンドのSPFILE句DB_FILE_NAME_CONVERTパラメータを例外として、複製データベース・ファイル名に関連するすべての必要な初期化パラメータを設定します。 -
(オンラインREDOログ・ファイルのみ)
DUPLICATEコマンドのLOGFILE句複製データベース内のオンラインREDOログ・ファイルに名前を付けます。この方法は、スタンバイ・データベースの作成中には使用できません。
ノート:
NOFILENAMECHECK句を指定せずにローカル・ホストまたはリモート・ホストに複製する場合、ソース・データベースで現在使用されているオンラインREDOログ・ファイルの名前を使用しないようにします。 -
DB_FILE_NAME_CONVERTおよびLOG_FILE_NAME_CONVERT初期化パラメータソース・データベースのファイル名を複製データベース内の名前に変換するためのルールを指定します。複数の変換ペアを指定できます。
DB_FILE_NAME_CONVERTパラメータがASMファイル名に使用されている場合、ディスク・グループ名の変更のみを実行する必要があります。ノート:
ソース・データベースでOracle Managed Filesが使用されている場合、この方法を使用して、複製データベース・ファイルの代替名を指定することはできません。
-
DB_CREATE_FILE_DESTおよびDB_CREATE_ONLINE_LOG_DEST_nパラメータこれらのパラメータで指定された場所にOracle Managed Filesを作成します。これは、OMFおよびASMに代替名を指定するために推奨される方法です。
複製データベース・ファイル名の指定に複数の方法が使用されている場合は、優先順位が高い方法でファイルが命名されます。特定の方法で名前が変更されないファイルは、それに続く順位の方法に従って名前が変更されます。たとえば、2つのデータファイルがSET NEWNAMEコマンドの対象にならなかった場合、これらのデータファイルは、DB_FILE_NAME_CONVERTパラメータを使用して名前が変更されます。
関連項目:
-
LOGFILEおよびSPFILE句については、Oracle Databaseバックアップおよびリカバリ・リファレンスのDUPLICATEコマンドを参照してください
データベース複製中のファイル名チェックの防止
CONFIGURE AUXNAMEコマンド、SET NEWNAMEコマンドまたはDB_FILE_NAME_CONVERTパラメータでは、ターゲット・データベースですでに使用されている名前を生成できます。この場合RMANでは、複製中にエラーが表示されます。リモート・ホストへの複製時には、NOFILENAMECHECKオプションを使用してこのエラー・メッセージを回避してください。
ノート:
ローカル・ホストに複製する際にNOFILENAMECHECKを使用すると、ターゲット・データベース・ファイルが上書きされます。
複製データベースの制御ファイル名の生成
デフォルトでは、RMANは制御ファイルを複製データベースのデフォルトの場所に作成します。別のファイル名とディレクトリ名を指定して、複製データベースの制御ファイルを保存できます。制御ファイルの名前を選択する際に、誤ってソース・データベースの制御ファイルを上書きしないようにします。
-
補助インスタンスの初期化パラメータ・ファイルに、
CONTROL_FILES初期化パラメータを設定します。 -
次のいずれかのパラメータを設定して決定された場所に、OMFベースの制御ファイルを作成します。
-
DB_CREATE_ONLINE_LOG_DEST_n -
DB_CREATE_FILE_DEST -
DB_RECOVERY_FILE_DEST
-
24.2.3 宛先ホストでのOracle Databaseソフトウェアのインストール
ソース・ホストと宛先ホストが異なる場合、補助インスタンスを作成できるように、Oracle Databaseソフトウェアを宛先ホストにインストールする必要があります。
ノート:
ソース・ホストと宛先ホストの両方で、必ず、同じレベルのパッチが適用された同じリリースのOracle Databaseソフトウェアをインストールしてください。
次のいずれかの方法を使用して、ソフトウェアをインストールします。
-
インストーラを使用して、通常のインストールを実行します。
ソース・データベースと同じリリース番号のOracle Databaseをインストールします。データベースは作成されず、ソフトウェアのみがインストールされます。必要なパッチを適用します。
-
ソースのOracleホームをクローニングします。
インストーラを使用して、ソースのOracleホームをクローニングします。これによって、ソース・データベースに適用されるすべてのパッチが、複製データベースに存在することになります。
24.2.4 複製データベースの状態の決定
RMAN DUPLICATEコマンドを使用すると、複製データベースが作成され、RESETLOGSモードでオープンします。DUPLICATEコマンドにNOOPEN句を使用して、複製データベースが開かれないように指定できます。
-
複製データベースを開くとエラーになる場合。
-
複製データベースの初期化パラメータを変更する必要がある場合。
たとえば、フラッシュバック・データベース設定を変更する必要があるか、高速増分バックアップを構成する必要があるか、またはブロック・チェンジ・トラッキングを変更する必要がある場合です。
-
アップグレード手順の一部として新しいデータベースを作成している場合。
アップグレード中に
RESETLOGSオプションを指定してデータベースをオープンすることはできません。NOOPEN句を使用すると、データベースを複製した後に、アップグレード・モードで開いて後続のアップグレード・スクリプトを実行できる状態にすることができます。
ノート:
RESETLOGSオプションを使用して複製データベースをオープンした後、複製された読取り専用データファイルに対して次のステップを完了してください:
CATALOG START WITHコマンドを使用して、宛先ホストで使用可能になったデータファイルのコピーをカタログに追加します。SWITCH DATAFILEコマンドを使用して、読取り専用データファイルを、カタログに追加されたデータファイルのコピーに切り替えます。- 読取り専用の表領域をオンラインに戻します。
- 複製中にスキップされた表領域を削除します。
- データベース・レベルまたは表レベルでサプリメンタル・ロギングを有効にします。詳細は、My Oracle Supportノート1059352.1を参照してください。
- データベースの強制ロギングを有効にします。詳細は、Oracle Database管理者ガイドのREDOログの管理を参照してください。
- ブロック・チェンジ・トラッキングを有効にします。詳細は、ブロック・チェンジ・トラッキングの有効化および無効化を参照してください。
24.3 データベースの複製の準備
データベースの複製の準備には、必須のタスクとオプションのタスクがあります。
データベースの複製を準備する際は、次のタスクを実行します。
-
(オプション)複製で使用するためのRMANチャネルの構成の説明に従って、ターゲット・チャネルおよび補助チャネルを構成します。
-
(バックアップベースの複製のみ)バックアップに対する複製インスタンスへのアクセスの許可の説明に従って、データベースの複製に必要なバックアップが複製先データベースで使用可能であることを確認します。
-
補助インスタンスの準備に記載された説明に従って、補助インスタンスを作成します。
-
ソース・データベースの適切な設定の説明に従って、ソース・データベースが必要な状態でオープンされていることを確認します。
-
RMANの起動およびデータベースへの接続の説明に従って、RMANを起動してターゲット・データベースおよび補助インスタンスに接続します。
24.3.1 複製で使用するためのRMANチャネルの構成
データベース複製の主な作業は、RMANチャネルによって実行されます。各チャネルが、複製タスクを実行するOracle Databaseのサーバー・セッションに対応します。複製方法に応じて、RMANは補助チャネルかターゲット・チャネルを使用します。
次の方法のいずれかを使用して、チャネルを構成します。
-
CONFIGUREコマンドを使用したチャネルの自動割当て -
ALLOCATEコマンドを使用したチャネルの手動割当て
自動チャネルを構成していない場合は、複製を開始する前に1つ以上のチャネルを手動で割り当てられます。チャネルを割り当てるALLOCATEコマンドは、DUPLICATEコマンドと同じRUNブロック内にある必要があります。
ソース・データベース・チャネルでAUXILIARYオプションが指定されていなくても、RMANは、宛先ホスト上の複製に、ソース・データベースと同じチャネル構成を使用できます。
24.3.1.1 バックアップベースの複製のためのチャネル構成
バックアップベースの複製の場合、複製の主な作業は補助チャネルによって行われます。補助チャネルは、宛先ホスト上の補助インスタンスのサーバー・セッションに対応しています。RMANは、チャネルを使用して補助インスタンスのバックアップをリストアします。
複製操作のパフォーマンスを向上するには、追加の補助チャネルを構成します。補助チャネルを明示的に構成しない場合、RMANは、宛先ホストの複製にソース・データベースと同じチャネル構成を使用します。ソース・データベースのチャネルでAUXILIARYオプションを指定しなくても、RMANでこれらの構成を利用できます。
以下の追加の考慮事項に注意してください。
-
ディスクベースのバックアップでは、追加チャネルを割り当てることで複製操作の速度をより高速にできます。
テープベースの複製では、チャネルの割当ては、使用できるテープ・デバイスの数と同じ数まで行えます。
-
補助チャネルのチャネル・タイプ(DISKまたはsbt)は、バックアップ・メディアと一致している必要があります。通常、ディスク・バックアップ用に割り当てるチャネルの数を増やすと、複製が高速になります。ディスクが最大の読取り/書込み速度に達した後、複製の速度を速くすることはできません。テープ・バックアップの場合は、チャネルの数を使用可能なデバイスの数に制限します。
-
ただし、補助チャネルに特別なパラメータが必要な場合(別のメディア・マネージャを指す場合など)は、
CONFIGUREコマンドのAUXILIARYオプションを指定して自動チャネルを構成します。 -
ターゲット接続もリカバリ・カタログも使用せずに複製を実行する場合、ディスク・チャネルのみが使用できます。ユーザーによって割り当てられたチャネルが使用されていない場合、最初に制御ファイルをリストアするチャネルは1つのみです。制御ファイルがマウントされた後は、割り当てられるチャネルの数はリストアされた制御ファイルの構成によって異なります。
-
DUPLICATEコマンドのUSING BACKUPSET句を省略したとき、割り当てられた補助チャネルの数がターゲット・チャネルの数以上の場合、RMANは引き続きバックアップ・セットによるアクティブなデータベース複製を使用します。 -
補助チャネルが、必要なデータファイルとアーカイブREDOログ・ファイルのバックアップにアクセスできない場合、複製は失敗します。
例24-1 ディスクベースのバックアップ用補助チャネルの構成
次の例では、3つの補助チャネルを割り当ててデータベースをディスクに複製します。
run
{
ALLOCATE AUXILIARY CHANNEL c1 DEVICE TYPE disk;
ALLOCATE AUXILIARY CHANNEL c2 DEVICE TYPE disk;
ALLOCATE AUXILIARY CHANNEL c3 DEVICE TYPE disk;
. . .
DUPLICATE DATABASE . . . ;
}24.3.1.2 アクティブなデータベースの複製のためのチャネル構成
アクティブなデータベースの複製では、ソース・データベースのチャネル構成を変更したり、補助チャネルを構成する必要はありません。
データベースを複製するときには、RMANでネットワークを介してパラレルでファイルがコピーされるように、ソース・データベースのディスク・チャネルのパラレル化設定を高くする必要がある場合があります。
アクティブなデータベースの複製に使用される複製方法のタイプによって、複製の主な作業をどのチャネルが実行するかが決まります。アクティブなデータベースの複製の実行にイメージ・コピーが使用される場合、主な作業はターゲット・チャネルによって実行されます。複製のパフォーマンスを向上させるには、ソース・データベースに複数のターゲット・チャネルを構成します。バックアップ・セットを使用してアクティブなデータベース複製が実行される場合、複製に関する主な作業は補助チャネルによって実行されます。このため、追加の補助チャネルを割り当てることをお薦めします。補助チャネルの数は、ターゲット・チャネルの数以上である必要があります。アクティブな複製にバックアップ・セットを使用することによってパラレル化も可能になり、複製プロセスの速度を向上させることができます。
24.3.2 バックアップに対する複製インスタンスへのアクセスの許可
複製中に使用されたバックアップの名前は、RMANリポジトリまたは制御ファイルに格納されます。
ノート:
アクティブなデータベースの複製を実行している場合は、このステップは必要ありません。
ターゲット接続およびリカバリ・カタログ接続を使用して、またはターゲット接続のみを使用して複製を実行している場合、RMANでは、RMANリポジトリのメタデータを使用して、複製に必要なバックアップおよびアーカイブREDOログ・ファイルを検索します。RMANがリカバリ・カタログに接続される場合、RMANはカタログからバックアップ・メタデータを取得します。RMANがカタログに接続されない場合は、(ターゲット接続を行うバックアップベースの複製のときなど)、制御ファイルからメタデータを取得します。
ターゲットにもリカバリ・カタログにも接続せずに複製を実行している場合を除いて、バックアップの名前はRMANリポジトリに記録されている名前と同じ名前で使用できる必要があります。宛先ホストの補助チャネルがすべてのデータファイルのバックアップおよびアーカイブREDOログ・ファイルにアクセスできることを確認します。これは、複製データベースを目的の時点までリストアおよびリカバリするために必要です。アクセスできない場合、複製は失敗します。アーカイブREDOログ・ファイルは、イメージ・コピーまたはバックアップ・セットとして使用可能です。
ノート:
データベース・バックアップがBACKUP DATABASEコマンドで生成されている必要はありません。個々のデータファイルの全体バックアップおよび増分バックアップを組み合せることができますが、すべてのデータファイルの全体バックアップが必要です。
24.3.2.1 補助インスタンスからSBTバックアップへのアクセス可能化
補助インスタンスからSBTバックアップへのアクセスを可能にするステップは、メディア・マネージャ構成に固有です。バックアップ・メタデータがXMLファイルに格納されている場合は、複製中に宛先データベースからアクセスできる場所にXMLファイルが格納されていることを確認します。
XML形式で格納されたバックアップ・メタデータを使用して、データベースを複製できます。バックアップベースの複製方法がサポートされています。バックアップ・メタデータ・ファイルを使用する場合は、BACKUP LOCATION FROM FILEオプションを指定してDUPLICATEコマンドを実行し、XMLファイルの場所を指定します。RMANは、XMLファイルに格納されているメタデータを使用して、複製に必要なバックアップを識別します。この場合、宛先ホストからアクセス可能な場所にXMLファイルが格納されていることを確認する必要があります。
24.3.2.2 補助インスタンスからディスク・バックアップへのアクセス可能化
補助インスタンスからディスク・バックアップへのアクセスを可能にする場合は、ターゲットまたはリカバリ・カタログに接続された状態でデータベースを複製するかどうかによって、方法が異なります。ターゲットまたはリカバリ・カタログに接続しない場合、BACKUP LOCATION句を使用して、複製のためのバックアップ場所を指定する必要があります。
バックアップ場所を使用する場合、バックアップおよびコピーは共有の場所に存在するか、または宛先ホスト上の場所への移動が可能です。後者の場合は、バックアップまたはコピーの名前や元のパスを保持する必要はありません。BACKUP LOCATIONオプションで指定された場所には、複製されるすべてのファイルをリストアし目的の時点までリカバリするために十分なバックアップ・セット、イメージ・コピーおよびアーカイブ・ログが含まれている必要があります。
バックアップは、すべて同じ時点のものである必要はありません。また、すべてバックアップ・セットである必要も、すべてイメージ・コピーである必要もありません。データファイル・バックアップは、イメージ・コピーまたはバックアップ・セットとして提供されることができます。 アーカイブ・ログは、通常の形式またはアーカイブ・ログのバックアップ・セットとして提供されることができます。
異なる時点のバックアップを使用する場合、バックアップ場所には、最も古いバックアップの開始から目的のリカバリ・ポイントまでの期間をカバーするアーカイブ・ログが含まれる必要があります。
バックアップ場所に複数のデータベースのバックアップ・ファイルが含まれる場合、DATABASE句で、複製するデータベースの名前を指定する必要があります。バックアップ場所に同じ名前を持つ複数のデータベースのバックアップ・ファイルが含まれる場合、DATABASE句で、複製するデータベースの名前とDBIDの両方を指定する必要があります。
ソース・データベースの高速リカバリ領域は、バックアップ場所としての使用に特に適しています。これは、複製に必要なすべてのファイルがほぼ常に含まれているためです。高速リカバリ領域をバックアップ場所として使用するには、宛先システムからリモートでアクセスするか、または高速リカバリ領域の内容を宛先システムにコピーすることができます。
-
ソース・ホストと宛先ホストが同一のファイル・システムである場合
これは最も簡単で推奨される例です。たとえば、ソース・データベースのバックアップが/dsk1/bkpディレクトリに格納されているとします。この場合、次のいずれかの方法で、宛先ホストからディスク・バックアップにアクセスできるようになります。-
バックアップをソース・ホストから宛先ホストの同一のパスに手動で転送します。たとえば、バックアップがソース・ホストの
/dsk1/bkpディレクトリにある場合は、FTPを使用してそれらのバックアップを宛先ホストの/dsk1/bkpディレクトリに転送します。 -
NFSまたは共有ディスクを使用して、宛先ホストで同じパスにアクセスできるようにします。たとえば、ソース・ホストから
/dsk1/bkpディレクトリにアクセスできるとすると、NFSを使用して宛先ホストに/dsk1/bkpディレクトリをマウントし、/dsk1/bkpをマウント・ポイント名として使用します。
-
-
ソース・ホストと宛先ホストのファイル・システムが異なる場合
この場合、ソース・ホストで使用するディレクトリ名と同じディレクトリ名は、宛先ホストで使用できません。ここでは次のオプションを指定できます。-
バックアップを使用可能にするために共有ディスクを使用できる場合。この項では、共有ディスクを使用する方法について説明します。
-
バックアップを使用可能にするために共有ディスクを使用できない場合。この方法については、「共有ディスクを使用しないディスク・バックアップのアクセス可能化」を参照してください。
srchostおよびdsthostという2つのホストがあり、NFSまたは共有ディスクにアクセスできるとします。srchost上のデータベースは、srcdbです。srcdbのバックアップは、ホストsrchost上の/dsk1/bkpディレクトリ内に存在します。ディレクトリ/dsk1/bkpは宛先ホストで使用されていますが、ディレクトリ/dsk2/dupは、いずれのホストでも使用されていません。 -
バックアップをソース・ホストから宛先ホストに転送するには:
-
ソース・ホストまたは宛先ホストのいずれかに、バックアップを格納するディレクトリを作成します。
たとえば、宛先ホスト上にバックアップ・ディレクトリ
/dsk2/dupを作成します。 -
前のステップで作成したディレクトリをもう一方のホストにマウントします。ディレクトリとマウント・ポイントの名前が同一であることを確認します。
たとえば、宛先ホストに
/dsk2/dupディレクトリを作成した場合は、NFSを使用してこのディレクトリを/dsk2/dupとしてソース・ホストにマウントします。 -
バックアップを宛先ホスト上の新しい場所で使用できるようにします。次のいずれかの方法を使用できます。
-
RMANをTARGETとしてソース・データベースに接続し、
BACKUPコマンドを使用してバックアップを実行します。たとえば、BACKUP COPY OF DATABASEコマンドを使用して、ソース・ホストの/dsk1/bkpディレクトリにあるバックアップを宛先ホストの/dsk2/dupディレクトリにコピーします。この場合、RMANは、新しい場所のバックアップを自動的にカタログに追加します。PDBを複製する場合、
BACKUP COPY OFコマンドのPLUGGABLE DATABASE構文を使用して、PDBのバックアップのみをコピーします。 -
オペレーティング・システム・ユーティリティを使用して、バックアップを新しい場所に転送します。たとえば、FTPを使用して、ソース・ホストの
/dsk1/bkpディレクトリから宛先ホストの/dsk2/dupディレクトリにバックアップを転送するか、cpコマンドを使用して、ソース・ホストの/dsk1/bkpディレクトリから宛先ホストの/dsk2/dupディレクトリにバックアップをコピーします。後で、RMANをTARGETとしてソース・データベースに接続し、CATALOGコマンドを使用して、手動で転送したバックアップの場所で、RMANのリポジトリを更新します。
-
24.3.3 補助インスタンスの準備
RMANは、補助インスタンスを使用して複製データベースを作成します。複製を開始する前に、補助インスタンスを準備する必要があります。
複製シナリオに応じて、この項で説明する一部またはすべてのタスクを実行する必要があります。補助インスタンスの準備には、次のタスクが含まれます。
24.3.3.1 複製データベースのディレクトリの作成
宛先ホスト上で、複製データベース・ファイルの格納に使用されるディレクトリを作成する必要があります。これには、データファイル、制御ファイル、オンラインREDOログ・ファイルおよび一時ファイルを格納するディレクトリが含まれます。
24.3.3.2 補助インスタンス用の初期化パラメータ・ファイルの作成
補助インスタンスを起動するために必要な初期化パラメータ・ファイルの作成に、複数の方法を使用できます。
-
初期化パラメータ・ファイルを手動で作成します。
ソース・データベースがサーバー・パラメータ・ファイルを使用していない場合は、補助インスタンスに必要なすべてのパラメータをテキストベースの初期化パラメータ・ファイルで設定する必要があります。
-
補助インスタンスのソース・データベースの初期化パラメータ・ファイルを使用するように、RMANに指定します。
この方法は、ソース・データベースでサーバー・パラメータ・ファイルが使用されている場合にのみ適用できます。ソース・データベースからの初期化パラメータ・ファイルのコピーは、複製データベースでソースと同じパラメータ設定を使用する必要がある場合に便利です。
ノート:
複製にテキストベースの初期化パラメータ・ファイルではなく、サーバー・パラメータ・ファイルを使用することをお薦めします。
補助インスタンスのクライアント側パラメータ・ファイルは、複製を実行するRMANクライアントと同じホスト上に配置する必要があります。
初期化パラメータ・ファイルは、補助インスタンスのデフォルトの場所に作成することをお薦めします。Windowsではデフォルトの初期化パラメータ・ファイルはORACLE_HOME\database\initORACLE_SID.ora and on Linux the file name is ORACLE_HOME/dbs/initORACLE_SID.oraです。
24.3.3.2.1 補助インスタンス用の初期化パラメータ・ファイルの作成ステップ
データベースを複製するときには、この手順を使用して、宛先ホスト上に補助インスタンスの初期化パラメータ・ファイルをコピーまたは作成します。
補助インスタンスの初期化パラメータ・ファイルには、少なくともDB_NAMEとDB_DOMAINの初期化パラメータが含まれる必要があります。必要に応じて、さらにパラメータを指定できます。
初期化パラメータ・ファイルが、複製を実行するRMANクライアントと同じホストに存在することを確認します。
例24-2 補助インスタンス用の初期化パラメータ・ファイル
DB_NAME=dupdb
CONTROL_FILES=(/dup/oracle/oradata/prod/control01.ctl,
dup/oracle/oradata/prod/control02.ctl)
DB_FILE_NAME_CONVERT=(/oracle/oradata/prod/,/dup/oracle/oradata/prod/)
LOG_FILE_NAME_CONVERT=(/oracle/oradata/prod/redo,/dup/oracle/oradata/prod/redo)関連トピック
24.3.3.2.2 ソース・データベースからのサーバー・パラメータ・ファイルのコピー
初期化パラメータ・ファイルをソース・データベースから補助インスタンスにコピーする方法は、パラメータ・ファイルのタイプ、および選択した複製方法によって異なります。
- ソース・データベースでサーバー・パラメータ・ファイルが使用されている場合、
DUPLICATEコマンドにSPFILEオプションを含めて、ソース・データベースのサーバー・パラメータ・ファイルを補助インスタンスに対して使用するようにRMANに指示します。 - バックアップベースの複製を使用する場合、サーバー・パラメータ・ファイルはバックアップからリストアされます。
- アクティブなデータベースの複製を使用するの場合、サーバー・パラメータ・ファイルはソース・データベースから補助インスタンスにコピーされます。
- ソース・データベースでテキストベースの初期化パラメータ・ファイルが使用されている場合は、
DUPLICATEコマンドでPFILE句を使用して、ソース・データベースの初期化パラメータ・ファイルを補助インスタンスにコピーします。
ソース・データベースのサーバー・パラメータ・ファイルからコピーまたはリストアされた値は、SPFILEのPARAMETER_VALUE_CONVERTオプション、またはDUPLICATEのSET句のどちらかを使用して変更できます。たとえば、SET句を使用して、補助インスタンスのサーバー・パラメータ・ファイルのDB_FILE_NAME_CONVERTパラメータの値を変更できます。
ソース・データベースでサーバー・パラメータ・ファイルが使用されていない場合や、RMANでサーバー・パラメータ・ファイルのバックアップをリストアできない場合は、テキストベースの初期化パラメータ・ファイルを手動で作成する必要があります。
24.3.3.3 補助インスタンス用のパスワード・ファイルの作成
補助インスタンスへの接続は、オペレーティング・システム認証またはパスワード・ファイル認証を使用して確立できます。
パスワード・ファイル認証を使用してデータベースに接続するには、そのデータベースのパスワード・ファイルを作成する必要があります。パスワード・ファイル認証は、リモート・ホストに複製する場合、またはアクティブなデータベースの複製を実行する場合には必須です。バックアップベースの複製の場合、パスワード・ファイルを作成するか、オペレーティング・システム認証を使用して補助インスタンスに接続できます。
パスワード・ファイルのデフォルトの場所は、Microsoft Windowsの場合は$ORACLE_BASE\database、LinuxおよびUnixの場合は$ORACLE_BASE/dbsです。
ノート:
RMAN複製を使用してスタンバイ・データベースを作成する場合、パスワード・ファイルは常にコピーされます。その他すべての場合では、DUPLICATEコマンドにPASSWORD FILEオプションを指定した場合にのみ、パスワード・ファイルがコピーされます。
宛先ホストで次のいずれかのオプションを使用して、補助インスタンス用にパスワード・ファイルを作成します。
関連項目:
24.3.3.4 ソース・データベースと補助インスタンス間のOracle Net接続の確立
特定の複製では、ソース・データベースと補助インスタンスとの接続を確立する必要があります。
-
RMANクライアントが宛先ホスト以外のホストから実行されている
-
複製方法としてアクティブなデータベースの複製が選択されている
-
宛先ホストがソース・ホストとは異なる
アクティブなデータベースの複製を実行するには、SYSDBAまたはSYSBACKUP権限とネット・サービス名を使用して補助インスタンスに接続する必要があります。RMANがTARGETとして接続しているソース・データベースは、このネット・サービス名を使用して、補助データベース・インスタンスに直接接続します。
Oracle Netの接続を確立し静的リスナーを設定するには:
- データベースに接続するようにクライアントを構成し、リスナーの静的サービス情報を追加するには、『Oracle Database Net Services管理者ガイド』の手順を実行します。
例24-3 ソース・データベースと補助インスタンスとのOracle Net接続の確立
ソース・データベースのDB_NAMEがsrcで、ソース・ホストがsrc.example.comと想定します。補助インスタンスのDB_NAMEはdupで、補助インスタンスはホストdup.example.com上に作成されます。
-
ソース・データベースの
tnanames.oraファイルに、複製データベースに対応する次のエントリを追加します。dupdb = (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dup.example.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=dup))) -
宛先ホストの
$ORACLE_HOME/admin/networkフォルダに、tnsnames.oraファイルを作成します。ソース・データベースに対応する次のエントリを追加します。srcdb = (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=src.example.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=src)))
関連トピック
24.3.3.5 補助インスタンスの起動
作成した初期化パラメータ・ファイルは、補助インスタンスの起動に使用されます。
DUPLICATEコマンドのPFILEパラメータに、クライアント側の初期化パラメータ・ファイルを指定する必要があります。
ノート:
補助インスタンスに制御ファイルがないため、このインスタンスはNOMOUNTモードでのみ起動できます。制御ファイルの作成、補助インスタンスのマウントまたはオープンは実行しないでください。
補助インスタンスを起動するには:
関連トピック
24.3.3.6 宛先ホストでOracleキーストアを使用可能にする
ソース・データベースで透過的暗号化が構成されている場合、補助インスタンスでソース・データベースのOracleソフトウェア・キーストアを使用できることを確認する必要があります。ソース・データベースのキーストアを、手動で宛先ホストにコピーします。
Oracleソフトウェア・キーストアには、次の処理に使用されるTDEマスター・キーが含まれています。
-
バックアップベースの複製の実行時に暗号化されたバックアップを復号化します。
-
TDEで暗号化されたデータベースまたは表領域のアクティブなデータベースの複製を実行するときに、データベースまたは表領域データを復号化します。
複製データベースでのキーストアの要件は次のとおりです。
関連項目:
-
sqlnet.oraでのOracleキーストアの場所の指定の詳細は、「ソフトウェア・キーストアの場所用のsqlnet.oraファイルの構成」を参照してください -
Oracleキーストアの構成の詳細は、『Oracle Database透過的データ暗号化ガイド』を参照してください
-
SETコマンドの詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。
24.3.4 ソース・データベースの適切な設定
RMANをTARGETとしてソース・データベースに接続する場合、ソース・データベースは複製に適した状態になっている必要があります。
ノート:
ターゲット接続を行わないバックアップベースの複製を実行する場合には、RMANの起動およびデータベースへの接続に進みます。
ソース・データベースが適切な状態にあることを確認するには:
24.3.5 RMANの起動およびデータベースへの接続
RMANを起動し、複製後にターゲット・インスタンスおよび補助インスタンスに接続するには、この手順を使用します。
選択した複製方法で要求されているとおりに、RMANクライアントを起動してデータベース・インスタンスに接続する必要があります。RMANクライアントは、ネットワーク経由で必要なデータベースに接続可能であるかぎり、任意のホスト上に配置できます。
-
イメージ・コピーを使用したアクティブなデータベースの複製の場合、ソース・データベースに
TARGETとして、補助インスタンスにAUXILIARYとして接続する必要があります。AUXILIARYインスタンスに接続するには、ネット・サービス名を指定する必要があります。リカバリ・カタログ接続は任意です。両方のインスタンスで、複製を実行しているユーザーのパスワードを同じにする必要があります。SYSDBA権限またはSYSBACKUP権限を持つユーザーは、誰でも複製を実行できます。 -
バックアップ・セットを使用したアクティブなデータベースの複製の場合、ネット・サービス名を使用して、ソース・データベースに
TARGETとして接続する必要があります。補助インスタンスは、このネット・サービス名を使用してソース・データベースに接続し、複製に必要なバックアップ・セットを取得します。補助インスタンスにAUXILIARYとして接続します。リモートから補助インスタンスに接続するか、またはDUPLICATEコマンドのPASSWORD FILEオプションを使用する場合は、ネット・サービス名で補助インスタンスに接続します。両方のインスタンスで、複製を実行しているユーザーのパスワードを同じにする必要があります。SYSDBA権限またはSYSBACKUP権限を持つユーザーは、誰でも複製を実行できます。リカバリ・カタログ接続は任意です。 -
ターゲット接続を行わないバックアップベースの複製の場合、
AUXILIARYとして補助インスタンスに接続し、CATALOGとしてリカバリ・カタログに接続する必要があります。 -
ターゲット接続を行うバックアップベースの複製の場合、
TARGETとしてソース・データベースに接続し、AUXILIARYとして補助インスタンスに接続する必要があります。リカバリ・カタログは任意です。 -
ターゲットおよびリカバリ・カタログへの接続を行わないバックアップベースの複製の場合、
AUXILIARYとして補助インスタンスに接続する必要があります。
RMANを起動し、ターゲット・インスタンスおよび補助インスタンスに接続するには:
-
必要なデータベース・インスタンスに接続可能なホスト上で、RMANを起動します。
たとえば、宛先ホストのオペレーティング・システム・プロンプトで、次のコマンドを入力します。
% rman -
RMANプロンプトで、選択した複製方法に必要となるデータベース・インスタンスに対して、
CONNECTコマンドを実行します。- データベース全体または複数のPDBを複製する場合は、ソース・データベースのルートおよび補助インスタンスに接続します。
- 単一のPDBを複製する場合は、複製シナリオに応じてルートまたはPDBに接続できます。補助データベースのルートに接続します。
ノート:
TARGETとしてスタンバイ・データベースに接続することはできません。
例24-4 アクティブなデータベースの複製の実行時の必要なデータベースへの接続
この例では、ネット・サービス名を使用して、ソース・データベースと補助インスタンスへの接続が確立されます。ソース・データベースのネット・サービス名はsrcdbで、補助インスタンスではdupdbです。
宛先ホストから必要なデータベースに接続するには:
-
宛先ホストでRMANクライアントを起動します。
% rman -
TARGETを指定してソース・データベースのルートに接続します。RMAN> CONNECT TARGET "sys@srcdb AS SYSBACKUP";要求されたらソース・データベースの
SYSユーザーのパスワードを入力します。 -
AUXILIARYを指定して補助インスタンスのルートに接続します。RMAN> CONNECT AUXILIARY sys@dupdb;要求されたら補助インスタンスの
SYSユーザーのパスワードを入力します。
24.3.6 DUPLICATEコマンドを使用したデータベースの複製
RMANには、DUPLICATEコマンドを使用してデータベースを複製するための複数のオプションが用意されています。
DUPLICATEコマンドの次のオプションのいずれかを使用します。
-
DUPLICATE DATABASEまたはDUPLICATE...ACTIVE DATABASEこれらはCDBの複製に使用します。
-
DUPLICATE DATABASE ... FOR STANDBYこれは、ソース・データベースを複製してスタンバイ・データベースを作成するために使用します。
DUPLICATE DATABASE ... FOR FARSYNCコマンドを使用して、複製によってOracle Data Guardの遠隔同期インスタンスを作成します。 -
DUPLICATE PLUGGABLE DATABASEこれは、rootへの接続中に1つ以上のPDBを複製するために使用します。
-
DUPLICATE DATABASE...INSTANT SPARSEこのコマンドで、ソース・データベースのバックアップを使用することでスパース・データベースを作成します。
SET NEWNAMEコマンドを使用して複製データベース・ファイルに別の名前を指定する場合は、DUPLICATEコマンドとSET NEWNAMEコマンドをRUNブロック内に含めるようにします。
関連項目:
-
複製のその他の例は、Oracle Databaseバックアップおよびリカバリ・リファレンスの
DUPLICATEコマンドを参照してください。
24.4 データベースの複製
DUPLICATEコマンドを使用して、データベースのすべてまたは一部を複製できます。
ノート:
同じソース・データベースを使用して同時に複製操作を実行することは、サポートされていません。
ノート:
データベース全体またはデータベースの一部を複製する場合、複製データベースに不要または予期されていないコンテンツまたは状態情報がある場合は、他のアクションを実行する前にその情報を破棄してください。たとえば、複製前にソース・データベースの状態が保存された場合、複製データベースでアクションを実行する前にこの情報を破棄します。
24.4.1 データベース全体の複製
DUPLICATEコマンドを使用して、マルチテナント・コンテナ・データベース(CDB)全体を複製します。
CDBを複製するには:
-
データベースの複製の計画に記載された計画タスクに次の変更を加えて実行します。
バックアップに対する複製インスタンスへのアクセスの許可および共有ディスクを使用しないディスク・バックアップのアクセス可能化における次の変更点に注意してください。
BACKUPコマンドのPLUGGABLE DATABASE構文を使用して、特定のPDBのバックアップのみをコピーします。次のコマンドでは、CDB全体のバックアップ・ファイルが転送されます。
BACKUP COPY OF DATABASE;次のコマンドでは、
pdb3というPDBのバックアップ・ファイルのみが転送されます。BACKUP COPY OF PLUGGABLE DATABASE pdb3; -
データベースの複製の前提条件の説明に従って、選択された複製方法の前提条件が満たされていることを確認します。
-
補助インスタンスの準備に記載された説明に次の変更を加えて、補助インスタンスを準備します。
-
補助インスタンスをCDBとして作成する必要があります。これには、初期化パラメータ・ファイルの次の宣言でインスタンスを開始します。
enable_pluggable_database=TRUE -
補助インスタンスのために初期化パラメータ・ファイルを作成するように指示された場合は、ファイルをソース・データベースからコピーする必要があります。これによって、補助インスタンスはCDBでもあります。ファイルをコピーした後、次のステップを実行します。
-
DB_NAMEパラメータの変更 -
様々な宛先または場所のパラメータの変更
-
-
必要なインスタンスへの接続が指示されたら、
SYSDBA権限またはSYSBACKUP権限を持つユーザーとしてrootに接続します。両方のインスタンスで、複製を実行しているユーザーのパスワードを同じにする必要があります。
-
-
RMANを開始し、
SYSDBAまたはSYSBACKUP権限を持つユーザーとしてrootに接続します。補助インスタンスとターゲット・データベースの両方で、複製を実行しているユーザーのパスワードを同じにする必要があります。
複製方法によっては、ターゲット・データベース、補助インスタンスまたはリカバリ・カタログの1つ以上への接続が必要になる場合があります。
-
必要な場合は、ソース・データベースの適切な設定の説明に従って、ソース・データベースを適切な状態に設定します。
-
必要に応じて、複製で使用するためのRMANチャネルの構成の説明に従って、RMANチャネルを構成します。
複製の主な作業は、RMANチャネルによって実行されます。追加チャネルを構成すると、複製のパフォーマンスが向上します。
-
DUPLICATEコマンドを使用して、ソースCDBを複製します。DUPLICATEコマンドを使用したデータベースの複製を参照してください。
アクティブなデータベースの複製を実行する場合、ソース・データベースから複製データベースへのファイル転送に使用されるバックアップ・セットを暗号化または圧縮できます。また、マルチセクション・バックアップを使用してバックアップ・セットをソース・データベース上でパラレルに作成できます。
24.4.2 ソース・データベース表領域のサブセットの複製
ソース・データベース内の指定した表領域を複製できます。
データベースのいくつかの表領域を複製するには:
例24-5 読取り専用表領域の除外
この例では、データベースの複製中に読取り専用表領域をスキップする方法を示します。
DUPLICATE TARGET DATABASE TO dupdb
FROM ACTIVE DATABASE
SKIP READONLY;
例24-6 指定した表領域の除外
この例では、データベースの複製中にtoolsという名前の表領域をスキップする方法を示します。
DUPLICATE TARGET DATABASE
TO dupdb
FROM ACTIVE DATABASE
SKIP TABLESPACE tools;例24-7 指定した表領域の追加
TABLESPACEオプションを使用すると、指定したデータベースに含める表領域を指定できます。残りの表領域はスキップされます。複製された表領域のサブセットは、自己完結型である必要があります。結果として、スキップされた表領域のセットには、UNDOセグメントやマテリアライズド・ビューは含まれていない必要があります。
この例では、自己完結型であると想定されるusers表領域が含められ、SYSTEM表領域、SYSAUX表領域およびUNDOセグメントを含む表領域以外の、すべての表領域が除外されます。
DUPLICATE TARGET DATABASE
TO dupdb
FROM ACTIVE DATABASE
TABLESPACE users;例24-8 UNDOセグメントを含む指定した表領域の追加
この例では、リカバリ・カタログ接続ではなく、ターゲット接続を使用してバックアップベースの複製が実行されます。また、複製の対象として表領域のサブセットを指定します。この場合、ターゲット・データベースが開いていないと、RMANではUNDOセグメントを含む表領域の名前を取得できません。したがって、これらの表領域に対してUNDO TABLESPACEオプションを指定する必要があります。users表領域は、自己完結型である必要があります。結果として、スキップされた表領域のセットには、UNDOセグメントやマテリアライズド・ビューは含まれていない必要があります。
DUPLICATE TARGET DATABASE TO dupdb
TABLESPACE users
UNDO TABLESPACE undotbs;24.4.3 PDBの複製
新しいマルチテナント・コンテナ・データベース(CDB)または既存のCDBにPDBを複製できます。
トピック:
24.4.3.1 PDBの複製について
DUPLICATEコマンドを使用して、単一のPDB、PDBのセットまたはPDB内の表領域のセットを複製できます。
PDBを複製するには、SYSDBAまたはSYSBACKUP権限を持つユーザーとして、CDBのrootにログインする必要があります。新しいCDBにPDBを複製する場合、補助インスタンスをCDBとして作成する必要があります。これには、初期化パラメータ・ファイルでenable_pluggable_database=TRUEを宣言して補助インスタンスを開始します。
1つまたは複数のPDBを複製すると、root (CDB$ROOT)およびCDBシード(PDB$SEED)も複製されます。複製されたデータベースは、root、CDBシードおよび複製されたPDBを含む、完全に機能するCDBです。
表24-3 PDBの複製の方法
| 方法 | 説明 | 追加情報 |
|---|---|---|
|
既存のCDBへのPDBの複製 |
PDBを既存のCDBに複製するには、 |
|
|
新しいCDBへの指定したPDBの複製 |
次のいずれかの方法を使用します。
|
|
|
新しいCDBへの、PDB内の指定した表領域の複製 |
次のいずれかの方法を使用します。
|
ノート:
ターゲット接続のないまたはターゲットおよびリカバリ・カタログ接続のないバックアップベースの複製に表領域を含めるか除外する場合、RMANには特別な前提条件があります。詳細は、Oracle Databaseバックアップおよびリカバリ・リファレンスのDUPLICATEコマンドの前提条件の項を参照してください。
24.4.3.2 既存のCDBへのPDBの複製の制限事項
既存のCDBへのPDBの複製には、一定の制限が適用されます。
-
アクティブなデータベースの複製のみがサポートされています。
-
DUPLICATEコマンドの次の句のみがサポートされています。NORESUME、DB_FILE_NAME_CONVERT、SECTION SIZEおよびUSING COMPRESSED BACKUPSET。 -
DUPLICATEコマンドの次の句はサポートされません。SPFILE、NO STANDBY、FARSYNC STANDBYおよびLOG_FILE_NAME_CONVERT。 -
スタンバイ・データベースであるCDBへのPDBの複製は、サポートされていません。
-
一度に1つのPDBのみを複製できます。
-
部分的なPDBの複製はサポートされておらず、PDB全体の複製のみがサポートされています。たとえば、PDBを複製する際に特定の表領域を含めたり除外したりすることはできません。
-
既存のCDB内のPDBとして非CDBを複製することはサポートされていません。
-
TDE暗号化表領域を含むPDBを複製する前に、必ずソースCDBからPDBマスター・キーをエクスポートし、既存のターゲットCDBにキーをインポートしてください。この方法は、ソースPDBが統合モードで構成されている場合にのみ適用されます。
24.4.3.3 TDE暗号化表領域を含むPDBのマスター・キーのエクスポートとインポート
この前提条件タスクを実行してから、暗号化された表領域を含むPDBを複製します。ソースPDBにキーストアが統合モードで設定されていることを確認します。
- ソースPDBのマスター・キーをエクスポートするには、次の手順を実行します。
- エクスポートしたTDEマスター暗号化キーを、宛先CDBのターゲット・キーストアにインポートします。
関連トピック
24.4.3.4 既存のCDBへのPDBの複製
DUPLICATEコマンドを使用して、既存のCDBにPDBを複製します。
既存のCDBにPDBを複製するには:
ノート:
既存のCDBへのPDBの複製は、Oracle Databaseリリース18cからサポートされています。
24.4.3.5 新しいCDBへのPDBの複製
DUPLICATEコマンドを使用して、新しいCDBに1つ以上のPDBを複製します。
新しいCDBにPDBを複製するには:
-
データベースの複製の計画に記載された計画タスクに次の変更を加えて実行します。
バックアップに対する複製インスタンスへのアクセスの許可および共有ディスクを使用しないディスク・バックアップのアクセス可能化における次の変更点に注意してください。
BACKUPコマンドのPLUGGABLE DATABASE構文を使用して、特定のPDBのバックアップのみをコピーします。たとえば、次のコマンドでは、
pdb3というPDBのバックアップ・ファイルのみが転送されます。BACKUP COPY OF PLUGGABLE DATABASE pdb3; -
データベースの複製の前提条件の説明に従って、選択された複製方法の前提条件が満たされていることを確認します。
-
補助インスタンスの準備に記載された説明に次の変更を加えて、補助インスタンスを準備します。
-
補助インスタンスをCDBとして作成する必要があります。これには、初期化パラメータ・ファイルの次の宣言でインスタンスを開始します。
enable_pluggable_database=TRUE -
補助インスタンスのために初期化パラメータ・ファイルを作成するように指示された場合は、ファイルをソース・データベースからコピーする必要があります。これによって、補助インスタンスはCDBでもあります。ファイルをコピーした後、次のステップを実行します。
-
DB_NAMEパラメータの変更 -
様々な宛先/場所のパラメータの変更
-
-
必要なインスタンスへの接続が指示されたら、
SYSDBA権限またはSYSBACKUP権限を持つユーザーとしてrootに接続します。両方のインスタンスで、複製を実行しているユーザーのパスワードを同じにする必要があります。
-
-
RMANを開始し、
SYSDBAまたはSYSBACKUP権限を持つユーザーとしてrootに接続します。補助インスタンスとターゲット・データベースの両方で、複製を実行しているユーザーのパスワードを同じにする必要があります。
-
必要な場合は、ソース・データベースの適切な設定の説明に従って、ソース・データベースを適切な状態に設定します。
-
必要に応じて、複製で使用するためのRMANチャネルの構成の説明に従って、RMANチャネルを構成します。
複製の主な作業は、RMANチャネルによって実行されます。追加チャネルを構成すると、複製のパフォーマンスが向上します。
-
DUPLICATE…PLUGGABLE DATABASEコマンドを使用して、PDBを複製します。ターゲットおよびリカバリ・カタログ接続なしで複製を実行する場合は、複製するPDBのリストにルートを含める必要があります。
例: PDBの複製
-
CDB
cdb1に、PDBpdb1を複製するには、次のコマンドを使用します。DUPLICATE DATABASE TO cdb1 PLUGGABLE DATABASE pdb1; -
データベース
cdb1に、PDBpdb1、pdb3およびpdb4を複製するには、次のコマンドを使用します。DUPLICATE DATABASE TO cdb1 PLUGGABLE DATABASE pdb1,pdb3,pdb4; -
PDB
pdb3を除く、CDB内のすべてのPDBを複製するには、次のコマンドを使用します。DUPLICATE DATABASE TO cdb1 SKIP PLUGGABLE DATABASE pdb3;
関連項目:
24.4.4 新しいCDBへのPDB内の表領域の複製
PDB内の1つ以上の表領域を、DUPLICATEコマンドを使用して新しいCDBに複製できます。
PDB内の表領域を複製するには:
-
データベースの複製の計画に記載された計画タスクに次の変更を加えて実行します。
バックアップに対する複製インスタンスへのアクセスの許可および共有ディスクを使用しないディスク・バックアップのアクセス可能化における次の変更点に注意してください。
BACKUPコマンドのPLUGGABLE DATABASE構文を使用して、特定のPDBのバックアップのみをコピーします。たとえば、次のコマンドでは、
pdb3というPDBのバックアップ・ファイルのみが転送されます。BACKUP COPY OF PLUGGABLE DATABASE pdb3; -
データベースの複製の前提条件の説明に従って、選択された複製方法の前提条件が満たされていることを確認します。
-
補助インスタンスの準備に記載された説明に次の変更を加えて、補助インスタンスを準備します。
-
補助インスタンスをCDBとして作成する必要があります。これには、初期化パラメータ・ファイルの次の宣言でインスタンスを開始します。
enable_pluggable_database=TRUE -
補助インスタンスのために初期化パラメータ・ファイルを作成するように指示された場合は、ファイルをソース・データベースからコピーする必要があります。これによって、補助インスタンスはCDBでもあります。ファイルをコピーした後、次のステップを実行します。
-
DB_NAMEパラメータの変更 -
様々な宛先/場所のパラメータの変更
-
-
必要なインスタンスへの接続が指示されたら、
SYSDBA権限またはSYSBACKUP権限を持つユーザーとしてrootに接続します。両方のインスタンスで、複製を実行しているユーザーのパスワードを同じにする必要があります。
-
-
RMANを開始し、
SYSDBAまたはSYSBACKUP権限を持つユーザーとしてrootに接続します。補助インスタンスとターゲット・データベースの両方で、複製を実行しているユーザーのパスワードを同じにする必要があります。
-
DUPLICATEコマンドに、PDBの複製についてで説明したTABLESPACEオプションを付けて実行します。ターゲットおよびリカバリ・カタログ接続なしで複製を実行する場合は、
PLUGGABLE DATABASE句にルートを含める必要があります。
例24-9 PDBを使用した表領域の複製
この例では、PDB pdb1の一部であるusers表領域を新しいCDB dup_cdbに複製します。ターゲット・データベースとリカバリ・カタログとの接続が確立されているとします。
DUPLICATE DATABASE TO dup_cdb
TABLESPACE pdb1:users;
例24-10 PDBとPDB内の表領域の複製
この例では、PDB pdb1およびPDB pdb2のusers表領域を新しいCDBに複製します。ターゲット・データベースとリカバリ・カタログとの接続が確立されているとします。
DUPLICATE DATABASE TO dup_cdb
PLUGGABLE DATABASE pdb1 TABLESPACE pdb2:users;
例24-11 リカバリ・カタログ接続を使用しないPDBの複製
この例では、PDB pdb3から表領域tbs_archおよびdataをスキップし、pdb3をdup_cdbという名前の新しいCDBに複製します。リカバリ・カタログおよびターゲット・データベースへの接続がないため、rootがPDBのリストに含まれている必要があります。
run
{
DUPLICATE DATABASE TO dup_cdb
PLUGGABLE DATABASE pdb3, root
SKIP TABLESPACE PDB3:TBS_ARCH, PDB3:DATA
BACKUP LOCATION '/tmp/2963778449/oracle/work/dup_cdb';
}
24.4.5 Oracle RACデータベースの複製
Oracle Real Application Clusters (Oracle RAC)データベースの複製ステップは、データベースの複製に使用されるステップとは微妙に異なる点があります。
24.4.6 スパース・データベースの複製
スパース・データベースの複製プロセスは、暗黙的リストアで始まり、スパース・データファイルが含まれるデータベースの複製で終わります。
ノート:
- スパース・データベースのベース(読取り専用)データファイルは、暗号化されていません。基本データファイルは、保護されたストレージに保存し、安全な通信を使用してアクセスするようにします。
- スパース・データベースでは、アクティブなデータベースの複製はサポートされません。
24.5 バックアップベース複製の使用によるスパース・データベースの作成
DUPLICATEコマンドを使用してスパース・データベースを作成できます。
24.5.1 複製の方法を使用したスパース・データベースの作成について
RMANでは、簡単にソース・データベースをスパース・データベースとして複製できます。スパース・データベースは、テスト、レポートおよびその他のタスクに役立つ可能性があります。
バックアップベースの複製の方法を使用してスパース・データベースを作成するには、DUPLICATEコマンドをINSTANT SPARSE句とともに使用します。RMANでは、ソース・データベースのバックアップからデータファイルが内部的にリストアされ、複製データベース用のスパース・データファイルが作成されます。ソース・データベースでのCOMPATIBLE初期化パラメータを12.2以上に設定する必要があります。
DUPLICATEコマンドを使用してスパース・データベースを作成するための重要な前提条件を次に示します:
- すべてのソース・データファイルの完全なレベル0コピー。
レベル0のデータファイル・コピーは、補助インスタンスで、リストアされたスパース・データファイルのバッキング・ファイル(親ファイル)の役目を果たします。
- ソース・データベースの既存のバックアップ。
RMANでは、スパース・データベースを作成するにはソース・データベースのバックアップ・セット(すべてのデータファイル・バックアップを含む)またはイメージ・コピー(すべてのデータファイル・コピーを含む)が必要です。
補助インスタンスで、RMANにより、スパース・バックアップ・セットまたはイメージ・コピーからスパース・データ・ファイルが、非スパース・バックアップから非スパース・データ・ファイルがリストアされます。
ノート:
RMANでは、アクティブなデータベースの複製の方法を使用したスパース・データベースの作成はサポートされていません。24.5.2 スパース・データベースを作成するためのDUPLICATEコマンド・オプション
様々なオプションを使用して、スパース・データベースの作成に使用されるバックアップのタイプと、補助インスタンスでのリストアされたデータファイルの動作を制御できます。
INSTANT SPARSE句を指定してDUPLICATEコマンドを実行すると、RMANにより、最新のバックアップのチェックポイントSCNがあるソース・データベース・バックアップが検索されます。INSTANT SPARSE句は、複製に使用されるバックアップのタイプ(バックアップ・セットまたはイメージ・コピー)を制御する様々なオプションと組み合せることができます。
表24-4では、DUPLICATEコマンドのINSTANT SPARSE句を説明します。表24-5では、INSTANT SPARSEとともに使用できるその他のオプションを説明します。
表24-4 スパース・データベースを作成するためのINSTANT SPARSE句
| オプション | 例 | 説明 | 補助インスタンスでのリストアおよびリカバリ動作 |
|---|---|---|---|
|
|
|
バックアップベースのデータベース複製を使用してスパース・データベースを作成します。 バックアップの選択 RMANにより、ソース・データベースの最新のバックアップが選択されて、それがスパース・データベースとして複製されます。 |
データファイルのリストア RMANにより、複製用にスパース・データファイルが作成されます。 補助インスタンスでは、次の条件のいずれかに当てはまる場合はRMANでスパース・データファイルを作成できません。
データファイルのリカバリ リカバリ中にRMANによって新しいデータファイルが識別された場合は、補助インスタンスでその新しいデータファイルが非スパースになります。 |
|
|
|
RMANにより、ソース・データベースのスパース・バックアップ・セットまたはイメージ・コピー・バックアップのみが選択されて、それがスパース・データベースとして複製されます。 複製に必要なスパース・バックアップ・セットまたはイメージ・コピーがRMANによって検出されないと、 |
RMANにより、補助インスタンスでスパース・データファイルのみがリストアされます。 リカバリ中に、新規追加されたソース・データファイルがRMANによって識別されると、 |
この表では、INSTANT SPARSE用のDUPLICATEコマンド・オプションについて説明します。各オプションにより、スパース・データベースの作成に使用されるバックアップのタイプと、補助インスタンスでのリストアされたデータファイルの動作を制御します。
表24-5 INSTANT SPARSE用のDUPLICATEコマンド・オプション
| オプション | 例 | バックアップ選択への影響 | 補助インスタンスでのリストアされたデータファイルへの影響 |
|---|---|---|---|
|
|
|
RMANにより、ソース・データベースのイメージ・コピー・バックアップが選択されて、それがスパース・データベースとして複製されます。 RMANでデータファイルのイメージ・コピーを検出できないと、 |
補助インスタンスで、RMANにより、ソース・データベースのイメージ・コピーからスパース・データファイルがリストアされます。 リカバリ中に、RMANにより、新規追加されたソース・データファイルが補助インスタンスで非スパース・データファイルとしてリストアされます。
|
|
|
|
RMANにより、ソース・データベースのバックアップ・セットが選択されて、それがスパース・データベースとして複製されます。選択されたバックアップ・セットには、スパース・データ・ファイル、非スパース・データ・ファイル、または両方の組合せが含真れている可能性があります。 すべてのスパース・データファイルを含むスパース・バックアップ・セットのみをRMANで選択する必要がある場合は、 |
RMANにより、スパース・バックアップ・セットからスパース・データファイルが、非スパース・バックアップ・セットから非スパース・データファイルがストアされます。 選択されたバックアップに非スパース・データファイルが含まれている場合は、RMANにより、補助インスタンスでその単一データファイルが非スパース・データファイルとしてリストアされます。 リカバリ中に、RMANにより、新規追加されたソース・データファイルが補助インスタンスで非スパース・データファイルとしてリストアされます。
|
ノート:
ソース・データベースのバックアップが共有の場所にある場合は、BACKUP LOCATIONオプションを使用して、DUPLICATEコマンドでのバックアップの場所を指定します。
24.5.3 スパース・データベースの作成
スパース・データベースを作成するには、DUPLICATEコマンドを使用します。
宛先ホスト上にスパース・データベースを作成するには:
-
「データベースの複製の計画」の説明に従って、バックアップベースの複製の方法に適用可能なすべての計画タスクを実行します。
-
すべてのソース・データファイルのレベル0コピーを作成してあることを確認します。
各ソース・データファイルのコピーは、補助インスタンスで、リストアされたスパース・データファイルのバッキング・ファイルの役目を果たします。そのため、スパース・データベースを作成する前に、ソース・ホストにすべてのソース・データファイルのコピーが含まれていることを確認する必要があります。リストア操作中に、不足しているソース・データファイル・コピーがあることがRMANによって特定されると、
DUPLICATEコマンドが失敗します。LIST COPY OF DATABASEコマンドを実行して、すべてのデータファイルにバックアップ・コピーが存在するかどうかを確認します。 -
RMANでは、スパース・データベースを作成するにはソース・データベースのバックアップが必要です。バックアップは、バックアップ・セット形式で、またはイメージ・コピーとして作成する必要があります。必要なバックアップが存在し宛先ホストからアクセスできることを確認します。
ノート:
ソース・データベースのバックアップが共有の場所にある場合は、BACKUP LOCATIONオプションを指定してDUPLICATEコマンドを実行し、複製に必要なバックアップの場所を指定します。必ず、「バックアップに対する複製インスタンスへのアクセスの許可」および「共有ディスクを使用しないディスク・バックアップのアクセス可能化」の説明に従って、前提条件となるタスクを完了してください。
-
補助インスタンスの準備に記載された説明に次の変更を加えて、補助インスタンスを準備します。
-
補助インスタンスをCDBとして作成する必要があります。これには、初期化パラメータ・ファイルの次の宣言でインスタンスを開始します。
enable_pluggable_database=TRUE -
補助インスタンスのために初期化パラメータ・ファイルを作成するように指示された場合は、ファイルをソース・データベースからコピーする必要があります。これによって、補助インスタンスはCDBでもあります。ファイルをコピーした後、次のステップを実行します。
-
DB_NAMEパラメータの変更 -
様々な宛先または場所のパラメータの変更
-
-
必要なインスタンスへの接続が指示されたら、
SYSDBA権限またはSYSBACKUP権限を持つユーザーとしてrootに接続します。両方のインスタンスで、複製を実行しているユーザーのパスワードを同じにする必要があります。
-
-
RMANを起動し、必要に応じてデータベースに接続して、バックアップベースの複製を実行します。バックアップベースの複製の手法によっては、データベース(ターゲット・データベース、補助インスタンスまたはリカバリ・カタログ)の1つ以上への接続が必要になる場合があります。
SYSDBAまたはSYSBACKUP権限があるユーザーとして、RMANをrootに接続する必要があります。- 補助インスタンスとターゲット・データベースの両方で、複製を実行しているユーザーのパスワードを同じにする必要があります。
-
必要な場合は、ソース・データベースの適切な設定の説明に従って、ソース・データベースを適切な状態に設定します。
-
必要に応じて、複製で使用するためのRMANチャネルの構成の説明に従って、RMANチャネルを構成します。
複製の主な作業は、RMANチャネルによって実行されます。追加チャネルを構成すると、複製のパフォーマンスが向上します。
-
INSTANT SPARSE句とともにDUPLICATEコマンドを実行します。「スパース・データベースを作成するためのDUPLICATEコマンド・オプション」で説明されているその他のオプションを使用することもできます。次の例では、
INSTANT SPARSE句、およびスパース・データベースを作成するためのその他のオプションを指定してDUPLICATEコマンドを実行する方法を示します。
例24-12 INSTANT SPARSE句を使用したスパース・データベースの作成
このDUPLICATEコマンドの例では、INSTANT SPARSE句の動作について説明します。
- すべてのソース・データファイルのレベル0コピーを作成してあります。
各ソース・データファイルのコピーは、補助インスタンスで、RMANによって作成された対応するスパース・データファイルのバッキング・ファイルの役目を果たします。
- ソース・データベースのスパース・バックアップ・セット、非スパース・バックアップ・セットおよびイメージ・コピー・バックアップを作成してあります。
INSTANT SPARSE句を指定してDUPLICATEコマンドを実行し、マルチテナント・コンテナ・データベース(CDB) cdb1をスパースCDB sparse_cdb1として複製します。
DUPLICATE DATABASE cdb1 to sparse_cdb1 INSTANT SPARSE;DUPLICATEコマンドのPLUGGABLE DATABASE句をINSTANT SPARSE句とともに使用して、PDBをスパースPDBとして複製します。
INSTANT SPARSE句を指定してDUPLICATEコマンドを実行すると、RMANで次のステップが実行されます:
- RMANにより、最新のバックアップのチェックポイントSCNがあるソース・データベース・バックアップが選択されます。この例では、すべてのスパース・データファイルを含むスパース・バックアップ・セットがRMANによって選択されると仮定しています。
- 補助インスタンスで、RMANにより、スパース・バックアップ・セットからスパース・データファイルがリストアされ、データベースがスパース・データベースとして複製されます。
例24-13 INSTANT SPARSE FROM DATAFILECOPYを使用したスパース・データベースの作成
このDUPLICATEコマンドの例では、FROM DATAFILECOPYオプションを指定したINSTANT SPARSE句の動作について説明します。
- すべてのソース・データファイルのレベル0コピーを作成してあります。
ソース・データファイルのコピーは、補助インスタンスで、RMANによって作成された対応するスパース・データファイルのバッキング・ファイルの役目を果たします。
- ソース・データベースのスパース・バックアップ・セット、非スパース・バックアップ・セットおよびイメージ・コピー・バックアップを作成してあります。
INSTANT SPARSE句およびFROM DATAFILECOPYオプションを指定してDUPLICATEコマンドを実行し、マルチテナント・コンテナ・データベース(CDB) cdb1をスパース・データベースsparse_cdb1として複製します。FROM DATAFILECOPYオプションにより、スパースCDBを作成するにはRMANでCDB cdb1の最新のイメージ・コピー・バックアップが選択される必要があることを指定します。DUPLICATE DATABASE cdb1 to sparse_cdb1 INSTANT SPARSE FROM DATAFILECOPY;DUPLICATEコマンドのPLUGGABLE DATABASE句をINSTANT SPARSEおよびFROM DATAFILECOPYオプションとともに使用して、PDBをスパースPDBとして複製します。
BACKUP LOCATIONオプションを使用して、指定した場所に格納されているイメージ・コピー・バックアップがRMANによって選択される必要があることを指定します。DUPLICATE DATABASE cdb1 to sparse_cdb1
INSTANT SPARSE FROM DATAFILECOPY
BACKUP LOCATION '/oracle2/src_imagecopy';INSTANT SPARSE FROM DATAFILECOPY句を指定してDUPLICATEコマンドを実行すると、RMANで次のステップが実行されます:
- RMANにより、複製用にイメージ・コピー・バックアップが選択されます。
- 補助インスタンスで、RMANにより、ソース・データベースの選択されたイメージ・コピー・バックアップからスパース・データファイルがリストアされます。選択されたバックアップ内に不足しているデータファイル・コピーがあることがRMANによって識別されると、
DUPLCIATEコマンドが失敗します。 - リカバリ中に、RMANによって新しいデータファイルが識別されると、その新しいデータファイルが非スパースとしてリストアされます。
INSTANT SPARSE ONLY句を指定した場合は、新規追加されたデータファイルをRMANによってリストアできず、DUPLICATEコマンドが失敗します。
例24-14 INSTANT SPARSE FROM BACKUPSETを使用したスパース・データベースの作成
このDUPLICATEコマンドの例では、FROM BACKUPSETオプションを指定したINSTANT SPARSE句の動作について説明します。
- すべてのソース・データファイルのレベル0コピーを作成してあります。
ソース・データファイルのコピーは、補助インスタンスで、RMANによって作成された対応するスパース・データファイルのバッキング・ファイルの役目を果たします。
- ソース・データベースのスパース・バックアップ・セット、非スパース・バックアップ・セットおよびイメージ・コピー・バックアップを作成してあります。
INSTANT SPARSE句およびFROM BACKUPSETオプションを指定してDUPLICATEコマンドを実行し、マルチテナント・コンテナ・データベース(CDB) cdb1をスパース・データベースsparse_cdb1として複製します。FROM BACKUPSETオプションにより、スパースCDBを作成するにはRMANによってCDB cdb1の最新のバックアップ・セットが選択される必要があることを指定します。DUPLICATE DATABASE cdb1 to sparse_cdb1 INSTANT SPARSE FROM BACKUPSET;DUPLICATEコマンドのPLUGGABLE DATABASE句をINSTANT SPARSE FROM BACKUPSETオプションとともに使用して、PDBをスパースPDBとして複製します。
BACKUP LOCATIONオプションを使用して、指定した場所に格納されているバックアップ・セット・バックアップがRMANによって選択される必要があることを指定します。DUPLICATE DATABASE cdb1 to sparse_cdb1
INSTANT SPARSE FROM BACKUPSET
BACKUP LOCATION '/oracle2/src_backupset';INSTANT SPARSE FROM BACKUPSET句を指定してDUPLICATEコマンドを実行すると、RMANで次のステップが実行されます:
- RMANにより、最新のバックアップ・セットが選択されます。この例では、RMANにより、複製用にスパース・バックアップ・セットが選択されます。
- 補助インスタンスで、RMANにより、選択されたスパース・バックアップ・セットからスパース・データファイルがリストアされます。選択されたバックアップ・セット内に不足しているデータファイル・バックアップがあることがRMANによって識別されると、
DUPLCIATEコマンドが失敗します。 - リカバリ中に、RMANにより、PDBが宛先CDBに接続される前に追加された新しいデータファイルが識別されると、その新しいデータファイルが非スパースとしてリストアされます。PDBのプラグイン後に新しいデータファイルが追加された場合は、
DUPLICATEコマンドが失敗します。
INSTANT SPARSE ONLY句を指定した場合は、新規追加されたデータファイルをRMANによってリストアできず、DUPLICATEコマンドが失敗します。
24.6 Oracle Cloudへのデータベースの複製
DUPLICATEコマンドを使用して、オンプレミスのデータベースをOracle Cloudに複製します。バックアップベースの複製およびアクティブな複製の両方がサポートされています。
Oracle Cloud上のOracle Databaseは、常に暗号化されます。そのため、データベースまたはデータベースの一部をOracle Cloudに複製すると、複製中に暗号化句が指定されていない場合でも、Oracle Cloudに作成されたすべての表領域が暗号化されます。
COMPATIBLEパラメータは、18.0.0以上に設定する必要があります。
ノート:
複製を使用したOracle Cloudへのスタンバイ・データベースの作成はサポートされていません。
24.7 オンプレミス・データベースとしてのOracle Cloudデータベースの複製
DUPLICATEコマンドを使用して、オンプレミス・データベースとしてOracle Cloudデータベースを複製します。バックアップベースの複製およびアクティブな複製の両方がサポートされています。
Oracle Cloudデータベースは常に暗号化されます。Oracle Cloudからデータベースを複製する際、マスター・キーを格納するOracleキーストアを、オンプレミス・データベースにコピーする必要があります。このキーは、Oracle Cloudデータベースから複製されたデータファイルを復号化するために必要です。複製データベースは暗号化を使用する場合もしない場合もあります。
ノート:
AS ENCRYPTEDまたはAS DECRYPTEDを使用したAS STANDBYの複製はサポートされていません。
COMPATIBLEパラメータは、18.0.0以上に設定する必要があります。
24.8 失敗後のDUPLICATEの再実行
RMANは、以前に失敗したDUPLICATEコマンドの繰返しであるDUPLICATEコマンドを自動的に最適化します。
DUPLICATEコマンドは、過去に正常にコピーされたデータファイルを検知し、それらのデータファイルを再度コピーしません。これは、バックアップベース(ターゲット接続の有無を問わない)の複製かアクティブなデータベースの複製かにかかわらず、すべての複製の形式に適用されます。DUPLICATEコマンドの自動最適化は、非常に大きなデータベースの複製中に障害が発生した場合に特に有効です。
複製操作を再開するには:
-
RMANを終了します。
-
SQL*Plusを起動し、
SYSDBA権限またはSYSBACKUP権限で補助インスタンスに接続します。最初に使用したものと同じSPFILE指定またはPFILE指定を使用して、補助インスタンスをNOMOUNTモードで起動します。この指定を最初に省略した場合は、再度省略します。この例は、ファイル
/home/my_pfile.oraのパラメータを使用して補助インスタンスを開始します。STARTUP FORCE PFILE=/home/my_pfile.ora -
SQL*Plusを終了し、RMANを開始します。
-
最初と同じデータベースに接続します
-
DUPLICATEコマンドを繰り返します。2番目のDUPLICATE操作は、次の処理を実行します。-
最初の
DUPLICATEコマンドによって正常に複製されたデータファイルを検索します。 -
再度複製される必要のない各データファイルに対して、次のようなメッセージを表示します。
RMAN-05560: Using previous duplicated file /oradata/new/data01.f for datafile 1 with checkpoint SCN of 1654665 -
欠落しているか、または不完全なデータファイルのみをリストアするため、コピーおよびリストアをすべてのデータファイルに対して再実行することを回避します。
DUPLICATE操作からRMANが自動的にリカバリしないようにする場合、NORESUMEキーワードを指定してこの機能を無効にします。DUPLICATEの最初の起動時にNORESUMEキーワードを使用すると、後続の新しいデータベース用のDUPLICATEコマンドがこの自動最適化を使用することを防止できます。 -
24.9 例: データベースの複製
この項では、様々な複製方法を使用したデータベース複製の例について説明します。
24.9.1 例: バックアップ・セットによるアクティブなデータベースの複製を使用したリモートASMホストへのデータベースの複製
この例では、アクティブなデータベースの複製を使用してデータベースをリモートASMホストに複製する方法について説明します。
-
ソース・ホストと宛先ホストは同一ではない。
-
ソース・データベースと複製データベースの両方で、ASMを使用してデータベース・ファイルを管理している。
-
複製データベース・ファイルで、ソース・データベースとは異なるディレクトリ構造が使用されている。
-
ソース・ホストのネットワーク帯域幅に制限がある。
-
複製プロセスの完了後に、複製データベースがオープン状態になっている必要がある。
次のステップを使用して、この例で説明するシナリオ向けの複製データベースを作成します。
-
データベースの複製の計画の説明に従って、複製を計画します。
これには、次の作業が含まれます。-
シナリオと要件に合った複製方法を選択します。
ソース・ホストのネットワーク帯域幅が限られているため、バックアップ・セットを使用したアクティブなデータベースの複製を実行します。
-
複製データベース・ファイルの命名計画を選択します。
この例では、
DB_CREATE_FILE_DEST初期化パラメータを使用して、複製データベース・ファイルの場所を指定します。 -
複製で使用するためのRMANチャネルの構成の説明に従って、補助インスタンスに6つの追加補助チャネルを構成します。
この例では、ソース・データベースに2つのターゲット・チャネルが構成されています。RMANでバックアップ・セットを使用してアクティブなデータベースの複製を実行するには、補助チャネルの数がターゲット・チャネルの数以上である必要があります。
-
-
データベースの複製の前提条件の説明に従って、選択された複製方法の前提条件が満たされていることを確認します。
-
補助インスタンスの準備に記載された説明に従って、補助インスタンスを準備します。
-
宛先ホストにデータベース・ファイルを保存するディスク・グループを作成します。
まだ作成されていない場合は、複製データベース・ファイルを保存するために
+DGROUP2ディスク・グループを作成します。 -
補助インスタンス用のパスワード・ファイルの作成の説明に従って、パスワード・ファイルをソース・データベースから宛先データベースにコピーします。
-
ソース・データベースと補助インスタンス間のOracle Net Servicesの接続性を、静的リスナーを使用して設定します。
-
ソース・データベースのソフトウェア・キーストアを宛先ホストにコピーします。
SETコマンドを使用して、パスワードベースのソフトウェア・キーストアをオープンするために使用する必要があるパスワードを指定します。「宛先ホストでOracleキーストアを使用可能にする」を参照してください。
- 補助インスタンスの起動で説明するように、補助インスタンスを
NOMOUNTモードで起動します。
-
-
RMANを起動し、ソース・データベースに
TARGETとして、補助インスタンスにAUXILIARYとして接続します。%rman RMAN> CONNECT TARGET 'sys@srcdb as SYSBACKUP'; RMAN> CONNECT AUXILIARY 'sys@dupdb AS SYSBACKUP';関連項目:
アクティブなデータベースの複製の場合、補助インスタンスへの接続でもパスワード・ファイル認証を使用する必要があります。
-
DUPLICATEコマンドを使用してデータベースを複製します。SPFILE句は、ソース・データベースのサーバー・パラメータ・ファイルを補助インスタンスにコピーするようにRMANに指示します。DB_CREATE_FILE_DESTパラメータを使用して、複製データベースに複製データベース・ファイルを保存するために使用するディスク・グループを指定します。DUPLICATE DATABASE to dupdb FROM ACTIVE DATABASE PASSWORD FILE SPFILE SET DB_CREATE_FILE_DEST='+DGROUP2';
関連項目:
例: データベースの複製24.9.2 例: イメージ・コピーによるアクティブなデータベースの複製を使用したリモート・ホストへのデータベースの複製
この例では、イメージ・コピーによるアクティブなデータベースの複製を使用して、データベースをリモート・ホストに複製します。
-
ソース・ホストと宛先ホストは同一ではない。
-
複製データベース・ファイルが、ソース・データベースとは異なるディレクトリ構造を使用している。
-
ソース・データベースと複製データベースでOracle Managed Files (OMF)を使用してデータベース・ファイルを作成している。
-
複製プロセス中にソース・データベースが使用可能である必要がある。
-
複製プロセスの完了後に、複製データベースがオープン状態になっている必要がある。
-
データベースの複製の計画の説明に従って、複製を計画します。これには、次の作業が含まれます。
-
シナリオと要件に合った複製方法を選択します。
ソースと宛先の間の帯域幅が限られているため、イメージ・コピーを使用したアクティブなデータベースの複製を実行します。
-
複製データベース・ファイルの命名計画を選択します。
この例では、
DB_FILE_NAME_CONVERTおよびLOG_FILE_NAME_CONVERTの初期化パラメータを使用して、ソース・データベース・ファイル名を複製データベース・ファイル名に変換する方法を指定します。 -
イメージ・コピーを使用してアクティブなデータベースの複製を実行する場合、RMANは、補助チャネルが構成されていないか、補助チャネルの数がターゲット・チャネルの数より少ない場合にイメージ・コピーを使用します。このため、イメージ・コピーを使用したアクティブなデータベースの複製を実行するために追加のチャネルを構成する必要はありません。
-
-
データベースの複製の前提条件の説明に従って、選択された複製方法の前提条件が満たされていることを確認します。
-
補助インスタンスの準備に記載された説明に従って、補助インスタンスを準備します。
-
宛先ホストにデータベース・ファイルを保存するディレクトリを作成します。
この例では、データファイル、制御ファイルおよびサーバー・パラメータ・ファイルの保存用に
/app/db_home2/databaseディレクトリを作成し、オンラインREDOログ・ファイルの保存用に/app/db_home2/logfilesディレクトリを作成します。 -
宛先ホストで、補助インスタンス用に最小限の初期化パラメータ・ファイルを作成します。このファイルは
initdup.oraという名前で、/app/db_home1/databaseディレクトリに配置されます。これには次のエントリが含まれます。DB_NAME=dup DB_DOMAIN = dup.example.com「補助インスタンス用の初期化パラメータ・ファイルの作成」を参照してください。
- 補助インスタンス用のパスワード・ファイルの作成で説明するように、パスワード・ファイルをソース・データベースから宛先ホストにコピーします
-
ソース・データベースと補助インスタンス間のOracle Net接続の確立の説明に従って、ソース・データベースと補助インスタンス間のOracle Net Servicesの接続性を、静的リスナーを使用して設定します。
-
補助インスタンスの起動で説明するように、補助インスタンスを
NOMOUNTモードで起動します。
-
-
RMANを起動し、ソース・データベースに
TARGETとして、補助インスタンスにAUXILIARYとして接続します。% rman RMAN> CONNECT TARGET sys@srcdb as SYSDBA; RMAN> CONNECT AUXILIARY sys@dupdb AS SYSBACKUP;この例では、ソース・データベース
srcdbおよび補助インスタンスdupdbへの接続が確立されます。ソース・データベースのネット・サービス名はsrcdbで、補助インスタンスの名前はdupdbです。関連項目:
アクティブなデータベースの複製の場合、補助インスタンスへの接続でもパスワード・ファイル認証を使用する必要があります。
-
DUPLICATEコマンドを使用してデータベースを複製します。SPFILE句にDB_FILE_NAME_CONVERTおよびLOG_FILE_NAME_CONVERTパラメータを含めて、ソース・データベースのサーバー・パラメータ・ファイルを補助インスタンスで使用するように指定します。複製データベース・ファイルは、OMFで生成された名前を使用して複製データベース内に保存されます。
SPFILE句のPARAMETER_VALUE_CONVERTオプションは、パス名/app/db_home1が/app_db_home2に変換される必要があることを指定します。DUPLICATE DATABASE TO dupdb FROM ACTIVE DATABASE PASSWORD FILE SPFILE PARAMETER_VALUE_CONVERT='/app/dbhome1','/app/db_home2' SET db_file_name_convert='/app/dbhome1/dbs','/app/db_home2/database/dbs' SET log_file_name_convert='/app/dbhome1/log','/app/db_home2/logfiles';
関連項目:
24.9.3 例: ターゲット接続またはリカバリ・カタログを使用しないバックアップベースの複製を使用したリモート・ホストへのデータベースの複製
この例では、ターゲット接続またはリカバリ・カタログを使用しないバックアップベースの複製を使用してリモート・ホストへの複製を実行する方法について説明します。
-
制御ファイル、データファイルおよびアーカイブREDOログ・ファイルを含むソース・データベースの完全なバックアップが、宛先ホストの
/backups/db_filesディレクトリで使用可能な状態にある。 -
ターゲット・データベースまたはリカバリ・カタログへの接続は使用できない。
-
ソース・ホストと宛先ホストは同一ではない。
-
複製データベースが、複製データベース・ファイルを保存するために、ソース・データベースとは異なるディレクトリ構造を使用している。複製データベース・ファイルのデータファイルおよび制御ファイルは
/oracle2/databaseディレクトリに保存され、オンラインREDOログ・ファイルは/oracle2/database/logsディレクトリに保存されている。 -
ソース・データベースの
DB_NAMEはdb12で、複製データベースはdup。 -
複製プロセスの完了後に、複製データベースがオープン状態になっている必要がある。
次のステップを使用して、この例で説明するシナリオ向けの複製データベースを作成します。
-
データベースの複製の計画の説明に従って、複製を計画します。これには、次の作業が含まれます。
-
シナリオと要件に合った複製方法を選択します。
この例では、ターゲット接続またはリカバリ・カタログ接続のないバックアップベースの複製が実行されます。このため、
BACKUP LOCATION句を使用して、ソース・データベースのバックアップの場所を指定します。 -
複製データベースで、ソース・データベースとは異なるディレクトリ構造が使用されるため、複製データベース・ファイルの名前を生成するための計画を選択する必要があります。
この例では、
SET NEWNAME FOR DATABASEコマンドで、データファイルと制御ファイルの場所を指定します。DUPLICATEコマンドのLOGFILE句でオンラインREDOログ・ファイルの場所を指定します。 -
ソース・データベースで使用されたものと同じディレクトリ構造を使用して、必要なバックアップを宛先ホストにコピーします。
この例では、データファイルとアーカイブREDOログ・ファイルのバックアップは宛先ホストの
/backups/db_filesに保存し、制御ファイルとサーバー・パラメータ・ファイルのバックアップは/backups/cfに保存する必要があります。
-
-
データベースの複製の前提条件の説明に従って、選択された複製方法の前提条件が満たされていることを確認します。
-
補助インスタンスを準備します。
-
宛先ホストに複製データベース・ファイルを保存するディレクトリを作成します。
この例では、データファイル、制御ファイルおよびサーバー・パラメータ・ファイルの保存用に
/oracle2/databaseディレクトリを作成します。オンラインREDOログ・ファイルの保存用に/oracle2/database/logsディレクトリを作成します。 -
補助インスタンス用の初期化パラメータ・ファイルの作成の説明に従って、補助インスタンスの最小初期化パラメータ・ファイルを作成します。
このファイルはinitdup.oraという名前で、/oracle2/databaseディレクトリに配置されます。このファイルには、特定の設定の他に、次のエントリを含める必要があります。DB_NAME = dup DB_DOMAIN = dupdb.example.com -
補助インスタンス用のパスワード・ファイルを
orapwdユーティリティを使用して作成します。複製データベースがリモート・ホスト上に作成されるため、パスワード・ファイルが必要です。「補助インスタンス用のパスワード・ファイルの作成」を参照してください。
-
ソース・データベースと補助インスタンス間のOracle Net接続の確立の説明に従って、ソース・データベースと補助インスタンス間のOracle Net Servicesの接続性を、静的リスナーを使用して設定します。
これは、この例でデータベースをリモート・ホストに複製するために必要です。
-
補助インスタンスの起動で説明するように、補助インスタンスを
NOMOUNTモードで起動します。
-
-
RMANを起動し、
AUXILIARYとして補助インスタンスに接続します。%rman RMAN> CONNECT AUXILIARY sys@dup AS SYSBACKUP;要求されたら、パスワードを入力します。
-
DUPLICATEコマンドを使用してデータベースを複製します。BACKUP LOCATION句を使用して、ソース・データベースのバックアップの場所を指定します。SET NEWNAME FOR DATABASEおよびDUPLICATEコマンドをRUNブロックに含めます。LOGFILE句は、オンラインREDOログ・ファイルの名前と場所を指定します。run { set newname for database to '/oracle2/database/%b'; duplicate database 'db12' to 'dup' logfile group 1 ('/oracle2/database/logs/r1.f','/ oracle2/database/logs/r2.f') size 4m reuse, group 2 ('/ oracle2/database/logs/r3.f','/oracle2/database/logs/r4.f') size 4m reuse backup location '/backups/db_files'; }
関連項目:
24.9.4 例: リカバリ・カタログによるバックアップベースの複製を使用したリモート・ホストへのデータベースの複製
この例では、リカバリ・カタログを使用したバックアップベースの複製を使用してリモート・ホストへの複製を実行する方法について説明します。
- ソース・データベースの完全バックアップがソース・ホストで使用可能。データファイルとアーカイブREDOログ・ファイルのバックアップは
/scratch/backups/db_filesに保存されている。制御ファイルとサーバー・パラメータ・ファイルのバックアップは/scratch/backups/cfに保存されている。 - ソース・データベースへの接続は使用できないが、リカバリ・カタログへの接続は使用できる。
-
ソース・ホストと宛先ホストは同一ではない。宛先ホストではOMFが使用され、Oracle Databaseソフトウェアがインストールされている。
-
複製データベースは、データベース・ファイルを、ソース・データベースとは異なるディレクトリ構造に保存している。複製データベースのデータベース・ファイルは
/app/oracle2/dbsディレクトリに保存されている必要がある。 -
ソース・データベースの
DB_NAMEはoraで、そのネット・サービス名はoradb。複製データベースのDB_NAMEはdupで、そのネット・サービス名はdupdb。 -
ソース・データベースの読取り専用の表領域は、複製データベースから除外する必要がある。
-
複製プロセスの完了後に、複製データベースがオープン状態にならない必要がある。
-
データベースの複製の計画の説明に従って、複製を計画します。これには、次の作業が含まれます。
-
シナリオと要件に合った複製方法を選択します。
この例は、リカバリ・カタログ接続を使用したバックアップベースの複製が実行されます。
-
複製データベース・ファイル名を生成するための計画を選択します。
複製データベースでOMFが使用されているため、補助インスタンスの初期化パラメータ・ファイルで
DB_CREATE_FILE_DESTパラメータを使用して、複製データベース・ファイルを保存するディレクトリを指定します。 DUPLICATEコマンドのNOOPEN句を使用して、複製の完了後にRESETLOGSを使用して複製データベースがオープン状態にならないように指定します。-
ソース・データベースで使用されているのと同じディレクトリ構造を使用して、必要なバックアップを宛先ホストにコピーします。
この例では、データファイルとアーカイブREDOログ・ファイルのバックアップは宛先ホストの
/scratch/backups/db_filesに保存し、制御ファイルとサーバー・パラメータ・ファイルのバックアップは/scratch/backups/cfに保存する必要があります。
-
-
データベースの複製の前提条件の説明に従って、選択された複製方法の前提条件が満たされていることを確認します。
-
補助インスタンスの準備に記載された説明に従って、補助インスタンスを準備します。
-
宛先ホストに複製データベース・ファイルを保存するディレクトリを作成します。
この例では、データファイル、制御ファイル、オンラインREDOログ・ファイルおよびサーバー・パラメータ・ファイルの保存用に
/app/oracle2/dbsディレクトリを作成します。 -
補助インスタンス用の初期化パラメータ・ファイルを作成します。このファイルは
initdup.oraという名前で、/app/oracle2/dbsディレクトリに配置されます。このファイルには、特定の設定の他に、次のエントリを含める必要があります。DB_NAME=dup DB_DOMAIN = dupdb.example.com DB_CREATE_FILE_DEST= /app/oracle2/dbs「補助インスタンス用の初期化パラメータ・ファイルの作成」を参照してください。
-
補助インスタンス用のパスワード・ファイルを
orapwdユーティリティを使用して作成します。複製データベースがリモート・ホスト上に作成されるため、パスワード・ファイルが必要です。「補助インスタンス用のパスワード・ファイルの作成」を参照してください。
-
ソース・データベースと補助インスタンス間のOracle Net Servicesの接続性を、静的リスナーを使用して設定します。これは、この例でデータベースをリモート・ホストに複製するために必要です。
「ソース・データベースと補助インスタンス間のOracle Net接続の確立」を参照してください。
-
補助インスタンスの起動で説明するように、補助インスタンスを
NOMOUNTモードで起動します。
-
-
RMANを起動し、
AUXILIARYとして補助インスタンスに接続します。リカバリ・カタログ所有者としてリカバリ・カタログに接続します。この例では、リカバリ・カタログ所有者はユーザーrcoです。%rman RMAN> CONNECT AUXILIARY 'sys@dupdb AS SYSBACKUP'; RMAN> CONNECT CATALOG rco@catdb;要求されたら、パスワードを入力します。
-
DUPLICATEコマンドを使用してデータベースを複製します。SKIP READONLY句を使用して、複製データベースから読取り専用の表領域を除外します。ターゲット・データベースへの接続がないため、複製するターゲット・データベースの名前を指定する必要があります。DUPLICATE DATABASE db12 TO dup SKIP READONLY;
デフォルトでは、RMANは複製データベースをRESETLOGSモードで開きます。ただし、複製直後にデータベースをオープンする必要がない場合は、NOOPEN句を指定したDUPLICATEコマンドを実行します。
ノート:
RESETLOGSオプションを使用して複製データベースをオープンした後、複製された読取り専用データファイルに対して次のステップを完了してください:
CATALOG START WITHコマンドを使用して、宛先ホストで使用可能になったデータファイルのコピーをカタログに追加します。SWITCH DATAFILEコマンドを使用して、読取り専用データファイルを、カタログに追加されたデータファイルのコピーに切り替えます。- 読取り専用の表領域をオンラインに戻します。
- 複製中にスキップされた表領域を削除します。
- データベース・レベルまたは表レベルでサプリメンタル・ロギングを有効にします。詳細は、My Oracle Supportノート1059352.1を参照してください。
- データベースの強制ロギングを有効にします。詳細は、Oracle Database管理者ガイドのREDOログの管理を参照してください。
- ブロック・チェンジ・トラッキングを有効にします。詳細は、ブロック・チェンジ・トラッキングの有効化および無効化を参照してください。
関連項目:
24.9.5 例: ターゲット接続によるバックアップベースの複製を使用したリモート・ホストへのデータベースの複製
この例では、ターゲット接続を使用したバックアップベースの複製を使用してリモート・ホストへの複製を実行する方法について説明します。
-
制御ファイル、データファイルおよびアーカイブREDOログ・ファイルを含むソース・データベースの完全なバックアップが使用可能な状態にある。
-
ソース・データベースに接続できる。
-
ソース・ホストと宛先ホストは同一ではない。
-
ソース・データベースが、パスワードベースのソフトウェア・キーストアを使用した透過的暗号化を使用するように構成されている。
-
複製データベースが、データベース・ファイルの保存に、ソース・データベースと同じディレクトリ構造とファイル名を使用している。
ソース・ホスト上で、データファイル、制御ファイルおよびサーバー・パラメータ・ファイルは
/app/db_home1/databaseに保存されていて、オンラインREDOファイルは/app/db_home1/logfilesに保存されている。 -
ソース・データベースの
DB_NAMEはsrcで、そのネット・サービス名はsrcdb。複製データベースのDB_NAMEはdupで、そのネット・サービス名はdupdb。 -
ソース・ホストで、データファイルとアーカイブREDOログ・ファイルのバックアップが
/bkups/oradata/db_filesに保存されている。制御ファイルとサーバー・パラメータ・ファイルのバックアップは/bkups/oradata/cfに保存されている。 -
表領域
HRとSHは複製データベースから除外する必要がある。ソース・データベースの残りの表領域は自己完結型であり、
hrおよびsh表領域へのリンクは含まれない。 -
複製プロセスの完了後に、複製データベースがオープン状態になっている必要がある。
-
データベースの複製の計画の説明に従って、複製を計画します。これには、次の作業が含まれます。
-
シナリオに適した複製方法を選択します。
この例では、ターゲット接続を使用したバックアップベースの複製が実行されます。
-
複製データベースで、ソース・データベースと同じディレクトリ構造が使用されるため、ファイルに別の名前を付けるための計画を選択する必要はありません。
ただし、
DUPLICATEコマンドにNOFILENAMECHECK句を使用して、ソース・データベースのデータファイルとオンラインREDOログ・ファイルが複製データベースと同じ名前を使用しているかどうかがRMANでチェックされないようにします。 -
複製で使用するためのRMANチャネルの構成の説明に従って、3つの追加補助チャネルを構成します。追加の補助チャネルを使用すると、複製プロセスのパフォーマンスが向上します。
-
ソース・データベースで使用されているのと同じディレクトリ構造を使用して、必要なバックアップを宛先ホストにコピーします。
この例では、データファイルとアーカイブREDOログ・ファイルのバックアップは宛先ホストの
/bkups/oradata/db_filesディレクトリに保存し、制御ファイルとサーバー・パラメータ・ファイルのバックアップは/bkups/oradata/cfディレクトリに保存する必要があります。
-
-
データベースの複製の前提条件の説明に従って、選択された複製方法の前提条件が満たされていることを確認します。
-
補助インスタンスの準備に記載された説明に従って、補助インスタンスを準備します。
-
宛先ホストに複製データベース・ファイルを保存するディレクトリを作成します。
この例では、ソース・データベースと複製データベースで同じディレクトリ構造を使用します。データファイル、制御ファイル、サーバー・パラメータ・ファイルの保存用に
/app/databaseディレクトリを作成し、オンラインREDOログ・ファイルの保存用に/app/logfilesディレクトリを作成します。 -
補助インスタンス用に最低限の初期化パラメータ・ファイルを作成します。このファイルは
initdup.oraという名前で、/app/databaseディレクトリに配置されます。これには次のエントリが含まれます。DB_NAME=dup DB_DOMAIN = dup.example.com「補助インスタンス用の初期化パラメータ・ファイルの作成」を参照してください。
-
補助インスタンス用のパスワード・ファイルの作成の説明に従って、パスワード・ファイルをソース・データベースから宛先データベースにコピーして、補助インスタンスのパスワード・ファイルを作成します。
-
ソース・データベースと補助インスタンス間のOracle Net接続の確立の説明に従って、ソース・データベースと補助インスタンス間のOracle Net Servicesの接続性を、静的リスナーを使用して設定します。
-
補助インスタンスの起動で説明するように、補助インスタンスを
NOMOUNTモードで起動します
-
-
RMANを起動し、ソース・データベースに
TARGETとして、補助インスタンスにAUXILIARYとして接続します。これらの接続は宛先ホストから確立され、補助接続はオペレーティング・システム認証を使用します。%rman RMAN> CONNECT TARGET sys@dupdb AS SYSBACKUP; RMAN> CONNECT AUXILIARY / -
DUPLICATEコマンドを使用してデータベースを複製します。SKIP TABLEPACE句を使用して、複製プロセス中に除外する必要がある表領域を指定します。SPFILE句を使用して、ソース・データベースのサーバー・パラメータ・ファイルをリストアして、複製データベースにコピーする必要があることを指定します。DUPLICATE DATABASE TO dup SPFILE SKIP TABLESPACE HR, SH NOFILENAMECHECK;
関連項目:
24.9.6 例: アクティブなデータベースの複製を使用したローカル・ホストへのデータベースの複製
この例では、アクティブなデータベースの複製を使用して、データベースをローカル・ホストに複製します。
-
ソース・ホストと宛先ホストが同一である。
-
ソース・データベースと複製データベースの両方で、データベース・ファイルの管理にOracle Managed Files (OMF)を使用している。
-
複製データベース・ファイルで、ソース・データベースとは異なるディレクトリ構造が使用されている。
-
ソース・データベースが
ARCHIVELOGモードで実行され、複製プロセス中に使用可能である。 -
ソース・データベースのサービス名は
dbsrcで、複製データベースのサービス名はdbdupである。ソース・データベースでは、サーバー・パラメータ・ファイル(spfile)を使用する。
次のステップを使用して、この例で説明するシナリオ向けの複製データベースを作成します。
-
データベースの複製の計画の説明に従って、複製を計画します。
これには、次の作業が含まれます。-
シナリオと要件に合った複製方法を選択します
ソース・ホストのネットワーク帯域幅が限られているため、バックアップ・セットを使用したアクティブなデータベースの複製を実行します。
-
複製データベース・ファイルの命名計画を選択します
この例では、
DB_CREATE_FILE_DEST初期化パラメータを使用して、複製データベース・ファイルの場所を指定します。ソース・データベース・ファイルが上書きされないようにするには、
DUPLICATEコマンドにNOFILENAMECHECK句を含めないようにします。 -
補助インスタンスに補助チャネルを構成します
この例では、ソース・データベースに3つのターゲット・チャネルが構成されています。RMANでバックアップ・セットを使用してアクティブなデータベースの複製を実行するには、補助チャネルの数がターゲット・チャネルの数以上である必要があります。
「複製で使用するためのRMANチャネルの構成」を参照してください。
-
-
データベースの複製の前提条件の説明に従って、選択された複製方法の前提条件が満たされていることを確認します。
-
補助インスタンスの準備に記載された説明に従って、補助インスタンスを準備します。
-
宛先ホストにデータベース・ファイルを保存するディレクトリを作成します
この例では、データファイル、制御ファイルおよびサーバー・パラメータ・ファイルの保存用に
/app/db_home3/dbsディレクトリを作成し、オンラインREDOログ・ファイルの保存用に/app/db_home3/logfilesディレクトリを作成します。 -
補助インスタンス用のパスワード・ファイルの作成の説明に従って、パスワード・ファイルをソース・データベースから複製データベースにコピーします。
-
DB_NAME、CONTROL_FILES、DB_CREATE_FILE_DESTおよびLOG_CREATE_FILE_DESTという最小限のパラメータを使用して、補助インスタンスの初期化パラメータ・ファイルを作成します。 -
ソース・データベースと補助インスタンス間のOracle Net Servicesの接続性を、静的リスナーを使用して設定します。
- 補助インスタンスの起動で説明するように、補助インスタンスを
NOMOUNTモードで起動します。
-
-
RMANを起動し、ソース・データベースに
TARGETとして、補助インスタンスにAUXILIARYとして接続します。どちらの接続もネット・サービス名を使用します。%rman RMAN> CONNECT TARGET sys@srcdb as SYSDBA; RMAN> CONNECT AUXILIARY sys@dupdb AS SYSBACKUP;ノート: アクティブなデータベースの複製の場合、補助インスタンスへの接続でもパスワード・ファイル認証を使用する必要があります。
-
DUPLICATEコマンドを使用してデータベースを複製します。DUPLICATE DATABASE to dbdup FROM ACTIVE DATABASE;
関連項目:
例: データベースの複製24.9.7 例: アクティブなデータベースの複製を使用した新しいCDBへのPDBの複製
この例では、アクティブなデータベースの複製を使用してPDBを新しいCDBに複製する方法について説明します。
-
ソース・ホストと宛先ホストは同一ではない。
-
ソース・データベースと複製データベースの両方で、データベース・ファイルの管理にOMFを使用している。
-
ソース・ホストのネットワーク帯域幅に制限がある。
-
複製データベース・ファイルで、ソース・データベースとは異なるディレクトリ構造が使用されている。
次のステップを使用して、この例で説明するシナリオ向けの複製データベースを作成します。
-
データベースの複製の計画の説明に従って、複製を計画します。これには、次の作業が含まれます。
-
シナリオと要件に合った複製方法を選択します。
ソース・ホストのネットワーク帯域幅が限られているため、バックアップ・セットを使用したアクティブなデータベースの複製を実行します。
-
複製データベース・ファイルの命名計画を選択します。
この例では、
DB_FILE_NAME_CONVERTおよびLOG_FILE_NAME_CONVERT初期化パラメータを使用して、複製データベース・ファイルの場所を指定します。 -
複製で使用するためのRMANチャネルの構成の説明に従って、補助インスタンスに4つの追加補助チャネルを構成します。
この例では、ソース・データベースに2つのターゲット・チャネルが構成されています。RMANでバックアップ・セットを使用してアクティブなデータベースの複製を実行するには、補助チャネルの数がターゲット・チャネルの数以上である必要があります。
-
-
データベースの複製の前提条件の説明に従って、選択された複製方法の前提条件が満たされていることを確認します。
-
補助インスタンスの準備に記載された説明に従って、補助インスタンスを準備します。
-
宛先ホストにデータベース・ファイルを保存するディレクトリを作成します。
この例では、データファイル、制御ファイルおよびサーバー・パラメータ・ファイルの保存用に
/app/dbhome3/databaseディレクトリを作成し、オンラインREDOログ・ファイルの保存用に/app/dbhome3/logfilesディレクトリを作成します。 -
宛先ホストで、補助インスタンス用に最小限の初期化パラメータ・ファイルを作成します。ファイルは、
initdup.oraと呼ばれ、次のエントリが含まれます。ENABLE_PLUGGABLE_DATABASE=true DB_NAME=dup DB_DOMAIN = dup.example.com -
DUPLICATEコマンドでPASSWORD FILEオプションを使用して、宛先データベースにパスワード・ファイルを作成します。 -
ソース・データベースと補助インスタンス間のOracle Net Servicesの接続性を、静的リスナーを使用して設定します。
- 補助インスタンスの起動で説明するように、補助インスタンスを
NOMOUNTモードで起動します。SYSDBA権限またはSYSBACKUP権限を持つ共通ユーザーとして、rootに接続します。
-
-
RMANを起動し、ソース・データベースのrootに
TARGETとして、補助インスタンスにAUXILIARYとして接続します。%rman RMAN> CONNECT TARGET sys@srcdb as SYSDBA; RMAN> CONNECT AUXILIARY sys@dupdb AS SYSBACKUP;ノート: アクティブなデータベースの複製の場合、補助インスタンスへの接続でもパスワード・ファイル認証を使用する必要があります。
-
ソースCDBがオープンまたはマウントされていることを確認します。
-
DUPLICATEコマンドを使用してデータベースを複製します。SPFILEオプションは、ソース・データベースのサーバー・パラメータ・ファイルを補助インスタンスにコピーするようにRMANに指示します。DB_CREATE_FILE_DESTパラメータを使用して、複製データベースに複製データベース・ファイルを保存するために使用するディスク・グループを指定します。DUPLICATE DATABASE to dupdb PLUGGABLE DATABASE my_pdb FROM ACTIVE DATABASE PASSWORD FILE SET DB_FILE_NAME_CONVERT='/app/dbhome/database','/app/dbhome3/database' SET LOG_FILE_NAME_CONVERT='/app/dbhome/logfiles','/app/dbhome3/logfiles';
関連項目:
例: データベースの複製24.9.8 例: アクティブな複製を使用した既存のCDBへのPDBの複製
この例では、アクティブなデータベースの複製を使用してPDBを既存のCDBに複製する方法について説明します。
この例では、次のシナリオを想定しています。
-
ソースCDB (
cdb_src)と宛先CDB (cdb_dest)が異なるホストにある。 -
ソースおよび宛先CDBの両方が、OMFを使用してデータベース・ファイルを管理している。
-
ソースおよび宛先CDBの互換性が18.0.0以上に設定されている。
-
ソースCDBと宛先CDBがローカルUNDOを使用する。
-
複製するPDB (
my_pdb)が読取り/書込みモードである。 -
ソースCDBおよび宛先CDBが読取り/書込みモードでオープンされている。
-
外部アーカイブREDOログ・ファイルがリストアされる場所を決定する初期化パラメータ
REMOTE_RECOVERY_FILE_DESTが、宛先CDBに設定されている。
24.9.9 例: 暗号化バックアップを使用したバックアップベースの複製の実行
RMANでは、DUPLICATEコマンドで暗号化バックアップを使用してバックアップベースの複製を実行できます。
この例では次のシナリオを使用します。
-
ソース・ホストと宛先ホストは同一ではない。
-
ソース・データベースと宛先データベースの両方で、OMFを使用してデータベース・ファイル名を管理している。ただし、複製データベースは、ソース・データベースとは異なるディレクトリ構造を使用している。
-
ソース・データベースのバックアップが、透過モードの暗号化を使用して暗号化されており、暗号化キーはパスワードベースのソフトウェア・キーストアに保存されている。キーストア・パスワードは次のコマンドを使用して設定されている(ここで
passwordは入力する実際のパスワードのプレースホルダ)。ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY password; -
制御ファイル、データファイルおよびアーカイブREDOログ・ファイルを含むソース・データベースの完全なバックアップが、
/oracle2/rman_backupsディレクトリに保存されている。 -
ソース・データベースの
DB_NAMEはdb_srcで、複製データベースはdup_db。 -
表領域
EXAMPLEとTOOLSは複製データベースから除外する必要がある。 -
複製プロセスの完了後に、複製データベースがオープン状態になっている必要がある。
暗号化バックアップを使用してバックアップベースのデータベース複製を実行するには:
関連項目:
24.10 例: バックアップベースの複製を使用したデータベースの複製スクリプト
この例では、ターゲット・データベースの複製プロセスを自動化するためのスクリプトの使用方法を示します。
-
ターゲット・データベースのバックアップを補助インスタンスで使用できます。
-
ターゲット・データベースのメタデータが含まれるRMANリカバリ・カタログに接続できます(ターゲット・データベースへの接続は不要)。
-
ソース・データベースと複製データベースの両方で、Oracle Managed Files (OMF)を使用しています。
-
オペレーティング・システムにLinuxまたはUNIXが使用されています。
-
補助データベースのホストに監査ディレクトリが作成されています。
-
バックアップベースの複製の要件が満たされています。
-
補助データベースを削除します。
-
ターゲット・データベースをバックアップします。
-
ダミーの補助インスタンスを作成し、
NOMOUNTモードでオープンします。 -
ターゲット・データベースのバックアップとRMANリカバリ・カタログ内のメタデータを使用して、ターゲット・データベースを複製します。
複製データベースの制御ファイルは
+REDO/ORACLE_SID/CONTROLFILE/cf3.ctlとして保存され、データファイルは+DATAディレクトリ内に保存されます。 -
必要なオブジェクトが複製データベース内に作成されていることを確認します。
ターゲット接続なしでバックアップベースの複製を使用してターゲット・データベースを複製するには:




