ヘッダーをスキップ

Oracle Database 2日でデータ・レプリケーションおよび統合ガイド
11g リリース1(11.1)

E05777-03
目次
目次
索引
索引

戻る 次へ

5 Oracle Streamsレプリケーション環境の管理

この章では、Oracle Streamsレプリケーション環境の管理、監視およびトラブルシューティング方法を説明します。

この章は次の項で構成されています。

Oracle Streamsレプリケーション環境の管理

Oracle Streamsレプリケーション環境では、管理はそれほど必要ありません。環境が正しく構成されている場合は、必要な最小限の管理作業で変更がデータベース・オブジェクトに自動的にレプリケートされます。この項では、Oracle Streamsレプリケーション環境で必要になることのある管理タスクの実行方法を説明します。

次の各項で、Oracle Streamsレプリケーション環境の管理を説明します。

取得プロセスの管理

Enterprise Managerを使用して、取得プロセスを管理できます。この項では、取得プロセスの最も一般的な管理タスクを完了する方法を説明します。

次の各項で、取得プロセスの管理について説明します。

取得プロセスの起動と停止

この項では、Enterprise Managerで取得プロセスを起動および停止する方法を説明します。

取得プロセスは、サポートされていないデータ型などのエラーを検出した場合に自動的に停止することがあります。この状況が発生した場合は、Enterprise Managerの「Streams」ページの「取得」サブページにエラーが表示されます。この場合は、エラーを解決して取得プロセスを再起動する必要があります。

また、取得プロセスは、取得プロセスが停止していたときにデータベース・オブジェクトに対して行われた変更を取得できることにも注意してください。これらの変更はREDOログに記録され、取得プロセスは、再起動後にREDOログ内で取得するように構成されている変更を検索します。データベース・オブジェクトに対する特定の変更を取得しないようにするには、タグを使用する必要があります。「変更の循環を回避するためのタグの概要」を参照してください。

取得プロセスを起動または停止するには:
  1. Oracle Enterprise Managerで、Oracle Streams管理者としてハブ・データベースにログインします。

  2. 「データベース」ホームページに移動します。

  3. 「データ移動」をクリックして「データ移動」サブページを開きます。

  4. 「Streams」セクションの「管理」をクリックします。

    「Streams」ページが表示され、「概要」サブページが表示されます。

  5. 「取得」をクリックして「取得」サブページを開きます。


    画像の説明

  6. 起動または停止する取得プロセスを選択します。

  7. 無効化または中断した取得プロセスを起動するには「起動」をクリックし、有効になっている取得プロセスを停止するには「停止」をクリックします。

  8. 確認ページで「はい」をクリックして、取得プロセスの起動または停止を終了します。


    注意:

    DBMS_CAPTURE_ADMパッケージのSTART_CAPTUREプロシージャおよびSTOP_CAPTUREプロシージャを使用して、取得プロセスを起動および停止することもできます。 


    参照:

     

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

この項では、Enterprise Managerで取得プロセス・パラメータを設定する方法を説明します。取得プロセス・パラメータは、取得プロセスの動作を制御します。パラメータを設定して、取得プロセスの特定の動作を変更できます。たとえば、PARALLELISM取得プロセス・パラメータを変更して、変更を取得するプロセス数を制御できます。通常は、取得プロセスの並列性を調整して、取得プロセスのパフォーマンスを最適化します。

取得プロセス・パラメータを設定するには:
  1. Oracle Enterprise Managerで、Oracle Streams管理者としてハブ・データベースにログインします。

  2. 「データベース」ホームページに移動します。

  3. 「データ移動」をクリックして「データ移動」サブページを開きます。

  4. 「Streams」セクションの「管理」をクリックします。

    「Streams」ページが表示され、「概要」サブページが表示されます。

  5. 「取得」をクリックして「取得」サブページを開きます。


    画像の説明

  6. 変更する取得プロセスを選択します。

  7. 「編集」をクリックして「取得の編集」ページを開きます。


    画像の説明

  8. 「パラメータ」セクションで、1つ以上の取得プロセス・パラメータを変更します。

    パラメータの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。parallelismパラメータを変更した場合は、 「適用」をクリックしたときに取得プロセスが自動的に停止し、再起動します。

  9. 「適用」をクリックすると変更が保存されます。


    注意:

    DBMS_CAPTURE_ADM.SET_PARAMETERプロシージャを使用して、取得プロセス・パラメータを設定することもできます。 


    参照:

     

伝播の有効化および無効化

この項では、Enterprise Managerで伝播を有効または無効にする方法を説明します。

伝播がメッセージを送信するデータベースが停止している場合、またはネットワークの問題のため伝播によるメッセージの送信が不能な場合は、伝播を無効にできます。このような状況では、伝播を無効にし、問題が解決したら有効にできます。

また、16回連続試行してもメッセージの送信に失敗した場合は、伝播が自動的に無効になります。この状況が発生した場合は、Enterprise Managerの「Streams」ページの「伝播」サブページにエラーが表示されます。この場合は、エラーを解決し、伝播を有効にする必要があります。

