ヘッダーをスキップ
Oracle® Database 2日でデータ・レプリケーションおよび統合ガイド
11g リリース2(11.2)
B56305-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

8 マテリアライズド・ビュー・レプリケーション環境の管理

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

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

マテリアライズド・ビュー・レプリケーション環境の管理

マテリアライズド・ビューが構成された後で、それらをリフレッシュしてマスター表と同期できます。この項では、マテリアライズド・ビューのリフレッシュおよびリフレッシュ・グループへのマテリアライズド・ビューの追加の方法を説明します。

マテリアライズド・ビュー・サイトでマテリアライズド・ビューが不要になることがあります。この項では、マテリアライズド・ビューの削除およびマスター・サイトでのマテリアライズド・ビュー・サポートのクリーン・アップに関する情報も示します。

次の各項で、マテリアライズド・ビュー・レプリケーション環境の管理を説明します。

マテリアライズド・ビューのリフレッシュ

マテリアライズド・ビューをリフレッシュすると、マスター表と同期します。マテリアライズド・ビューを最後にリフレッシュした後でマスター表に加えられた変更は、リフレッシュ時にマテリアライズド・ビューに適用されます。マテリアライズド・ビューが更新可能な場合は、最後のリフレッシュ後にマテリアライズド・ビューに加えられた変更も、リフレッシュ時にマスター表に適用されます。

マテリアライズド・ビューのグループを1つのアプリケーションなどの特定の目的に使用している場合、通常は、これらのマテリアライズド・ビューを1つのリフレッシュ・グループに配置することが最適です。リフレッシュ・グループをリフレッシュすると、リフレッシュ・グループ内のマテリアライズド・ビューは、ある一致した時点でリフレッシュされます。マテリアライズド・ビューを個別にリフレッシュすることもできますが、その場合、マテリアライズド・ビューはある時点で一致しません。

次の各項で、マテリアライズド・ビューのリフレッシュについて説明します。

リフレッシュ・グループのリフレッシュ

リフレッシュ・グループをリフレッシュすると、リフレッシュ・グループ内のすべてのマテリアライズド・ビューが、ある一致した時点でリフレッシュされます。

リフレッシュ・グループをリフレッシュするには: 

  1. Enterprise Managerで、マテリアライズド・ビュー・サイトにマテリアライズド・ビュー管理者としてログインします。マテリアライズド・ビュー管理者のデフォルトのユーザー名はmvadminです。

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

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

  4. 「アドバンスト・レプリケーション」セクションの「管理」をクリックします。

    「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。

  5. 「マテリアライズド・ビュー・サイト」セクションで、「リフレッシュ・グループ」に関連付けられている数字をクリックします。

  6. 「リフレッシュ・グループ」ページで、検索ツールを使用して、リフレッシュするリフレッシュ・グループをリストします。

  7. リストでリフレッシュ・グループを選択します。

  8. 「編集」をクリックします。

    「リフレッシュ・グループの編集」ページが表示され、「一般」サブページが表示されます。

    tdpii_edit_ref_grp.gifの説明が続きます。
    tdpii_edit_ref_grp.gifの説明

  9. 「リフレッシュ」セクションの「今すぐリフレッシュ」をクリックします。


注意:

DBMS_REFRESH.REFRESHプロシージャを使用して、リフレッシュ・グループをリフレッシュすることもできます。

マテリアライズド・ビューのリフレッシュ

マテリアライズド・ビューをリフレッシュすると、マスター表と一致します。マテリアライズド・ビューがリフレッシュ・グループの一部である場合、通常は個別のマテリアライズド・ビューではなくリフレッシュ・グループをリフレッシュするのが最適です。リフレッシュ・グループをリフレッシュすると、リフレッシュ・グループ内のすべてのマテリアライズド・ビューがある時点で一致します。

マテリアライズド・ビューをリフレッシュするには: 

  1. Enterprise Managerで、マテリアライズド・ビュー・サイトにマテリアライズド・ビュー管理者としてログインします。マテリアライズド・ビュー管理者のデフォルトのユーザー名はmvadminです。

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

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

  4. 「アドバンスト・レプリケーション」セクションの「管理」をクリックします。

    「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。

  5. 「マテリアライズド・ビュー・サイト」セクションで、「マテリアライズド・ビュー」に関連付けられている数字をクリックします。

  6. 「マテリアライズド・ビュー」ページで、検索ツールを使用して、リフレッシュするマテリアライズド・ビューをリストします。

    すべてのマテリアライズド・ビューをリストするには、「スキーマ」フィールドと「オブジェクト名」フィールドを空白にしたまま「実行」をクリックします。

  7. リストでマテリアライズド・ビューを選択します。

    tdpii_mvs.gifの説明が続きます。
    tdpii_mvs.gifの説明

  8. 「アクション」リストで「リフレッシュ」を選択します。

  9. 「実行」をクリックして、選択したマテリアライズド・ビューの「マテリアライズド・ビューのリフレッシュ」ページを開きます。

    tdpii_refresh_mv.gifの説明が続きます。
    tdpii_refresh_mv.gifの説明

  10. 必要に応じてオプションを調整します。

    通常は、デフォルト値を使用できます。

  11. 「OK」をクリックします。

  12. 確認ページで、「はい」をクリックしてマテリアライズド・ビューをリフレッシュします。


