ヘッダーをスキップ
Oracle Streamsレプリケーション管理者ガイド
11g リリース1(11.1)
E05776-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

2 インスタンス化とOracle Streamsレプリケーション

この章では、インスタンス化とOracle Streamsレプリケーションの概念について説明します。

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

インスタンス化とOracle Streamsレプリケーションの概要

単一のデータベース内または複数のデータベース間で1つのデータベース・オブジェクトを共有するOracle Streams環境では、ソース・データベースでオブジェクトに対する変更が生成されます。接続先データベースでは、この変更が適用プロセスによってデキューされます。このような変更が取得プロセスまたは同期取得で取得され、その変更がローカルに適用されるか、または他のデータベースに伝播されてから接続先データベースで適用される場合は、オブジェクトに対する変更をレプリケートする前に、ソース・データベース・オブジェクトをインスタンス化する必要があります。ソース・データベース・オブジェクトに対する変更がソース・データベース以外のデータベースで適用される場合、接続先データベースに、そのデータベース・オブジェクトのコピーが存在する必要があります。

Oracle Streamsでは通常、次の手順を実行してデータベース・オブジェクトをインスタンス化します。

  1. ソース・データベースでオブジェクトをインスタンス化のために準備します。

  2. オブジェクトのコピーが接続先データベースに存在しない場合、ソース・データベースのオブジェクトに基づいて、接続先データベースで物理的にオブジェクトを作成します。エクスポート/インポート、トランスポータブル表領域またはRecovery Managerを使用して、インスタンス化用にデータベース・オブジェクトをコピーできます。接続先データベースにデータベース・オブジェクトが存在する場合は、この手順は不要です。

  3. 接続先データベースで、データベース・オブジェクトのインスタンス化SCNを設定します。インスタンス化SCNは、接続先データベースの適用プロセスに対して、指定したSCNの後にソース・データベースでコミットされた変更のみを適用するように指示します。

レプリケーション環境の構成用にOracleが提供するDBMS_STREAMS_ADMパッケージの次のいずれかのプロシージャを使用すると、これらすべてのインスタンス化手順を自動的に実行できます。

手順1と手順3は自動的に完了する場合もあります。たとえば、DBMS_STREAMS_ADMパッケージのプロシージャを実行して取得プロセスのポジティブ・ルール・セットにデータベース・オブジェクトのルールを追加すると、データベース・オブジェクトは自動的にインスタンス化のために準備されます。

また、エクスポート/インポート、トランスポータブル表領域またはRecovery ManagerのTRANSPORT TABLESPACEコマンドを使用してデータベース・オブジェクトをソース・データベースから接続先データベースへコピーすると、このデータベース・オブジェクトのインスタンス化SCNを自動的に設定できます。


注意:

Recovery ManagerのDUPLICATEコマンドを使用すると、データベース全体をインスタンス化できますが、このコマンドでは、データベースのインスタンス化SCNは設定されません。

インスタンス化されるデータベース・オブジェクトが表である場合、ソース・データベースと接続先データベースの表は完全に一致していなくてもかまいません。ただし、表データの一部または全部を2つのデータベース間でレプリケートする場合、表をインスタンス化したときにレプリケートするデータに一貫性がある必要があります。データベース・オブジェクトに対する変更をレプリケートする場合は、常にオブジェクトをソース・データベースでインスタンス化のために準備して、接続先データベースでデータベース・オブジェクトのインスタンス化SCNを設定する必要があります。インスタンス化のためにオブジェクトを準備することで、オブジェクトに対する変更を接続先データベースで適用する必要がある最小SCNが設定されます。このSCNは非処理SCNと呼ばれます。データベース・オブジェクトに対する変更を取得するように取得プロセスまたは同期取得を構成した後に、データベース・オブジェクトをインスタンス化する準備を行う必要があります。