伝播を有効または無効にするには:
  1. Oracle Enterprise Managerで、Oracle Streams管理者としてハブ・データベースにログインします。

  2. 「データベース」ホームページに移動します。

  3. 「データ移動」をクリックして「データ移動」サブページを開きます。

  4. 「Streams」セクションの「管理」をクリックします。

    「Streams」ページが表示され、「概要」サブページが表示されます。

  5. 「伝播」をクリックして「伝播」サブページを開きます。


    画像の説明

  6. 有効または無効にする伝播の「ステータス」フィールドにあるリンクをクリックします。リンク・テキストは、「有効」または「無効」です。

    伝播の「ステータス」ページが表示されます。


    画像の説明

  7. 「現行のステータス」セクションで、ステータスを「有効」または「無効」に変更します。

    「次回」、「伝播の期間」または「待機時間」セクションの設定は変更しないでください。一般に、これらのセクションのデフォルト値で、最も効率的な伝播が行われます。伝播スケジュールの変更については、このマニュアルで説明しません。

  8. 「OK」をクリックして変更を保存します。


    注意:

    DBMS_PROPAGATION_ADMパッケージのSTART_PROPAGATIONプロシージャおよびSTOP_PROPAGATIONプロシージャを使用して、伝播を起動および停止することもできます。 


    参照:

     

適用プロセスの管理

Enterprise Managerを使用して、適用プロセスを管理できます。この項では、適用プロセスの最も一般的な管理タスクを完了する方法を説明します。

次の各項で、適用プロセスの管理について説明します。

適用プロセスの起動と停止

この項では、Enterprise Managerで適用プロセスを起動および停止する方法を説明します。

適用プロセスは、表に存在しない行の更新試行などのエラーが発生した場合に自動的に停止します。この状況が発生した場合は、Enterprise Managerの「Streams」ページの「適用」サブページで、適用プロセスのステータスが「中断」になります。この場合は、エラーを解決して適用プロセスを再起動する必要があります。

適用プロセスを起動または停止するには:
  1. Oracle Enterprise Managerで、Oracle Streams管理者としてハブ・データベースにログインします。

  2. 「データベース」ホームページに移動します。

  3. 「データ移動」をクリックして「データ移動」サブページを開きます。

  4. 「Streams」セクションの「管理」をクリックします。

    「Streams」ページが表示され、「概要」サブページが表示されます。

  5. 「適用」をクリックして「適用」サブページを開きます。


    画像の説明

  6. 起動または停止する適用プロセスを選択します。

  7. 無効化または中断した適用プロセスを起動するには「起動」をクリックし、有効になっている適用プロセスを停止するには「停止」をクリックします。

  8. 確認ページで「はい」をクリックして、適用プロセスの起動または停止を終了します。


    注意:

    DBMS_APPLY_ADMパッケージのSTART_APPLYプロシージャおよびSTOP_APPLYプロシージャを使用して、適用プロセスを起動および停止することもできます。 


    参照:

     

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

この項では、Enterprise Managerで適用プロセス・パラメータを設定する方法を説明します。適用プロセス・パラメータは、適用プロセスの動作を制御します。パラメータを設定して、適用プロセスの特定の動作を変更できます。たとえば、parallelism適用プロセス・パラメータを変更して、変更を適用するプロセス数を制御できます。通常は、適用プロセスの並列性を調整して、適用プロセスのパフォーマンスを最適化します。

適用プロセス・パラメータを設定するには:
  1. Oracle Enterprise Managerで、Oracle Streams管理者としてハブ・データベースにログインします。

  2. 「データベース」ホームページに移動します。

  3. 「データ移動」をクリックして「データ移動」サブページを開きます。

  4. 「Streams」セクションの「管理」をクリックします。

    「Streams」ページが表示され、「概要」サブページが表示されます。

  5. 「適用」をクリックして「適用」サブページを開きます。


    画像の説明

  6. 変更する適用プロセスを選択します。

  7. 「編集」をクリックして「適用の編集」ページを開きます。


    画像の説明

  8. 「パラメータ」セクションで、1つ以上の適用プロセス・パラメータを変更します。

    パラメータの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。parallelismパラメータを変更した場合は、「適用」をクリックしたときに適用プロセスが自動的に停止し、再起動します。

  9. 「適用」をクリックすると変更が保存されます。


    注意:

    DBMS_APPLY_ADM.SET_PARAMETERプロシージャを使用して、適用プロセス・パラメータを設定することもできます。 


    参照:

     

Oracle Streamsレプリケーション環境の監視

この項では、Enterprise ManagerとSQL*Plusを使用して、レプリケーション・コンポーネントとレプリケーション・トポロジに関する一般情報を表示する方法を説明します。取得プロセス、伝播および適用プロセスの監視方法も説明します。

次の各項で、Oracle Streamsレプリケーション環境の監視を説明します。