注意:

DBMS_MVIEW.REFRESHプロシージャを使用して、マテリアライズド・ビューをリフレッシュすることもできます。

リフレッシュ・グループへのマテリアライズド・ビューの追加

2つ以上のマテリアライズド・ビューをある時点で一致させる必要がある場合は、マテリアライズド・ビューが同じリフレッシュ・グループに属している必要があります。

マテリアライズド・ビューをリフレッシュ・グループに追加するには: 

  1. Enterprise Managerで、マテリアライズド・ビュー・サイトにマテリアライズド・ビュー管理者としてログインします。マテリアライズド・ビュー管理者のデフォルトのユーザー名はmvadminです。

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

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

  4. 「アドバンスト・レプリケーション」セクションの「管理」をクリックします。

    「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。

  5. 「マテリアライズド・ビュー・サイト」セクションで、「リフレッシュ・グループ」に関連付けられている数字をクリックします。

  6. 「グループのリフレッシュ」ページで、検索ツールを使用して、変更するリフレッシュ・グループをリストします。

  7. リフレッシュ・グループを選択します。

  8. 「編集」をクリックします。

  9. 「リフレッシュ・グループの編集」ページで、「マテリアライズド・ビュー」をクリックします。

  10. 「マテリアライズド・ビュー」サブページで、「追加」をクリックします。

  11. 「検索と選択: マテリアライズド・ビュー」ページで、検索ツールを使用して、リフレッシュ・グループに追加するマテリアライズド・ビューをリストします。

    tdpii_select_mv.gifの説明が続きます。
    tdpii_select_mv.gifの説明

  12. リフレッシュ・グループに追加するマテリアライズド・ビューを選択します。

  13. 「OK」をクリックします。

  14. 「リフレッシュ・グループの編集」ページで、「適用」をクリックしてリフレッシュ・グループへのマテリアライズド・ビューの追加を終了します。


注意:

DBMS_REFRESH.ADDプロシージャを使用して、リフレッシュ・グループにマテリアライズド・ビューを追加することもできます。

マテリアライズド・ビューの削除

マテリアライズド・ビューがマテリアライズド・ビュー・サイトで不要になった場合は、マテリアライズド・ビューを削除できます。可能な場合は、マテリアライズド・ビュー・サイトがマスター・サイトに接続できるときにマテリアライズド・ビューを削除する必要があります。マテリアライズド・ビューに関する情報は、ネットワーク接続が確立されたときにマスター・サイトから自動的に削除されます。

マテリアライズド・ビュー・サイトがマスター・サイトに接続できないときにマテリアライズド・ビューを削除する必要がある場合は、マテリアライズド・ビューに関する情報をマスター・サイトから手動で削除する必要があります。マテリアライズド・ビューを削除した後でこの情報を削除する方法は、「チュートリアル: マスター・サイトでのマテリアライズド・ビュー・サポートのクリーン・アップ」を参照してください。

マテリアライズド・ビューを削除するには: 

  1. Enterprise Managerで、マテリアライズド・ビュー・サイトにマテリアライズド・ビュー管理者としてログインします。マテリアライズド・ビュー管理者のデフォルトのユーザー名はmvadminです。

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

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

  4. 「アドバンスト・レプリケーション」セクションの「管理」をクリックします。

    「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。

  5. 「マテリアライズド・ビュー・サイト」セクションで、「マテリアライズド・ビュー」に関連付けられている数字をクリックします。

  6. 「マテリアライズド・ビュー」ページで、検索ツールを使用して、削除するマテリアライズド・ビューをリストします。

    すべてのマテリアライズド・ビューをリストするには、「スキーマ」フィールドと「オブジェクト名」フィールドを空白にしたまま「実行」をクリックします。

  7. リストでマテリアライズド・ビューを選択します。

    tdpii_mvs.gifの説明が続きます。
    tdpii_mvs.gifの説明

  8. 「削除」をクリックします。

  9. 確認ページで、「はい」をクリックしてマテリアライズド・ビューを削除します。


注意:

SQL文DROP MATERIALIZED VIEWを使用して、マテリアライズド・ビューを削除することもできます。

チュートリアル: マスター・サイトでのマテリアライズド・ビュー・サポートのクリーン・アップ

マテリアライズド・ビュー・サイトがネットワーク上でマスター・サイトに接続していなかったときにマテリアライズド・ビューを削除した場合は、マスター・サイトでマテリアライズド・ビュー・サポートをクリーン・アップする必要があります。マテリアライズド・ビュー・サポートのクリーン・アップには、次のアクションが含まれます。

  • マテリアライズド・ビューの登録解除

    マテリアライズド・ビューを登録解除すると、マスター・サイトのデータ・ディクショナリ内のマテリアライズド・ビューに関する情報が削除されます。

  • マテリアライズド・ビュー・ログのパージまたはマテリアライズド・ビュー・ログの削除

    マテリアライズド・ビューのマスター表が他のマテリアライズド・ビューのマスター表である場合は、削除したマテリアライズド・ビューの情報のマテリアライズド・ビュー・ログをパージする必要があります。マテリアライズド・ビューのマスター表が他のマテリアライズド・ビューのマスター表でない場合は、マテリアライズド・ビュー・ログを削除できます。