エクスポート/インポート、トランスポータブル表領域またはRecovery Managerを使用して表をインスタンス化した場合、インスタンス化された表についてサプリメンタル・ログ・グループの指定が保持されます。つまり、インスタンス化の後、インポート・データベースのインポートされた表のログ・グループ指定は、エクスポート・データベースの同じ表のログ・グループの指定と同じです。インポート・データベースで表のサプリメンタル・ログ・グループの指定を保持しない場合は、インポート後に特定のサプリメンタル・ログ・グループを削除できます。

全データベースのエクスポート/インポートを実行する場合でも、エクスポート/インポート中はデータベース・サプリメンタル・ロギングの指定は保持されません。一方、Recovery ManagerのDUPLICATEコマンドでは、データベース・サプリメンタル・ロギングの指定はインスタンス化されたデータベースで保持されます。


注意:

  • Oracle Streamsをインスタンス化するためのエクスポート中は、エクスポート対象のオブジェクトに対してDDL変更が行われないように注意してください。

  • NULLアクション・コンテキストを持つルールを含むデータベースまたはスキーマをエクスポートする場合は、そのルールを所有するスキーマのデータベースまたはデフォルト表領域が書込み可能である必要があります。データベースまたは表領域が読取り専用であると、エクスポート・エラーが発生します。


取得のルールとインスタンス化の準備

DBMS_CAPTURE_ADMパッケージの次のサブプログラムでは、インスタンス化のためにデータベース・オブジェクトの準備が行われます。

これらのプロシージャでは、インスタンス化のために各オブジェクトの最小SCNが記録されます。オブジェクトの最小SCNより後のSCNは、そのオブジェクトのインスタンス化に使用できます。変更の取得に取得プロセスを使用する場合、前述のプロシージャでは、インスタンス化の準備対象となる表、スキーマまたはデータベースに対する変更を取得、伝播または適用する取得プロセス、伝播および適用プロセスのために、Oracle Streamsデータ・ディクショナリが移入されます。また、オプションで、これらのプロシージャを使用して、インスタンス化のために準備された表のキー列またはすべての列のサプリメンタル・ロギングを有効にすることもできます。


注意:

同期取得を使用するレプリケーションでは、Oracle Streamsデータ・ディクショナリは使用されません。

自動的にオブジェクトを準備するDBMS_STREAMS_ADMパッケージのプロシージャ

DBMS_STREAMS_ADMパッケージ内のプロシージャを実行して取得プロセスまたは同期取得のポジティブ・ルール・セットにルールを追加すると、変更が取得されるデータベース・オブジェクトに対して、DBMS_CAPTURE_ADMパッケージのプロシージャまたはファンクションが自動的に実行されます。表2-1に、DBMS_STREAMS_ADMパッケージのプロシージャを実行した場合に実行されるDBMS_CAPTURE_ADMパッケージのプロシージャまたはファンクションを示します。

表2-1 自動的に実行されるDBMS_CAPTURE_ADMパッケージのプロシージャ

実行するDBMS_STREAMS_ADMパッケージのプロシージャ 自動的に実行されるDBMS_CAPTURE_ADMパッケージのプロシージャまたはファンクション

ADD_TABLE_RULES

ADD_SUBSET_RULES

PREPARE_TABLE_INSTANTIATION(取得プロセスのルール・セットにルールが追加された場合)

PREPARE_SYNC_INSTANTIATION(同期取得のルール・セットにルールが追加された場合)

ADD_SCHEMA_RULES

PREPARE_SCHEMA_INSTANTIATION

ADD_GLOBAL_RULES

PREPARE_GLOBAL_INSTANTIATION


プロシージャは、インスタンス化を準備するために複数回コールできます。ダウンストリームの取得を使用していて、ダウンストリームの取得プロセスでダウンストリーム・データベースからソース・データベースへのデータベース・リンクが使用されている場合、DBMS_STREAMS_ADMパッケージのこれらのプロシージャのいずれかを実行すると、オブジェクトは自動的にインスタンス化のために準備されます。ただし、ダウンストリームの取得プロセスでダウンストリーム・データベースからソース・データベースへのデータベース・リンクを使用していない場合、オブジェクトをインスタンス化する準備を手動で行う必要があります。