データベースのレプリケーション・コンポーネントの概要の表示

Enterprise Managerの「Streams」ページの「概要」サブページには、現在のデータベース内のOracle Streamsコンポーネントに関する情報が表示されます。次のような情報があります。

番号をクリックしてドリルダウンし、コンポーネントに関する詳細情報を表示したり、コンポーネントを管理したりできます。

データベースのレプリケーション・コンポーネントの概要を表示するには:
  1. Oracle Enterprise Managerで、Oracle Streams管理者としてハブ・データベースにログインします。

  2. 「データベース」ホームページに移動します。

  3. 「データ移動」をクリックして「データ移動」サブページを開きます。

  4. 「Streams」セクションの「管理」をクリックします。

    「Streams」ページが表示され、「概要」サブページが表示されます。Oracle Streamsの「概要」ページの詳細は、「ヘルプ」をクリックしてください。


    画像の説明

    参照:

     

データベースのOracle Streamsレプリケーション環境のトポロジの表示

Oracle Streamsトポロジには、ローカル・データベース、およびOracle Streams環境でローカル・データベースと対話する他のデータベースのグラフィカル表現が表示されます。レプリケーション環境では、トポロジは、表示されているデータベースに関する次の情報を示します。

Oracle Streamsトポロジを表示するには:
  1. Oracle Enterprise Managerで、Oracle Streams管理者としてハブ・データベースにログインします。

  2. 「データベース」ホームページに移動します。

  3. 「データ移動」をクリックして「データ移動」サブページを開きます。

  4. 「Streams」セクションの「管理」をクリックします。

    「Streams」ページが表示され、「概要」サブページが表示されます。

  5. Oracle Streamsトポロジが表示されるまで下にスクロールします。

「概要」ウィンドウで、トポロジの特定部分を選択して詳細に表示したり、ズーム・イン/ズーム・アウトできます。トポロジ内のデータベースを選択し、データベースに関する情報を示す「選択の詳細」ウィンドウを表示することもできます。

Oracle Streamsトポロジの詳細は、「ヘルプ」または「凡例」リンクをクリックしてください。

次の図は、Oracle Streamsレプリケーション環境のOracle Streamsトポロジの例を示しています。


画像の説明

前の図のOracle Streamsトポロジには、次の要素が含まれています。

Enterprise ManagerでのOracle Streamsトポロジのグラフィック表示だけでなく、DBMS_STREAMS_ADVISOR_ADMパッケージを使用してOracle Streamsトポロジに関する情報を収集することもできます。この情報を収集した後で、次のデータ・ディクショナリ・ビューを問い合せてOracle Streamsトポロジを表示できます。

DBMS_STREAMS_ADVISOR_ADMパッケージを使用して情報を収集すると、Oracle Streamsパフォーマンス・アドバイザがOracle Streamsのパフォーマンスに関する情報をこれらのビューに配置します。これらのビューを問い合せれば、Oracle Streamsコンポーネントの現在のパフォーマンス状況を判断し、そのパフォーマンスを向上する方法を決定できます。

参照:

 

取得プロセスの監視

Enterprise Managerを使用して、取得プロセスに関する詳細情報を表示できます。取得プロセスの統計も表示できます。

次の各項で、取得プロセスの監視について説明します。

取得プロセスの情報の表示

Enterprise Managerを使用して、取得プロセスに関する情報を表示できます。この情報には、取得プロセスのステータスと状態、取得プロセスで使用されるルールおよび取得プロセスに関するその他の情報が含まれます。

Enterprise Managerで取得プロセスに関する詳細情報を表示するには:
  1. Oracle Enterprise Managerで、Oracle Streams管理者としてハブ・データベースにログインします。

  2. 「データベース」ホームページに移動します。

  3. 「データ移動」をクリックして「データ移動」サブページを開きます。

  4. 「Streams」セクションの「管理」をクリックします。

    「Streams」ページが表示され、「概要」サブページが表示されます。

  5. 「取得」をクリックして「取得」サブページを開きます。


    画像の説明

    「取得」サブページには、データベース内の各取得プロセスに関する一般情報が表示されます。この情報には、取得プロセスのルール・セット、キュー、状態およびステータスが含まれます。「取得」サブページの詳細は、「ヘルプ」をクリックしてください。

  6. 監視する取得プロセスを選択します。

  7. 「表示」をクリックして「取得の詳細を表示」ページを開きます。


    画像の説明

「取得の詳細を表示」ページには、取得プロセスに関する詳細情報が表示されます。また、取得プロセスが変更を取得するデータベース・オブジェクトを表示できます。ルールでは、取得プロセスで取得されるデータベース変更が制御されます。「オブジェクト」セクションの検索ツールを使用して、取得プロセス・ルールを表示します。

このページの詳細を表示するには、「ヘルプ」をクリックします。


注意:

取得プロセスに関する情報を、ALL_CAPTUREデータ・ディクショナリ・ビューに問い合せることもできます。 


参照:

 