Oracle Databaseは、マテリアライズド・ビュー・ログのどの行がマテリアライズド・ビューのリフレッシュ中に使用されたかを自動的に追跡し、これらの行をログからパージして、ログ・サイズが無限に増大しないようにします。複数のマテリアライズド・ビューが同じマテリアライズド・ビュー・ログを使用できるため、あるマテリアライズド・ビューのリフレッシュにすでに使用された行も、別のマテリアライズド・ビューをリフレッシュするのに必要です。Oracle Databaseは、すべてのマテリアライズド・ビューが行を使用するまで、その行をログから削除しません。マスター・サイトをクリーン・アップしないでマテリアライズド・ビューを削除した場合、そのマテリアライズド・ビューのマテリアライズド・ビュー・ログが非常に大きくなることがあります。

この項の例では、次のマテリアライズド・ビュー・サポートをクリーン・アップします。

  • マスター・サイトはii1.example.comです。

  • マテリアライズド・ビュー・サイトはii2.example.comです。

  • マテリアライズド・ビューの名前はemployees_mvrです。

  • マテリアライズド・ビューの所有者はhrです。

マスター・サイトでこのマテリアライズド・ビューのサポートをクリーン・アップするには: 

  1. コマンドラインでSQL*Plusを開き、マスター・サイトii1.example.comにレプリケーション管理者やSYSTEMなどの管理ユーザーとして接続します。デフォルトでは、レプリケーション管理者のユーザー名はrepadminです。

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

  2. マテリアライズド・ビューのマスター表のマテリアライズド・ビュー・ログをパージまたは削除します。

    • マスター表が、削除されたマテリアライズド・ビュー以外のマテリアライズド・ビューのマスター表でもある場合は、削除されたマテリアライズド・ビューに関する情報のマテリアライズド・ビュー・ログをパージします。

      BEGIN
         DBMS_MVIEW.PURGE_MVIEW_FROM_LOG (
            mviewowner => 'hr',
            mviewname  => 'employees_mvr', 
            mviewsite  => 'ii2.example.com');
      END;
      /
      
    • マスター表が、削除されたマテリアライズド・ビュー以外のマテリアライズド・ビューのマスター表でない場合は、マスター表のマテリアライズド・ビュー・ログを削除します。

      DROP MATERIALIZED VIEW LOG ON hr.employees;
      
  3. マテリアライズド・ビューを登録解除します。

    BEGIN
       DBMS_MVIEW.UNREGISTER_MVIEW (
          mviewowner => 'hr',
          mviewname  => 'employees_mvr',
          mviewsite  => 'ii2.example.com');
    END;
    /
    

マテリアライズド・ビューの所有者、名前またはマテリアライズド・ビュー・サイトが不明な場合は、ALL_REGISTERED_MVIEWSデータ・ディクショナリ・ビューを問い合せてこの情報を取得できます。

マテリアライズド・ビュー・レプリケーション環境の監視

この項では、Enterprise ManagerとSQL*Plusを使用してマテリアライズド・ビュー・レプリケーション環境に関する情報を表示する方法を説明します。マテリアライズド・ビュー・サイトとマスター・サイトの両方でこの情報を表示します。

次の各項で、マテリアライズド・ビュー・レプリケーション環境の監視を説明します。

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

Enterprise Managerの「アドバンスト・レプリケーション: 管理」ページには、データベースのレプリケーション・コンポーネントの概要が表示されます。

データベースのレプリケーション・コンポーネントの概要を表示するには: 

  1. Enterprise Managerで、マテリアライズド・ビュー・サイトにマテリアライズド・ビュー管理者としてログインします。マテリアライズド・ビュー管理者のデフォルトのユーザー名はmvadminです。

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

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

  4. 「アドバンスト・レプリケーション」セクションの「管理」をクリックします。

    「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。

tdpii_adv_rep_main.gifの説明が続きます。
tdpii_adv_rep_main.gifの説明

各レプリケーション・コンポーネントは、現在のデータベースのコンポーネントの数量を示す数値に関連付けられています。数値をクリックすると、これらのコンポーネントに関する詳細情報が表示され、これらのコンポーネントを管理できます。