DBMS_STREAMS_ADMパッケージではなく、DBMS_RULE_ADMパッケージによって取得プロセスのルールが作成される場合、取得プロセスのルールの結果生じた変更を適用プロセスで適用するには、適切なプロシージャを手動で実行して、変更が取得される各表、スキーマまたはデータベースをインスタンス化のために準備する必要があります。


注意:

同期取得では、ADD_TABLE_RULESまたはADD_SUBSET_RULESプロシージャで作成されたルールに基づく変更のみが取得されます。

インスタンス化の準備が必要な場合

次のいずれかの条件が該当する場合、データベース・オブジェクトの取得プロセス、伝播または適用プロセスのポジティブ・ルール・セットに含まれるルールについて、条件を追加または変更する際に、常に適切なプロシージャを実行して、ソース・データベースでそのデータベース・オブジェクトをインスタンス化のために準備する必要があります。

  • オブジェクトに対する変更を取得するように指示する取得プロセスのポジティブ・ルール・セットに、1つ以上のルールを追加する。

  • オブジェクトに対する変更を取得するように指示する取得プロセスのポジティブ・ルール・セットで、ルールについて1つ以上の条件を変更する。

  • オブジェクトに対する変更を伝播するように指示する伝播のポジティブ・ルール・セットに、1つ以上のルールを追加する。

  • オブジェクトに対する変更を伝播するように指示する伝播のポジティブ・ルール・セットで、ルールについて1つ以上の条件を変更する。

  • ソース・データベースのオブジェクトに対する変更を適用するように指示する適用プロセスのポジティブ・ルール・セットに、1つ以上のルールを追加する。

  • ソース・データベースのオブジェクトに対する変更を適用するように指示する適用プロセスのポジティブ・ルール・セットで、ルールについて1つ以上の条件を変更する。

次のいずれかの条件が該当する場合、データベース・オブジェクトの取得プロセス、伝播または適用プロセスのネガティブ・ルール・セットに含まれるルールについて、条件を削除または変更する際に、常に適切なプロシージャを実行して、ソース・データベースでそのデータベース・オブジェクトをインスタンス化のために準備する必要があります。

  • オブジェクトに対する変更を取得するように指示する取得プロセスのネガティブ・ルール・セットから、1つ以上のルールを削除する。

  • オブジェクトに対する変更を取得するように指示する取得プロセスのネガティブ・ルール・セットで、ルールについて1つ以上の条件を変更する。

  • オブジェクトに対する変更を伝播するように指示する伝播のネガティブ・ルール・セットから、1つ以上のルールを削除する。

  • オブジェクトに対する変更を伝播するように指示する伝播のネガティブ・ルール・セットで、ルールについて1つ以上の条件を変更する。

  • ソース・データベースのオブジェクトに対する変更を適用するように指示する適用プロセスのネガティブ・ルール・セットから、1つ以上のルールを削除する。

  • ソース・データベースのオブジェクトに対する変更を適用するように指示する適用プロセスのネガティブ・ルール・セットで、ルールについて1つ以上の条件を変更する。

ポジティブまたはネガティブ・ルール・セットに対する変更について、前述の条件に1つでも該当する場合は、ルールを追加または変更したリモート・データベースにオブジェクトが存在していても、ソース・データベースでインスタンス化のために関連するデータベース・オブジェクトの準備を行って、ソース・オブジェクトに関する情報が必要な関連するOracle Streamsデータ・ディクショナリを移入する必要があります。

関連するOracle Streamsデータ・ディクショナリは、ローカル・ディクショナリとすべてのリモート・ディクショナリについて非同期に移入されます。インスタンス化の準備を行うプロシージャでは、ソース・データベースのREDOログに情報が追加されます。ローカルのOracle Streamsデータ・ディクショナリには、取得プロセスがこれらのREDOエントリを取得するとオブジェクトに関する情報が移入され、リモートのOracle Streamsデータ・ディクショナリには情報が伝播されると移入されます。