取得プロセスに関する統計情報の表示

Enterprise Managerを使用して、取得プロセスの統計を表示できます。統計には、取得プロセス・キュー内のメッセージ数、取得プロセスで取得およびエンキューされたメッセージ数、および取得プロセスに関連するその他の統計が含まれます。

Enterprise Managerで取得プロセスの統計を表示するには:
  1. Oracle Enterprise Managerで、Oracle Streams管理者としてハブ・データベースにログインします。

  2. 「データベース」ホームページに移動します。

  3. 「データ移動」をクリックして「データ移動」サブページを開きます。

  4. 「Streams」セクションの「管理」をクリックします。

    「Streams」ページが表示され、「概要」サブページが表示されます。

  5. 「取得」をクリックして「取得」サブページを開きます。


    画像の説明

    「取得」サブページには、データベース内の各取得プロセスに関する一般情報が表示されます。この情報には、取得プロセスのルール・セット、キュー、状態およびステータスが含まれます。「取得」サブページの詳細は、「ヘルプ」をクリックしてください。

  6. 監視する取得プロセスを選択します。

  7. 「統計」をクリックして「取得の統計を表示」ページを開きます。


    画像の説明

「取得の統計を表示」ページには、次の情報が表示されます。

このページの詳細を表示するには、「ヘルプ」をクリックします。

参照:

 

伝播の監視

Enterprise Managerを使用して、伝播に関する詳細情報を表示できます。伝播の統計も表示できます。

次の各項で、伝播の監視について説明します。

伝播の情報の表示

Enterprise Managerを使用して、伝播に関する情報を表示できます。この情報には、伝播のステータス、伝播が失敗したかどうか、伝播で使用されるルールおよび伝播に関するその他の情報が含まれます。

Enterprise Managerで伝播に関する情報を表示するには:
  1. Oracle Enterprise Managerで、Oracle Streams管理者としてハブ・データベースにログインします。

  2. 「データベース」ホームページに移動します。

  3. 「データ移動」をクリックして「データ移動」サブページを開きます。

  4. 「Streams」セクションの「管理」をクリックします。

    「Streams」ページが表示され、「概要」サブページが表示されます。

  5. 「伝播」をクリックして「伝播」サブページを開きます。


    画像の説明

  6. 監視する伝播を選択します。

  7. 「表示」をクリックして、伝播の「伝播の詳細を表示」ページを開きます。


    画像の説明

「伝播の詳細を表示」ページには、伝播プロセスに関する詳細情報が表示されます。また、伝播が変更を送信するデータベース・オブジェクトを表示できます。ルールでは、伝播によって送信されるデータベース変更が制御されます。「オブジェクト」セクションの検索ツールを使用して、伝播ルールを表示します。

このページの詳細を表示するには、「ヘルプ」をクリックします。


注意:

伝播に関する情報を、ALL_PROPAGATIONデータ・ディクショナリ・ビューに問い合せることもできます。 


参照:

 

伝播に関する統計情報の表示

Enterprise Managerを使用して、伝播の統計を表示できます。統計には、伝播ソース・キュー内のメッセージ数、伝播によって送信されたメッセージ数および伝播に関連するその他の統計が含まれます。


注意:

取得と適用の組合せを使用する場合、伝播の統計は計算されません。 


Enterprise Managerで伝播の統計を表示するには:
  1. Oracle Enterprise Managerで、Oracle Streams管理者としてハブ・データベースにログインします。

  2. 「データベース」ホームページに移動します。

  3. 「データ移動」をクリックして「データ移動」サブページを開きます。

  4. 「Streams」セクションの「管理」をクリックします。

    「Streams」ページが表示され、「概要」サブページが表示されます。

  5. 「伝播」をクリックして「伝播」サブページを開きます。


    画像の説明

  6. 監視する伝播を選択します。

  7. 「統計」をクリックして、伝播の「伝播の統計を表示」ページを開きます。

「伝播の統計を表示」ページには、次のサブページが表示されます。

どちらのサブページにも、キュー内のメッセージ数と、伝播により送信されたメッセージ数を数時間にわたって示すグラフがあります。両方のサブページには、メッセージの合計数や、伝播が前回起動した後に伝播されたバイト数など、その他の伝播統計も含まれます。現在のサブページの統計の詳細は、「ヘルプ」をクリックしてください。


画像の説明


注意:

バッファ・キュー統計および伝播統計を、次の動的パフォーマンス・ビューに問い合せることもできます。

  • V$BUFFERED_QUEUES

  • V$PROPAGATION_SENDER

  • V$PROPAGATION_RECEIVER

 

参照:

 

適用プロセスの監視

Enterprise Managerを使用して、適用プロセスに関する詳細情報を表示できます。適用プロセスの統計も表示できます。

次の各項で、適用プロセスの監視について説明します。

適用プロセスの情報の表示

Enterprise Managerを使用して、適用プロセスに関する情報を表示できます。この情報には、適用プロセスのステータスと状態、適用プロセスで使用されるルールおよび適用プロセスに関するその他の情報が含まれます。