マテリアライズド・ビュー・サイトを表示している場合は、次のコンポーネントを監視できます。

  • 「一般」セクションの「スケジュール済リンク」は、マテリアライズド・ビュー・サイトのスケジュールされたリンク数を示します。スケジュールされたリンクを使用して、遅延トランザクションを自動的にプッシュします。詳細は、「スケジュールされたリンクと遅延トランザクションの概要」を参照してください。

  • 「マテリアライズド・ビュー・サイト」セクションの「マテリアライズド・ビュー・グループ」は、マテリアライズド・ビュー・サイトのマテリアライズド・ビュー・グループの数を示します。マテリアライズド・ビューをグループに編成すると、管理が簡単になります。また、マテリアライズド・ビューを更新可能にするには、マテリアライズド・ビュー・グループに入れる必要があります。マテリアライズド・ビュー・グループの詳細は、「レプリケーション・グループと更新可能マテリアライズド・ビューの概要」を参照してください。

  • 「マテリアライズド・ビュー・サイト」セクションの「マテリアライズド・ビュー」は、マテリアライズド・ビュー・サイトのマテリアライズド・ビューの数を示します。マテリアライズド・ビューの詳細は、「マテリアライズド・ビュー・レプリケーションの概要」を参照してください。

  • 「マテリアライズド・ビュー・サイト」セクションの「リフレッシュ・グループ」は、マテリアライズド・ビュー・サイトのリフレッシュ・グループの数を示します。リフレッシュ・グループがリフレッシュされると、リフレッシュ・グループ内のマテリアライズド・ビューが同じ時点で一致します。詳細は、「リフレッシュ・グループの概要」を参照してください。

1つ以上のマテリアライズド・ビュー・サイトのマスター・サイトを表示している場合は、次のコンポーネントを監視できます。

  • 「マルチマスター・レプリケーション」セクションの「マスター・グループ」は、マスター・サイトのマスター・グループの数を示します。マテリアライズド・ビュー・サイトのマテリアライズド・ビュー・グループは、マスター・グループに基づくことができます。マスター・グループとマテリアライズド・ビュー・グループの詳細は、「レプリケーション・グループと更新可能マテリアライズド・ビューの概要」を参照してください。

  • 「マスター・サイト」セクションの「マテリアライズド・ビュー・ログ」は、マスター・サイトのマテリアライズド・ビュー・ログの数を示します。マテリアライズド・ビュー・ログにより、マテリアライズド・ビューをリフレッシュできます。マテリアライズド・ビュー・ログの詳細は、「マテリアライズド・ビューのリフレッシュの概要」を参照してください。

  • 「一般」セクションの「エラー・トランザクション」は、マスター・サイトのエラー・トランザクションの数を示します。エラー・トランザクションは、更新可能マテリアライズド・ビューがリフレッシュされ、解消できない競合が発生した場合に発生することがあります。詳細は、「競合と更新可能マテリアライズド・ビューの概要」を参照してください。

マテリアライズド・ビューに関する情報の表示

マテリアライズド・ビューには、ある単一の時点での表の完全コピーまたは部分コピーが含まれます。レプリケーション環境では、通常、マテリアライズド・ビューはベースとなっている表とは異なるデータベースにあります。

マテリアライズド・ビューに関する情報を表示するには: 

  1. Enterprise Managerで、マテリアライズド・ビュー・サイトにマテリアライズド・ビュー管理者としてログインします。マテリアライズド・ビュー管理者のデフォルトのユーザー名はmvadminです。

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

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

  4. 「アドバンスト・レプリケーション」セクションの「管理」をクリックします。

    「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。

  5. 「マテリアライズド・ビュー・サイト」セクションの「マテリアライズド・ビュー」に関連付けられている数字をクリックして、「マテリアライズド・ビュー」ページを開きます。

  6. 検索ツールを使用して、表示するマテリアライズド・ビューをリストします。すべてのマテリアライズド・ビューをリストするには、「スキーマ」フィールドと「オブジェクト名」フィールドを空白にしたまま「実行」をクリックします。

    tdpii_mvs.gifの説明が続きます。
    tdpii_mvs.gifの説明

    「マテリアライズド・ビュー」ページには、マスター表、マスター・サイト(「マスター・リンク」列内)、および最終リフレッシュ時刻を含め、リストされている各マテリアライズド・ビューに関する重要情報が表示されます。

  7. マテリアライズド・ビューの詳細は、そのマテリアライズド・ビューを選択し、「表示」をクリックしてマテリアライズド・ビューを表示するページを開きます。

tdpii_view_mv.gifの説明が続きます。
tdpii_view_mv.gifの説明

「マテリアライズド・ビューの表示: 」ページには、マテリアライズド・ビューに関する詳細情報が表示されます。情報は、「一般」、「リフレッシュ」、「記憶域」、「索引記憶域」、「オプション」および「マスター情報」の各セクションに編成されています。


注意:

マテリアライズド・ビューに関する情報を、ALL_MVIEWSデータ・ディクショナリ・ビューに問い合せることもできます。

現在リフレッシュされているマテリアライズド・ビューの判断

マテリアライズド・ビューをリフレッシュすると、マテリアライズド・ビューのデータがそのマスター表のデータと同期します。V$MVREFRESH動的パフォーマンス・ビューを問い合せて、どのマテリアライズド・ビューが現在リフレッシュされているかを判断できます。