同期取得ではOracle Streamsデータ・ディクショナリは使用されません。ただし、同期取得でデータベース・オブジェクトに対する変更を取得している場合は、同期取得のルール・セットにデータベース・オブジェクトのルールを追加する際に、データベース・オブジェクトをインスタンス化のために準備する必要があります。データベース・オブジェクトに対するインスタンス化のための最小SCNが記録されるため、ルールを追加する際に、データベース・オブジェクトをインスタンス化のために準備する必要があります。同期取得のルールが変更されている場合は、データベース・オブジェクトをインスタンス化のために準備する必要はありませんが、ルールの変更では、ルール条件のデータベース・オブジェクト名またはスキーマを変更することはできません。


参照:


インスタンス化の準備中のサプリメンタル・ロギング・オプション

レプリケーション環境で、変更の取得に取得プロセスが使用されている場合、サプリメンタル・ロギングが必要になります。サプリメンタル・ロギングでは、操作が実行されるたびにREDOログに列データが追加されます。データベース・オブジェクトをインスタンス化のために準備するには、DBMS_CAPTURE_ADMパッケージのPREPARE_TABLE_INSTANTIATIONPREPARE_SCHEMA_INSTANTIATIONおよびPREPARE_GLOBAL_INSTANTIATIONプロシージャを使用します。これらのプロシージャには、supplemental_loggingパラメータが含まれています。このパラメータを使用すると、インスタンス化のために準備されているデータベース・オブジェクトのサプリメンタル・ロギングの指定を制御できます。

表2-2に、各プロシージャに対するsupplemental_loggingパラメータの値を示します。

表2-2 インスタンス化の準備中のサプリメンタル・ロギング・オプション

プロシージャ supplemental_loggingパラメータの設定 説明

PREPARE_TABLE_INSTANTIATION

keys

インスタンス化のために準備する表の主キー列、一意キー列、ビットマップ索引列および外部キー列のサプリメンタル・ロギングが有効になります。この場合、ログに記録される表の列が、主キー列が無条件のログ・グループ、一意キー列とビットマップ索引列が条件付きのログ・グループ、外部キー列が条件付きのログ・グループと、3つの異なるログ・グループに配置されます。

PREPARE_TABLE_INSTANTIATION

all

インスタンス化のために準備する表のすべての列のサプリメンタル・ロギングが有効になります。この場合、表のすべての列が無条件のログ・グループに配置されます。

PREPARE_SCHEMA_INSTANTIATION

keys

インスタンス化のために準備するスキーマ内の表、および将来このスキーマに追加するすべての表の主キー列、一意キー列、ビットマップ索引列および外部キー列のサプリメンタル・ロギングが有効になります。主キー列は、無条件でログに記録されます。一意キー列、ビットマップ索引列および外部キー列は、条件付きでログに記録されます。

PREPARE_SCHEMA_INSTANTIATION

all

インスタンス化のために準備するスキーマ内の表、および将来このスキーマに追加するすべての表のすべての列のサプリメンタル・ロギングが有効になります。すべての列は、無条件でログに記録されます。

PREPARE_GLOBAL_INSTANTIATION

keys

インスタンス化のために準備するデータベース内の表、および将来このデータベースに追加するすべての表の主キー列、一意キー列、ビットマップ索引列および外部キー列のサプリメンタル・ロギングが有効になります。主キー列は、無条件でログに記録されます。一意キー列、ビットマップ索引列および外部キー列は、条件付きでログに記録されます。

PREPARE_GLOBAL_INSTANTIATION

all

インスタンス化のために準備するデータベース内のすべての表、および将来このデータベースに追加するすべての表のすべての列のサプリメンタル・ロギングが有効になります。すべての列は、無条件でログに記録されます。

すべてのPREPAREプロシージャ

none

インスタンス化のために準備する表のいずれの列に対してもサプリメンタル・ロギングが有効になりません。