Enterprise Managerで適用プロセスに関する情報を表示するには:
  1. Oracle Enterprise Managerで、Oracle Streams管理者としてハブ・データベースにログインします。

  2. 「データベース」ホームページに移動します。

  3. 「データ移動」をクリックして「データ移動」サブページを開きます。

  4. 「Streams」セクションの「管理」をクリックします。

    「Streams」ページが表示され、「概要」サブページが表示されます。

  5. 「適用」をクリックして「適用」サブページを開きます。


    画像の説明

  6. 監視する適用プロセスを選択します。

  7. 「表示」をクリックして「適用の詳細表示」ページを開きます。


    画像の説明

「適用の詳細表示」ページには、適用プロセスに関する詳細情報が表示されます。また、適用プロセスが変更を適用するデータベース・オブジェクトを表示できます。ルールでは、適用プロセスでデキューおよび適用されるデータベース変更が制御されます。「オブジェクト」セクションの検索ツールを使用して、適用プロセス・ルールを表示します。

このページの詳細を表示するには、「ヘルプ」をクリックします。


注意:

適用プロセスに関する情報を、ALL_APPLYデータ・ディクショナリ・ビューに問い合せることもできます。 


参照:

 

適用プロセスに関する統計情報の表示

Enterprise Managerを使用して、適用プロセスの統計を表示できます。統計には、適用プロセス・キュー内のメッセージ数、適用プロセスで適用されたメッセージ数、および適用プロセスに関連するその他の統計が含まれます。

Enterprise Managerで適用プロセスの統計を表示するには:
  1. Oracle Enterprise Managerで、Oracle Streams管理者としてハブ・データベースにログインします。

  2. 「データベース」ホームページに移動します。

  3. 「データ移動」をクリックして「データ移動」サブページを開きます。

  4. 「Streams」セクションの「管理」をクリックします。

    「Streams」ページが表示され、「概要」サブページが表示されます。

  5. 「適用」をクリックして「適用」サブページを開きます。


    画像の説明

  6. 監視する適用プロセスを選択します。

  7. 「統計」をクリックして「適用の統計を表示」ページを開きます。

「適用の統計を表示」ページには、次のサブページがあります。

現在のサブページに表示されている統計の詳細は、「ヘルプ」をクリックしてください。


画像の説明


注意:

バッファ・キュー統計および適用プロセス統計を、次の動的パフォーマンス・ビューに問い合せることもできます。

  • V$BUFFERED_QUEUES

  • V$STREAMS_APPLY_COORDINATOR

  • V$STREAMS_APPLY_READER

  • V$STREAMS_APPLY_SERVER

 

参照:

 

構成された更新競合ハンドラの表示

レプリケーション環境で、更新競合ハンドラは、同じ行が2つの異なるデータベースでほぼ同時に更新された場合に発生する競合を自動的に解消します。ALL_APPLY_CONFLICT_COLUMNSデータ・ディクショナリ・ビューを使用して、更新競合ハンドラをリストできます。

構成された更新競合ハンドラを表示するには:
  1. SQL*Plusを開き、データベースにOracle Streams管理者として接続します。

    SQL*Plusの起動の詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

  2. 次の問合せを実行します。

    COLUMN OBJECT_OWNER HEADING 'Table|Owner' FORMAT A5
    COLUMN OBJECT_NAME HEADING 'Table Name' FORMAT A12
    COLUMN METHOD_NAME HEADING 'Method' FORMAT A12
    COLUMN RESOLUTION_COLUMN HEADING 'Resolution|Column' FORMAT A13
    COLUMN COLUMN_NAME HEADING 'Column Name' FORMAT A30
     
    SELECT OBJECT_OWNER, 
           OBJECT_NAME, 
           METHOD_NAME, 
           RESOLUTION_COLUMN, 
           COLUMN_NAME
      FROM ALL_APPLY_CONFLICT_COLUMNS
      ORDER BY OBJECT_OWNER, OBJECT_NAME, RESOLUTION_COLUMN;
    
    

    出力は、次のようになります。

    Table                           Resolution
    Owner Table Name   Method       Column        Column Name
    ----- ------------ ------------ ------------- ------------------------------
    HR    COUNTRIES    MAXIMUM      TIME          TIME
    HR    COUNTRIES    MAXIMUM      TIME          REGION_ID
    HR    COUNTRIES    MAXIMUM      TIME          COUNTRY_NAME
    HR    DEPARTMENTS  MAXIMUM      TIME          TIME
    HR    DEPARTMENTS  MAXIMUM      TIME          MANAGER_ID
    HR    DEPARTMENTS  MAXIMUM      TIME          LOCATION_ID
    HR    DEPARTMENTS  MAXIMUM      TIME          DEPARTMENT_NAME
    
    

    この例の出力は、最新時間の競合解消がhr.countries表およびhr.departments表に対して構成されていることを示しています。「Column Name」の下にリストされている任意の列で競合が発生した場合は、「TIME」解決列の時間が最大(最新)の変更が使用され、その他の変更は破棄されます。

    参照:

     