マテリアライズド・ビューを含むデータベースを停止する前に、いずれかのマテリアライズド・ビューが現在リフレッシュされているかどうかを確認するのが最適です。いずれかのマテリアライズド・ビューがリフレッシュされている場合は、すべてのリフレッシュが完了するまで待ってから、データベースを停止します。

マテリアライズド・ビュー・サイトでどのマテリアライズド・ビューが現在リフレッシュされているかを判断するには: 

  1. SQL*Plusを開き、マテリアライズド・ビュー管理者としてマテリアライズド・ビュー・サイトに接続します。

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

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

    COLUMN CURRMVOWNER HEADING 'Owner' FORMAT A15
    COLUMN CURRMVNAME HEADING 'Materialized|View' FORMAT A25
     
    SELECT CURRMVOWNER, CURRMVNAME FROM V$MVREFRESH;
    

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

                    Materialized
    Owner           View
    --------------- -------------------------
    HR              COUNTRIES_MV
    HR              EMPLOYEES_MV
    

マテリアライズド・ビューの遅延トランザクションがマスターにプッシュされている場合、V$MVREFRESH動的パフォーマンス・ビューに、更新可能なマテリアライズド・ビューに関する情報は含まれません。

マテリアライズド・ビュー・グループに関する情報の表示

マテリアライズド・ビュー・グループを使用すると、論理的に関連するマテリアライズド・ビューを簡単に管理できます。たとえば、スキーマ内のすべてのマテリアライズド・ビューまたはアプリケーションによって使用されているすべてのマテリアライズド・ビューをマテリアライズド・ビュー・グループに追加できます。また、マテリアライズド・ビューを更新可能にするには、それらがマテリアライズド・ビュー・グループに属している必要があります。

マテリアライズド・ビュー・サイトのマテリアライズド・ビュー・グループに関する情報を表示するには: 

  1. Enterprise Managerで、マテリアライズド・ビュー・サイトにマテリアライズド・ビュー管理者としてログインします。マテリアライズド・ビュー管理者のデフォルトのユーザー名はmvadminです。

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

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

  4. 「アドバンスト・レプリケーション」セクションの「管理」をクリックします。

    「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。

  5. 「マテリアライズド・ビュー・サイト」セクションで、「マテリアライズド・ビュー・グループ」に関連付けられている数字をクリックします。

    「マテリアライズド・ビュー・グループ」ページが表示され、マテリアライズド・ビュー・サイトのマテリアライズド・ビュー・グループの名前がリストされます。

  6. マテリアライズド・ビュー・グループに関する詳細情報を表示するには、マテリアライズド・ビュー・グループの名前をクリックして「マテリアライズド・ビュー・グループの表示」ページを開きます。

tdpii_view_mv_group.gifの説明が続きます。
tdpii_view_mv_group.gifの説明

「マテリアライズド・ビュー・グループの表示」ページには、次の情報が含まれます。

  • 「マスターへのリンク」フィールドには、データベース・リンクの名前。マスター・サイトには、マテリアライズド・ビュー・グループ内のマテリアライズド・ビューのマスター表が含まれます。

  • 伝播により伝播スケジュールに応じたメッセージが送信されるため、「伝播モード」フィールドには「非同期」と表示されます。

  • 「説明」フィールドには、グループに説明がある場合のマテリアライズド・ビュー・グループの説明。

  • 「オブジェクト」セクションには、マテリアライズド・ビュー・グループ内のデータベース・オブジェクトのリストと各データベース・オブジェクトに関する情報


注意:

マテリアライズド・ビュー・グループに関する情報を、次のデータ・ディクショナリ・ビューに問い合せることもできます。
  • ALL_REPGROUP

  • ALL_REPSITES


更新可能マテリアライズド・ビューの遅延トランザクションに関する情報の表示

マテリアライズド・ビュー・サイトでは、遅延トランザクションには更新可能マテリアライズド・ビューに対する変更が含まれます。遅延トランザクションは、マテリアライズド・ビュー・サイトに格納されるため、マスター・サイトに送信でき、マスター表に適用できます。マテリアライズド・ビューの遅延トランザクションは、マテリアライズド・ビューがリフレッシュされると必ずプッシュされます。スケジュールされたリンクは、遅延トランザクションがリフレッシュ・プロセスに依存せずにマスター・サイトにいつプッシュされるかを決定します。