supplemental_loggingパラメータを指定せずにいずれかのPREPAREプロシージャを実行した場合、keysがデフォルトになります。DBMS_STREAMS_ADMパッケージの一部のプロシージャでは、取得プロセスのポジティブ・ルール・セットにルールを追加する際に、表がインスタンス化のために準備されます。この場合、インスタンス化のために準備する表には、デフォルトのサプリメンタル・ロギング・オプションのkeysが指定されます。


注意:

  • supplemental_loggingパラメータにallを指定した場合、LOB型、LONG型、LONG RAW型、ユーザー定義型およびOracleが提供する型の列のサプリメンタル・ロギングは有効になりません。

  • supplemental_loggingパラメータにkeysを指定した場合、ビットマップ結合索引列のサプリメンタル・ロギングは有効になりません。

  • PREPAREプロシージャのsupplemental_loggingパラメータは、Oracle Database 10g リリース2(10.2)で導入されています。デフォルトでは、これらのプロシージャを実行すると、サプリメンタル・ロギングが有効になります。今回より前のリリースでは、これらのプロシージャを実行しても、サプリメンタル・ロギングは有効になりませんでした。Oracle Streams環境を削除したり、Oracle Streams環境から特定のデータベース・オブジェクトを削除すると、これらのプロシージャによって有効化されたサプリメンタル・ロギングを削除して、不要なロギングを回避できます。


Oracle Data PumpとOracle Streamsのインスタンス化

ここでは、Oracle Data Pumpを使用したOracle Streamsのインスタンス化について説明します。


参照:


データ・ポンプ・エクスポートとオブジェクトの一貫性

エクスポート中、Oracle Data Pumpでは、データベース・オブジェクトごとにエクスポートされたデータおよび手続き型操作が特定の時点で一貫性を持つように、自動的にOracle Flashback機能が使用されます。Oracle Streams環境でインスタンス化を実行する場合は、ある程度の一貫性が必要です。データ・ポンプ・エクスポート・ユーティリティを使用すると、Oracle Streamsのインスタンス化についてこの一貫性を確保できます。

Oracle Streamsのインスタンス化のみでなく、他の用途にもエクスポート・ダンプ・ファイルを使用しており、その用途がデータ・ポンプのデフォルトのエクスポートで得られる一貫性より厳密な一貫性要件を伴う場合は、Oracle Streamsのインスタンス化にデータ・ポンプ・エクスポート・ユーティリティ・パラメータFLASHBACK_SCNまたはFLASHBACK_TIMEを使用できます。たとえば、エクスポートに外部キー制約を持つオブジェクトが含まれている場合、より厳密な一貫性が要求される場合があります。

Oracle Data Pump ImportとOracle Streamsのインスタンス化

ここでは、Oracle Data Pump ImportとOracle Streamsのインスタンス化について詳しく説明します。

インスタンス化SCNとデータ・ポンプ・インポート

データ・ポンプ・インポート中、インスタンス化SCNは、データ・ポンプ・エクスポートが実行される前にエクスポート・データベースでインスタンス化が準備されたデータベース・オブジェクトごとに、インポート・データベースで設定されます。インスタンス化SCNは、データ・ポンプ・エクスポート中に取得されるメタデータに基づいて設定されます。

インスタンス化SCNとデータ・ポンプ・インポートによるOracle Streamsタグ

データ・ポンプ・インポート・セッションでは、インポートによって発生する変更の循環を回避するために、Oracle Streamsタグが'00'と等価の16進値に設定される場合があります。このようなインポートによって生成されるREDOエントリに、このタグ値が含まれます。

インポート・セッション・タグが'00'と等価の16進値に設定されるかどうかは、インポートされるエクスポートによって決まります。具体的には、次のいずれかの場合にインポート・セッション・タグが'00'と等価の16進値に設定されます。

  • データ・ポンプ・エクスポートがFULLまたはSCHEMAモードである。

  • データ・ポンプ・エクスポートがTABLEまたはTABLESPACEモードであり、エクスポートの実行前に、エクスポートに含まれる1つ以上の表がエクスポート・データベースでインスタンス化のために準備されている。