「バッファ・キューの統計」の表示

Enterprise Managerを使用して、レプリケーション環境の取得プロセス、伝播または適用プロセスで使用されるバッファ・キューの統計を表示できます。取得プロセスを使用して変更を取得するOracle Streamsレプリケーション環境では、各取得プロセスは変更をそのキューのバッファ・キュー部分にエンキューします。変更は、あるキューから別のキューに伝播されたときにバッファ・キューに残り、適用プロセスがバッファ・キューから変更をデキューします。

バッファ・キュー統計を表示するには:
  1. Oracle Enterprise Managerで、Oracle Streams管理者としてハブ・データベースにログインします。

  2. 「データベース」ホームページに移動します。

  3. 「データ移動」をクリックして「データ移動」サブページを開きます。

  4. 「Streams」セクションの「管理」をクリックします。

    「Streams」ページが表示され、「概要」サブページが表示されます。

  5. 「メッセージ機能」をクリックして「メッセージ機能」サブページを開きます。

  6. 監視するキューを選択します。

  7. 「アクション」リストの「キュー統計」を選択します。

  8. 「実行」をクリックして「キュー統計」ページを開きます。

  9. 「バッファ・キューの統計」をクリックして「バッファ・キューの統計」サブページを開きます。


    画像の説明

この「バッファ・キューの統計」サブページには、選択したキューのバッファ・キュー部分に関する次の情報が表示されます。

このサブページに表示されている統計の詳細は、「ヘルプ」をクリックしてください。


注意:

バッファ・キュー統計を、次の動的パフォーマンス・ビューに問い合せることもできます。

  • V$BUFFERED_QUEUES

  • V$BUFFERED_PUBLISHERS

  • V$BUFFERED_SUBSCRIBERS

 

参照:

 

取得から適用までの時間の表示

V$STREAMS_APPLY_COORDINTATOR動的パフォーマンス・ビューを問い合せて、Oracle Streamsレプリケーション環境のパフォーマンスを監視できます。具体的には、このビューを問い合せて、変更がソース・データベースで取得されてから、現在のデータベースで適用プロセスによって適用されるまでの時間を判断できます。問合せは、現在のデータベース内で各適用プロセスによって適用された最近の変更の時間を示します。Streamsレプリケーション環境では、取得から適用までの時間が比較的短くなります。

一部の変更は、他の変更よりも取得、伝播および適用に時間がかかります。問合せでは、監視している変更のメッセージ数が表示され、各変更が異なるメッセージ番号を持ちます。したがって、この問合せを複数回実行して、異なる変更について取得から適用までの時間を表示できます。

最近の変更の取得から適用までの時間を判断するには:
  1. SQL*Plusを開き、適用プロセスを実行しているデータベースにOracle Streams管理者としてログインします。

    SQL*Plusの起動の詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

  2. 次の問合せを実行します。

    COLUMN APPLY_NAME HEADING 'Apply Process Name' FORMAT A30
    COLUMN 'Time Between Capture and Apply' FORMAT 999999
    COLUMN HWM_MESSAGE_NUMBER HEADING 'Applied Message Number' FORMAT 999999999
     
    SELECT APPLY_NAME,
          (HWM_TIME-HWM_MESSAGE_CREATE_TIME)*86400 "Time in Seconds",
           HWM_MESSAGE_NUMBER
      FROM V$STREAMS_APPLY_COORDINATOR;
    
    

    出力は、次のようになります。

    Apply Process Name             Time in Seconds Applied Message Number
    ------------------------------ --------------- ----------------------
    APPLY_SIMP                                   3                1486062
    
    

    参照:

     

Oracle Streamsレプリケーション環境のトラブルシューティング

この項では、Oracle Streamsレプリケーション環境で最も一般的な問題について説明します。これらの問題の解決方法も説明します。

次の各項で、Oracle Streamsレプリケーション環境のトラブルシューティングを説明します。

Enterprise Managerでの自動化されたアラートへの対応

アラートとは、潜在的に問題があったり、クリティカルのしきい値を超えた場合に発せられる警告のことです。アラートには2つのタイプがあります。

データベースのアラートを表示するには:
  1. Enterprise ManagerにOracle Streams管理者などの管理ユーザーとしてログインします。

  2. 管理するデータベースの「データベース」ホームページに移動します。

  3. 「アラート」セクションで、データベースのアラートを表示します。「アラート」セクションを表示するには下にスクロールすることが必要な場合があります。

Oracle Streamsには独自のアラートのセットがあります。表5-1で、Oracle Streamsに関連したアラートを説明します。

表5-1    Oracle Streamsアラート 
アラート  メッセージ  アラート・タイプ 

取得の中断アラート 

STREAMSの取得プロセスcapture_nameは、ORA-error_numberで中断しました 

ステートレス 

伝播の中断アラート 