更新可能マテリアライズド・ビューの遅延トランザクションに関する情報を表示するには: 

  1. Enterprise Managerで、マテリアライズド・ビュー・サイトにマテリアライズド・ビュー管理者としてログインします。マテリアライズド・ビュー管理者のデフォルトのユーザー名はmvadminです。

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

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

  4. 「アドバンスト・レプリケーション」セクションの「管理」をクリックします。

    「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。

  5. 「一般」セクションの「遅延トランザクション」に関連付けられている数字をクリックして、「管理: 遅延トランザクション」ページを開きます。

    tdpii_def_trans.gifの説明が続きます。
    tdpii_def_trans.gifの説明

    「管理: 遅延トランザクション」ページには、トランザクションIDと、各遅延トランザクションに関する次の情報が表示されます。

    • 「宛先」フィールドは、遅延トランザクションがプッシュされるマスター・サイトを示します。

    • 「開始時間」フィールドは、マテリアライズド・ビュー・サイトの遅延トランザクション・キューに遅延トランザクションがいつ入れられたかを示します。

    • 「コール数」フィールドは、通常はトランザクションで変更された個々の行数を示します。

  6. 「トランザクションID」列でトランザクションIDをクリックして、「遅延トランザクション」ページを開き、トランザクションに関する詳細情報を表示します。

    tdpii_def_tran.gifの説明が続きます。
    tdpii_def_tran.gifの説明

    「遅延トランザクション」ページには、マテリアライズド・ビューと、そのマテリアライズド・ビューを変更した操作のタイプが表示されます。たとえば、REP_UPDATEは更新操作を表します。

  7. 遅延トランザクション内の特定の変更に関する詳細情報を表示するには、変更を選択し、「詳細」をクリックします。

    tdpii_def_change.gifの説明が続きます。
    tdpii_def_change.gifの説明

    このページには、マテリアライズド・ビュー内の各列が、元の値と、該当する場合には新しい値とともに表示されます。列に新しい値がある場合は、変更された列値を元の値から新しい値に変更します。


関連項目:


リフレッシュ・グループに関する情報の表示

リフレッシュ・グループをリフレッシュすると、リフレッシュ・グループ内のすべてのマテリアライズド・ビューが、ある一致した時点でリフレッシュされます。

マテリアライズド・ビュー・サイトのリフレッシュ・グループに関する情報を表示するには: 

  1. Enterprise Managerで、マテリアライズド・ビュー・サイトにマテリアライズド・ビュー管理者としてログインします。マテリアライズド・ビュー管理者のデフォルトのユーザー名はmvadminです。

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

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

  4. 「アドバンスト・レプリケーション」セクションの「管理」をクリックします。

    「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。

  5. 「マテリアライズド・ビュー・サイト」セクションで、「リフレッシュ・グループ」に関連付けられている数字をクリックします。

    「リフレッシュ・グループ」ページが表示されます。

  6. 検索ツールを使用して、表示するリフレッシュ・グループをリストします。すべてのリフレッシュ・グループをリストするには、「スキーマ」フィールドと「オブジェクト名」フィールドを空白にしたまま「実行」をクリックします。

    tdpii_refresh_groups.gifの説明が続きます。
    tdpii_refresh_groups.gifの説明

    グループのリフレッシュ・ページには、マテリアライズド・ビュー・サイトのリフレッシュ・ビュー・グループの名前をリストします。これには、各リフレッシュ・グループの次の情報が含まれます。

    • 「中断」列は、リフレッシュ・ジョブが正しく動作しているかどうかを示します。「いいえ」は、ジョブが正しく動作していることを意味します。「はい」は、ジョブが中断していることを意味します。リフレッシュ・グループのリフレッシュ試行が16回失敗すると、リフレッシュ・ジョブは中断しているとみなされます。リフレッシュ・ジョブが中断している場合は、「マテリアライズド・ビュー・リフレッシュの問題の修正」を参照してください。

    • 「次の日付」列は、リフレッシュ・グループが次回自動的にリフレッシュされる日時を示します。

    • 「間隔」列は、リフレッシュ・グループの自動リフレッシュ間隔を示します。

  7. リフレッシュ・グループの詳細は、そのリフレッシュ・グループを選択し、「表示」をクリックして「リフレッシュ・グループの表示」ページを開きます。

tdpii_view_refresh_group.gifの説明が続きます。
tdpii_view_refresh_group.gifの説明

「リフレッシュ・グループの表示」ページには、リフレッシュ・グループに関する詳細情報が表示されます。情報は、「一般」、「リフレッシュ」および「マテリアライズド・ビュー」の各セクションに編成されています。


注意:

リフレッシュ・グループに関する情報を、ALL_REFRESHデータ・ディクショナリ・ビューに問い合せることもできます。

マスター・サイトのマテリアライズド・ビュー・ログの表示

マテリアライズド・ビュー・ログは、マテリアライズド・ビューの高速リフレッシュが可能になるようにマスター表に対する変更を追跡します。

マスター・サイトのマテリアライズド・ビュー・ログに関する情報を表示するには: 

  1. Enterprise Managerでは、レプリケーション管理者またはSYSTEMなどの管理ユーザーとしてマスター・サイトにログインします。デフォルトでは、レプリケーション管理者のユーザー名はrepadminです。

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

  3. 「アドバンスト・レプリケーション」セクションの「管理」をクリックします。

    「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。

  4. 「マスター・サイト」セクションの「マテリアライズド・ビュー・ログ」に関連付けられている数字をクリックします。

    「マテリアライズド・ビュー・ログ」ページが表示されます。

  5. 検索ツールを使用して、表示するマテリアライズド・ビューをリストします。

    すべてのマテリアライズド・ビュー・ログをリストするには、「スキーマ」フィールドと「オブジェクト名」フィールドを空白にしたまま「実行」をクリックします。

    「マテリアライズド・ビュー・ログ」ページには、リストされている各マテリアライズド・ビュー・ログのスキーマ、基礎となるログ表およびマスター表がリストされます。

  6. マテリアライズド・ビュー・ログの詳細は、そのマテリアライズド・ビュー・ログを選択し、「表示」をクリックして「マテリアライズド・ビュー・ログの表示」ページを開きます。