インポートされるデータ・ポンプ・エクスポートで、前述の条件のどちらも該当しない場合は、インポート・セッション・タグはNULLです。


注意:

  • データ・ポンプを使用してネットワーク・インポートを実行する場合、インポートと同じモードで暗黙的エクスポートが実行されます。たとえば、ネットワーク・インポートがスキーマ・モードの場合は、暗黙的エクスポートもスキーマ・モードで行われます。

  • データ・ポンプ・インポートがTRANSPORTABLE TABLESPACEモードで実行される場合、インポート・セッション・タグは設定されません。このモードで実行されるインポートでは、インポートされるデータのREDOデータを生成しません。そのため、セッション・タグの設定は不要です。


STREAMS_CONFIGURATIONデータ・ポンプ・インポート・ユーティリティ・パラメータ

STREAMS_CONFIGURATIONデータ・ポンプ・インポート・ユーティリティ・パラメータでは、エクスポート・ダンプ・ファイルに表示される一般的なOracle Streamsメタデータをインポートするかどうかを指定します。このインポート・パラメータは、全データベースのインポートを実行する場合にのみ関連します。デフォルトでは、STREAMS_CONFIGURATIONインポート・ユーティリティ・パラメータはyに設定されます。通常、インポートがバックアップまたはリストア操作の一部である場合は、yを指定します。

エクスポート・ダンプ・ファイルに情報が表示される場合、次のオブジェクトは、STREAMS_CONFIGURATIONの設定に関係なくインポートされます。

  • ANYDATAキューおよびキュー表。

  • キュー・サブスクライバ。

  • アドバンスト・キューイング・エージェント。

  • ポジティブ・ルール・セット、ネガティブ・ルール・セットおよび評価コンテキストを含めたルール。Oracle StreamsルールおよびOracle Streams以外のルールを含め、すべてのルールがインポートされます。Oracle Streamsルールとは、DBMS_STREAMS_ADMパッケージの特定のプロシージャが実行されるときにシステムによって生成されるルールで、Oracle Streams以外のルールとは、DBMS_RULE_ADMパッケージを使用して作成されるルールです。

    STREAMS_CONFIGURATIONパラメータの設定がnの場合、Oracle Streamsルールに関する情報は、データ・ディクショナリ・ビューALL_STREAMS_RULESALL_STREAMS_GLOBAL_RULESALL_STREAMS_SCHEMA_RULESALL_STREAMS_TABLE_RULESDBA_STREAMS_RULESDBA_STREAMS_GLOBAL_RULESDBA_STREAMS_SCHEMA_RULESおよびDBA_STREAMS_TABLE_RULESにはインポートされません。ただし、これらのルールに関する情報は、STREAMS_CONFIGURATIONパラメータの設定に関係なく、データ・ディクショナリ・ビューALL_RULESALL_RULE_SETSALL_RULE_SET_RULESDBA_RULESDBA_RULE_SETSDBA_RULE_SET_RULESUSER_RULESUSER_RULE_SETSおよびUSER_RULE_SET_RULESにインポートされます。