STREAMSの伝播プロセスsource_queue、destination_queue、database_linkは、16の失敗後に中断しました 

ステートレス 

適用の中断アラート 

STREAMSの適用プロセスapply_nameは、ORA-error_numberで中断しました 

ステートレス 

適用エラー・アラート 

適用プロセスapply_nameのSTREAMSエラー・キューには、ORA-error_numberとなる新しいトランザクションがあります 

ステートレス 

Oracle Streamsプール・アラート 

アラート・インフラストラクチャによって自動的に設定されます 

ステートフル 


注意:

Oracle Streamsアラートは情報のみです。Oracle Streamsアラートを管理する必要はありません。Oracle Streams環境を定期的に監視し、問題発生時に対処する場合、Oracle Streamsアラートを監視する必要はありません。 


参照:

 

取得の中断アラート

このアラートは、クリティカル・エラーを示します。取得プロセスは停止し、取得プロセスに依存するレプリケーションもすべて停止します。また、取得プロセスは、再起動するまでREDOログのスキャンをこれ以上実行しません。

レスポンス

次のいずれかの方法で正確なエラー・メッセージを取得します。

エラーに適したアクションを実行します。

適切なアクションを実行した後で、次のいずれかの方法で取得プロセスを再起動します。

伝播の中断アラート

このアラートはクリティカル・エラーを示します。伝播が停止し、通常は1つのキューから別のキューに伝播によって送信されるメッセージがソース・キューに残ります。伝播に依存するレプリケーションも停止します。最終的に、ソース・キューが非常に大きくなり、メッセージがディスクにあふれることがあります。メッセージがディスクにあふれると、Oracle Streamsのパフォーマンスが低下します。

レスポンス

次のいずれかの方法で正確なエラー・メッセージを取得します。

エラーに適したアクションを実行します。

適切なアクションを実行した後で、次のいずれかの方法で伝播を再起動します。

適用の中断アラート

このアラートはクリティカル・エラーを示します。適用プロセスが停止し、通常は適用プロセスによってデキューされるメッセージが適用プロセス・キューに残ります。適用プロセスに依存するレプリケーションも停止します。最終的に、適用プロセス・キューが非常に大きくなり、メッセージがディスクにあふれることがあります。適用プロセス・キューにメッセージを送信する他のキューも大きくなり、メッセージがディスクにあふれることがあります。メッセージがディスクにあふれると、Oracle Streamsのパフォーマンスが低下します。

レスポンス

次のいずれかの方法で正確なエラー・メッセージを取得します。

エラーに適したアクションを実行します。エラーがORA-26714エラーの場合は、DISABLE_ON_ERROR適用プロセス・パラメータをNに設定して、今後のユーザー・エラーでの中断を回避することを検討してください。方法については、「適用プロセスのパラメータの設定」を参照してください。

適切なアクションを実行した後で、次のいずれかの方法で適用プロセスを再起動します。

適用エラー・アラート

このアラートは、適用プロセスがトランザクションを適用したときにエラーが発生したことを示します。適用プロセスは、トランザクション内のすべてのメッセージをエラー・キューに移動します。エラー・トランザクションに依存する他のトランザクションも適用エラーになる可能性があり、エラー・キューがすぐに大きくなることがあります。したがって、管理者はできるだけ早く適用エラーを解決する必要があります。

レスポンス

エラー・キューの適用エラーは、次のいずれかの方法で管理します。

Oracle Streamsプール・アラート

メトリックとは、システムの状態の報告に使用される測定の単位です。Oracle Streamsプールのメモリー使用率がSTREAMS_POOL_USED_PCTメトリックで指定された割合を超えた場合、このアラートが生成されます。

このアラートは、データベースで自動メモリー管理または自動共有メモリー管理を使用していない場合にのみ発生します。具体的には、このアラートは、次の初期化パラメータが0に設定されているか、未設定の場合にのみ発生します。

レスポンス

メトリックしきい値は、アラート・インフラストラクチャで自動的に、またはEnterprise Managerを使用して設定できます。現在実行中のワークロードが標準的な場合は、Oracle Streamsプールのサイズを増やすことを検討してください。「データベース」ホームページのヘッダーにある、関連項目の一部のリンクからメトリックを管理できます。メトリックしきい値の表示および設定の詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

参照:

 

適用エラーの管理

適用エラーは様々な理由で発生します。トランザクションでの変更が原因で適用エラーが発生した場合、適用プロセスによって、その変更だけでなく同じトランザクションの他の変更もすべてエラー・キューに移動されます。適用エラーが発生した場合は、その原因を特定して修正してください。特定のエラー・トランザクションだけ、または1つの適用プロセスのすべてのエラー・トランザクションを再試行できます。

次の各項で、適用エラーの管理について説明します。

データベース・オブジェクトでの適用エラーの修正