tdpii_view_mv_log.gifの説明が続きます。
tdpii_view_mv_log.gifの説明

「マテリアライズド・ビュー・ログの表示」ページには、マテリアライズド・ビュー・ログに関する詳細情報が表示されます。情報は、「一般」、「オプション」および「記憶域」セクションに編成されています。


注意:

マテリアライズド・ビュー・ログに関する情報を、ALL_MVIEW_LOGSデータ・ディクショナリ・ビューに問い合せることもできます。

マスター・サイトのマテリアライズド・ビューの表示

マテリアライズド・ビュー・サイトでマテリアライズド・ビューを構成すると、マテリアライズド・ビューがマスター・サイトに登録されます。ALL_REGISTERED_MVIEWSデータ・ディクショナリ・ビューを問い合せて、マスター・サイトに登録されている各マテリアライズド・ビューに関する次の情報を表示できます。

  • マテリアライズド・ビューの所有者

  • マテリアライズド・ビューの名前

  • マテリアライズド・ビューを含むマテリアライズド・ビュー・サイト

  • マテリアライズド・ビューが更新可能か読取り専用か

この情報を表示するには: 

  1. SQL*Plusを開き、レプリケーション管理者やSYSTEMなどの管理ユーザーとしてマスター・サイトに接続します。デフォルトでは、レプリケーション管理者のユーザー名はrepadminです。

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

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

    COLUMN OWNER HEADING 'Owner' FORMAT A20
    COLUMN NAME HEADING 'Name' FORMAT A20
    COLUMN MVIEW_SITE HEADING 'Materialized|View Site' FORMAT A15
    COLUMN UPDATABLE HEADING 'Updatable?' FORMAT A10
     
    SELECT OWNER, NAME, MVIEW_SITE, UPDATABLE
      FROM ALL_REGISTERED_MVIEWS;
    

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

                                              Materialize               
    Owner                Name                 View Site       Updatable?
    -------------------- -------------------- --------------- ----------
    HR                   COUNTRIES_MV         II2.EXAMPLE.COM YES
    HR                   DEPARTMENTS_MV       II2.EXAMPLE.COM YES
    HR                   EMPLOYEES_MV         II2.EXAMPLE.COM YES
    HR                   JOBS_MV              II2.EXAMPLE.COM YES
    HR                   JOB_HISTORY_MV       II2.EXAMPLE.COM YES
    HR                   LOCATIONS_MV         II2.EXAMPLE.COM YES
    HR                   REGIONS_MV           II2.EXAMPLE.COM YES
    

マテリアライズド・ビュー・レプリケーション環境のトラブルシューティング

この項では、マテリアライズド・ビュー・レプリケーション環境で最も一般的な問題について説明します。これらの問題の修正方法も説明します。

次の各項で、マテリアライズド・ビュー・レプリケーション環境のトラブルシューティングを説明します。

マテリアライズド・ビュー・リフレッシュの問題の修正

マテリアライズド・ビュー・サイトで1つ以上のマテリアライズド・ビューをリフレッシュできない場合の一般的な原因と解決方法を次に示します。

  • ネットワークの問題により、1つ以上のマテリアライズド・ビューをリフレッシュできません。複数のリフレッシュ・グループと複数のマテリアライズド・ビューがマテリアライズド・ビュー・サイトにあり、いずれもリフレッシュできない場合は、ネットワークの問題が最も可能性の高い原因です。この場合は、ネットワークの問題を解決し、関連するマテリアライズド・ビューをリフレッシュします。データベース間のネットワーク接続の構成の詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

  • マテリアライズド・ビューのマスター・サイトが停止しています。マスター・サイトが開いていない場合は、マテリアライズド・ビューをリフレッシュできません。複数のマスター・サイトを使用するマテリアライズド・ビューのあるマテリアライズド・ビュー・サイトがあり、特定のマスター・サイトのマテリアライズド・ビューのみリフレッシュできない場合は、マスター・サイトの問題が最も可能性の高い原因です。この場合は、マスター・サイトでデータベースをチェックします。停止している場合は起動し、関連するマテリアライズド・ビューをリフレッシュします。データベースの開始の詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

  • データベース・リンクが中断しています。マテリアライズド・ビュー・グループ内のすべてのマテリアライズド・ビューをリフレッシュできない場合は、マテリアライズド・ビューのリフレッシュに使用されているデータベース・リンクが中断している可能性があります。データベース・リンクが中断している場合は、データベース・リンクを削除してから再び作成することにより、問題を解決できます。