STREAMS_CONFIGURATIONインポート・ユーティリティ・パラメータの設定がyで、次の情報がエクスポート・ダンプ・ファイルに表示されている場合、この情報はインポートに含まれます。STREAMS_CONFIGURATIONインポート・ユーティリティ・パラメータの設定がnの場合は、次の情報はインポートに含まれません。

  • ローカルの変更を取得する取得プロセス。各取得プロセスには次の情報が含まれます。

    • 取得プロセスの名前。

    • 取得プロセスの状態。

    • 取得プロセスのパラメータの設定。

    • 取得プロセスで使用されるキューのキュー所有者およびキュー名。

    • 取得プロセスで使用されるポジティブ・ルール・セットとネガティブ・ルール・セット、それぞれのルール・セット所有者およびルール・セット名。

    • 取得プロセスの取得ユーザー。

    • 取得プロセスの状態の最終変更時間。この情報は、DBA_CAPTUREデータ・ディクショナリ・ビューに記録されます。

    • 原因となったエラーのエラー番号とメッセージ(取得プロセスが無効化されるか異常終了した場合)。この情報は、DBA_CAPTUREデータ・ディクショナリ・ビューに記録されます。

  • 同期取得。各同期取得には次の情報が含まれます。

    • 同期取得の名前。

    • 同期取得で使用されるキューのキュー所有者およびキュー名。

    • 同期取得で使用されるそれぞれのルール・セットのルール・セット所有者およびルール・セット名。

    • 同期取得の取得ユーザー。

  • 表がエクスポート・データベースでインスタンス化の準備を完了している場合、これらの表がインポート・データベースでインスタンス化用に準備されます。

  • スキーマがエクスポート・データベースでインスタンス化の準備を完了している場合、これらのスキーマがインポート・データベースでインスタンス化用に準備されます。

  • エクスポート・データベースがインスタンス化の準備を完了している場合、インポート・データベースがインスタンス化用に準備されます。

  • Oracle Streamsクライアントが使用する各ANYDATAキューの状態(開始または停止)。Oracle Streamsクライアントには、取得プロセス、伝播、適用プロセスおよびメッセージ・クライアントが含まれます。ANYDATAキュー自体は、STREAMS_CONFIGURATIONインポート・ユーティリティ・パラメータの設定に関係なくインポートされます。

  • 伝播。各伝播には次の情報が含まれます。

    • 伝播の名前。

    • ソース・キューのキュー所有者およびキュー名。

    • 宛先キューのキュー所有者およびキュー名。

    • 接続先データベース・リンク。

    • 伝播で使用されるポジティブ・ルール・セットとネガティブ・ルール・セット、それぞれのルール・セット所有者およびルール・セット名。

    • Oracle Streamsの伝播に関連するOracle Schedulerジョブ。

  • 適用プロセス。各適用プロセスには次の情報が含まれます。

    • 適用プロセスの名前。

    • 適用プロセスの状態。

    • 適用プロセスのパラメータの設定。

    • 適用プロセスで使用されるキューのキュー所有者およびキュー名。

    • 適用プロセスで使用されるルール・セットのポジティブおよびネガティブ・ルール・セット所有者およびルール・セット名。

    • 適用プロセスによって、取得LCRがバッファ・キューに適用されるか、メッセージが永続キューに適用されるか。

    • 適用プロセスの適用ユーザー。

    • 存在する場合は、適用プロセスで使用されるメッセージ・ハンドラ。

    • 存在する場合は、適用プロセスで使用されるDDLハンドラ。

    • 存在する場合は、適用プロセスで使用されるプリコミット・ハンドラ。

    • 適用プロセスによって行われた変更用にREDOログ内で生成されたタグ。

    • 存在する場合は、適用データベース・リンク。

    • 適用プロセスのソース・データベース。

    • 適用されたメッセージ番号、最も古いメッセージ番号(最も古いSCN)、適用時間および適用されたメッセージの作成時間を含む、DBA_APPLY_PROGRESSデータ・ディクショナリ・ビュー内の適用の進捗に関する情報。

    • 適用エラー。

    • 適用プロセスの状態の最終変更時間。この情報は、DBA_APPLYデータ・ディクショナリ・ビューに記録されます。

    • 原因となったエラーのエラー番号とメッセージ(適用プロセスが無効化されるか異常終了した場合)。この情報は、DBA_APPLYデータ・ディクショナリ・ビューに記録されます。

  • DMLハンドラ。

  • エラー・ハンドラ。

  • 更新の競合ハンドラ。

  • 適用表の代替キー列。

  • 各適用オブジェクトのインスタンス化SCN。

  • 各適用オブジェクトの非処理SCN。

  • メッセージ・クライアント。各メッセージ・クライアントには次の情報が含まれます。

    • メッセージ・クライアントの名前。

    • メッセージ・クライアントで使用されるキューのキュー所有者およびキュー名。

    • メッセージ・クライアントで使用されるルール・セットのポジティブ・ルール・セットおよびネガティブ・ルール・セット所有者およびルール・セット名。

    • メッセージ通知設定。

  • Oracle Streamsルールに関する一部のデータ・ディクショナリ情報。ルール自体は、STREAMS_CONFIGURATIONパラメータの設定に関係なくインポートされます。

  • Oracle Streams管理者、メッセージ・クライアント、メッセージ・ルール、取得プロセスまたは同期取得で取得されるLCRに含まれる追加の属性、およびメッセージ・ルールで使用される追加の属性に関するデータ・ディクショナリ情報。