エラー・トランザクションを再試行する前に、データベース・オブジェクトに対してデータ操作言語(DML)またはデータ定義言語(DDL)の変更を実行し、1つ以上の適用エラーの原因となった状況を修正する必要がある場合があります。データベース・オブジェクトに対する変更を行うが、その変更をレプリケートしたくない場合は、変更を行うセッションにセッション・タグを設定します。

たとえば、hr.employees表を更新して適用エラーを修正するには:
  1. SQL*Plusを開き、hr.employees表を更新できるユーザーとして接続します。

    SQL*Plusの起動の詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

  2. セッション・タグを設定します。

    BEGIN
       DBMS_STREAMS.SET_TAG(
          tag  =>  HEXTORAW('1D'));
    END;
    /
    
    

    取得プロセスと同期取得によって変更が取得されないようにする値をタグに設定してください。

  3. hr.employees表を更新してエラーを解決します。

  4. SQL*Plusセッションを終了します。

1つ以上のエラー・トランザクションの原因となった問題を解決した後で、エラー・トランザクションを再試行または削除できます。方法については、「適用エラー・トランザクションの再試行または削除」を参照してください。

特定の適用エラーとその修正方法の詳細は、『Oracle Streamsレプリケーション管理者ガイド』を参照してください。

適用エラー・トランザクションの再試行または削除

「データベース・オブジェクトでの適用エラーの修正」では、1つ以上のエラー・トランザクションの原因となった問題を解決する方法を説明します。問題を解決した後で、エラー・トランザクションを再試行または削除できます。

適用エラー・トランザクションを再試行または削除するには:
  1. Oracle Enterprise Managerで、Oracle Streams管理者としてハブ・データベースにログインします。

  2. 「データベース」ホームページに移動します。

  3. 「データ移動」をクリックして「データ移動」サブページを開きます。

  4. 「Streams」セクションの「管理」をクリックします。

    「Streams」ページが表示され、「概要」サブページが表示されます。

  5. 「適用」をクリックして「適用」サブページを開きます。


    画像の説明

    適用エラーによって、適用プロセスが中断する場合があります。中断すると、適用プロセスのステータスがABORTEDに変更されます。

  6. エラー・トランザクションのある適用プロセスを選択します。

  7. 「エラー」をクリックして「適用エラー」ページを開きます。


    画像の説明

    エラー・トランザクションの「エラーLCRの表示」フィールドのアイコンをクリックして、エラーに関する詳細情報を表示できます。詳細情報は「エラーLCRの表示」ページに表示され、トランザクションの各変更が含まれます。


    画像の説明

    さらにドリルダウンするには、行変更を選択して「値の比較」をクリックします。「値の比較」ページが表示され、行変更が変更の適用先となる表のデータと比較されます。現行のページの「ヘルプ」をクリックすると、ページの詳細が表示されます。

  8. 「適用エラー」ページで、次のいずれかのアクションを実行します。

レプリケーション先が使用できない場合のレプリケーション環境の管理

Oracle Streamsレプリケーション環境の宛先キューが、伝播された変更の受入れを停止することがあります。宛先キューは、たとえばキューを含むデータベースが停止した場合、宛先キューに問題がある場合、キューを含むデータベースを実行しているシステムが停止した場合などに変更の受入れを停止することがあります。

取得プロセスを使用するレプリケーション環境で宛先が使用不能の場合は、宛先キューに送信できない取得済の変更がソース・キューに残ります。ソース・キューのサイズが増大し、最終的に変更がバッファ・キュー・メモリーからディスクにあふれます。この状況が発生した場合は、Oracle Streamsレプリケーション環境のパフォーマンスが低下します。

大量の取得済変更がディスクにあふれているかどうかを判断するには、「取得プロセスに関する統計情報の表示」の手順に従います。「キュー統計」グラフは、取得プロセス・キュー内の、ディスクにあふれている現在の変更数を示します。

レプリケーション環境で変更を取得するための取得プロセスを使用する場合は、DBMS_STREAMS_ADMパッケージのSPLIT_STREAMSプロシージャおよびMERGE_STREAMS_JOBプロシージャを使用して、使用できない宛先を管理できます。

使用できない宛先を管理するには:
  1. SPLIT_STREAMSプロシージャを使用して、問題のある宛先のストリームを、取得プロセスから他の宛先に流れている他のすべてのストリームから分離します。

    SPLIT_STREAMSプロシージャは、取得プロセス、キューおよび伝播のクローンを作成し、これらのコンポーネントのクローン・バージョンが、分離されたストリームによって使用されます。変更を伝播できないストリームは分離されますが、他の宛先へのストリームは通常どおりに処理されます。

  2. 宛先を使用不能にしている問題を解決します。

  3. MERGE_STREAMS_JOBプロシージャを使用して、分離されたストリームを元の取得プロセスにマージします。MERGE_STREAMS_JOBは、SPLIT_STREAMSプロシージャで作成されたマージ・ジョブによって自動的に実行できます。マージ操作が完了すると、元のレプリケーション環境がリストアされます。

    参照:

     


戻る 次へ
Oracle
Copyright © 2007, 2008 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引