中断しているデータベース・リンクを再作成するには: 

  1. Enterprise ManagerにSYSTEMなどの管理ユーザーとしてログインします。

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

  3. 「スキーマ」をクリックして「スキーマ」サブページを開きます。

  4. 「データベース・オブジェクト」セクションの「データベース・リンク」をクリックします。

    「データベース・リンク」ページが表示されます。

  5. 検索ツールを使用して、マテリアライズド・ビューで使用されるデータベース・リンクをリストします。

    データベース・リンク名は、マテリアライズド・ビューのマスター・サイトのグローバル名と同じである必要があります。

  6. データベース・リンクを選択します。

  7. 「表示」をクリックします。

  8. データベース・リンクを表示するページで「テスト」をクリックして、データベース・リンクがアクティブかどうかを確認します。アクティブな場合、マテリアライズド・ビューのリフレッシュの問題は、別の問題が原因です。データベース・リンクがアクティブでない場合は、手順9から13に従って削除し、再作成します。

  9. 「OK」をクリックして「データベース・リンク」ページに戻ります。

  10. データベース・リンクを選択します。

  11. 「削除」をクリックします。

  12. 確認ページで「はい」をクリックしてデータベース・リンクを削除します。

  13. 「チュートリアル: データベース・リンクの作成」の手順に従って、このデータベース・リンクを再作成します。

マテリアライズド・ビュー・ログが大きくなりすぎるのを防止

マテリアライズド・ビュー・ログは、マスター・サイトのマスター表に対する変更を追跡します。マテリアライズド・ビューに高速リフレッシュが実行される場合、マテリアライズド・ビュー・ログ内の変更はマテリアライズド・ビューに適用されます。マテリアライズド・ビュー・ログを使用するすべてのマテリアライズド・ビューに変更が適用されると、変更がマテリアライズド・ビュー・ログから削除されます。

マテリアライズド・ビュー・ログは、マテリアライズド・ビュー・ログを使用する1つ以上のマテリアライズド・ビューが比較的長期間リフレッシュされない場合に非常に大きくなることがあります。この状況により、他のマテリアライズド・ビューのリフレッシュ・パフォーマンスが低下することがあります。次に、一般的な原因と解決方法を示します。

  • ネットワークの問題により、マテリアライズド・ビュー・ログを使用する1つ以上のマテリアライズド・ビューをリフレッシュできません。この場合は、ネットワークの問題を解決し、関連するマテリアライズド・ビューをリフレッシュします。データベース間のネットワーク接続の構成の詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

  • マテリアライズド・ビュー・サイトがネットワークに接続されていないときに、マテリアライズド・ビュー・サイトでマテリアライズド・ビューが削除されました。マテリアライズド・ビューが削除され、ネットワーク接続が使用可能な場合は、マテリアライズド・ビューに関する情報がマスター・サイトから自動的に削除されます。一方、ネットワーク接続が使用可能でない場合は、マテリアライズド・ビューに関する情報がマスター・サイトに残り、手動でクリーン・アップする必要があります。詳細は、「チュートリアル: マスター・サイトでのマテリアライズド・ビュー・サポートのクリーン・アップ」を参照してください。

  • マテリアライズド・ビューが十分な頻度でリフレッシュされていません。マテリアライズド・ビューは、手動でリフレッシュするか、リフレッシュ・グループ内にある場合は自動的にリフレッシュできます。

    マテリアライズド・ビューを手動でリフレッシュする場合に、マテリアライズド・ビュー・ログが非常に大きくなる場合は、より頻繁にリフレッシュする必要があります。詳細は、「マテリアライズド・ビューのリフレッシュ」を参照してください。

    マテリアライズド・ビューが、十分な頻度でリフレッシュされていないリフレッシュ・グループにある場合は、リフレッシュ・グループのリフレッシュ間隔を短くできます。

リフレッシュ・グループのリフレッシュ間隔を変更するには: 

  1. Enterprise Managerで、マテリアライズド・ビュー・サイトにマテリアライズド・ビュー管理者としてログインします。マテリアライズド・ビュー管理者のデフォルトのユーザー名はmvadminです。

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

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

  4. 「アドバンスト・レプリケーション」セクションの「管理」をクリックします。

    「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。

  5. 「マテリアライズド・ビュー・サイト」セクションで、「リフレッシュ・グループ」に関連付けられている数字をクリックします。

  6. 「グループのリフレッシュ」ページで、検索ツールを使用して、変更するリフレッシュ・グループをリストします。

  7. リフレッシュ・グループを選択します。

  8. 「編集」をクリックします。

    「リフレッシュ・グループの編集」ページが表示され、「一般」サブページが表示されます。

    tdpii_edit_ref_grp.gifの説明が続きます。
    tdpii_edit_ref_grp.gifの説明

  9. 「リフレッシュ」セクションで、「間隔」フィールドの「変更」をクリックします。

  10. 「毎」フィールドとリストを使用して間隔を短くします。

  11. 「OK」をクリックします。

  12. 「リフレッシュ・グループの編集」ページで、「適用」をクリックして変更を保存します。


注意:

DBMS_REFRESH.CHANGEプロシージャを使用して、リフレッシュ・グループのリフレッシュ間隔を変更することもできます。