注意:

ダウンストリームの取得プロセスは、STREAMS_CONFIGURATION設定に関係なくインポートに含まれません。

Recovery ManagerとOracle Streamsのインスタンス化

Recovery ManagerのDUPLICATEおよびCONVERT DATABASEコマンドを使用すると、データベース全体をインスタンス化できます。また、Recovery ManagerのTRANSPORT TABLESPACEコマンドを使用すると、表領域または表領域セットをインスタンス化できます。通常、Recovery Managerを使用する方が、他の方法より高速にインスタンス化を実行できます。ここでは、Recovery Managerのコマンドを使用したインスタンス化について説明します。

Recovery ManagerのDUPLICATEおよびCONVERT DATABASEコマンドとインスタンス化

Recovery ManagerのDUPLICATEコマンドを実行すると、別の場所にターゲット・データベースのコピーが作成されます。このコマンドでは、Recovery Managerの補助インスタンスを使用してターゲット・データベース・ファイルのバックアップがリストアされ、新しいデータベースが作成されます。Oracle Streamsでのインスタンス化では、ターゲット・データベースがソース・データベース、新しく作成するデータベースが接続先データベースです。DUPLICATEコマンドを使用する場合、ソース・データベースと接続先データベースが同じプラットフォームで実行されている必要があります。

Recovery ManagerのCONVERT DATABASEコマンドを実行すると、異なるプラットフォームの新しい接続先データベース用のデータ・ファイルと初期化パラメータ・ファイルが生成されます。また、新しい接続先データベースを作成するスクリプトも生成されます。これらのファイルを使用すると、ソース・データベースと異なるプラットフォームで実行されている(ただし、エンディアン形式はソース・データベースと同じ)接続先データベース全体をインスタンス化できます。

Recovery ManagerのDUPLICATEおよびCONVERT DATABASEコマンドでは、データベース・オブジェクトのインスタンス化SCNの値は設定されません。インスタンス化SCNの値は、インスタンス化中に手動で設定する必要があります。


参照:


Recovery ManagerのTRANSPORT TABLESPACEコマンドとインスタンス化

Recovery ManagerのTRANSPORT TABLESPACEコマンドを実行すると、データ・ポンプおよびRecovery Managerで管理される補助インスタンスを使用して、ソース・データベースの表領域または表領域セットがオンライン状態のままで、表領域または表領域セットのデータベース・オブジェクトがエクスポートされます。補助インスタンスは、Recovery Managerによって自動的にシステム生成名で起動されます。 Recovery ManagerのTRANSPORT TABLESPACEコマンドを実行すると、表領域または表領域セットのデータ・ポンプ・エクスポート・ダンプ・ファイルおよびデータ・ファイルが生成されます。

データ・ポンプを使用して、接続先データベースでエクスポート・ダンプ・ファイルをインポートできます。または、DBMS_STREAMS_TABLESPACE_ADMパッケージのATTACH_TABLESPACESプロシージャを使用して、表領域または表領域セットを接続先データベースにアタッチできます。また、表領域がインポートまたはアタッチされると、表領域または表領域セット内のデータベース・オブジェクトのインスタンス化SCNの値が、接続先データベースで自動的に設定されます。


注意:

Recovery ManagerのTRANSPORT TABLESPACEコマンドでは、ユーザー管理の補助インスタンスはサポートされていません。