Oracle Database 2日でデータ・レプリケーションおよび統合ガイド 11g リリース1(11.1) E05777-03 |
|
この章では、マテリアライズド・ビュー・レプリケーション環境の管理、監視およびトラブルシューティング方法を説明します。
この章は次の項で構成されています。
マテリアライズド・ビューが構成された後で、それらをリフレッシュしてマスター表と同期できます。この項では、マテリアライズド・ビューのリフレッシュおよびリフレッシュ・グループへのマテリアライズド・ビューの追加の方法を説明します。
マテリアライズド・ビュー・サイトでマテリアライズド・ビューが不要になることがあります。この項では、マテリアライズド・ビューの削除およびマスター・サイトでのマテリアライズド・ビュー・サポートのクリーン・アップに関する情報も示します。
次の各項で、マテリアライズド・ビュー・レプリケーション環境の管理を説明します。
マテリアライズド・ビューをリフレッシュすると、マスター表と同期します。マテリアライズド・ビューを最後にリフレッシュした後でマスター表に加えられた変更は、リフレッシュ時にマテリアライズド・ビューに適用されます。マテリアライズド・ビューが更新可能な場合は、最後のリフレッシュ後にマテリアライズド・ビューに加えられた変更も、リフレッシュ時にマスター表に適用されます。
マテリアライズド・ビューのグループを1つのアプリケーションなどの特定の目的に使用している場合、通常は、これらのマテリアライズド・ビューを1つのリフレッシュ・グループに配置することが最適です。リフレッシュ・グループをリフレッシュすると、リフレッシュ・グループ内のマテリアライズド・ビューは、ある一致した時点でリフレッシュされます。マテリアライズド・ビューを個別にリフレッシュすることもできますが、その場合、マテリアライズド・ビューはある時点で一致しません。
次の各項で、マテリアライズド・ビューのリフレッシュについて説明します。
リフレッシュ・グループをリフレッシュすると、リフレッシュ・グループ内のすべてのマテリアライズド・ビューが、ある一致した時点でリフレッシュされます。
mvadmin
です。
「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。
「リフレッシュ・グループの編集」ページが表示され、「一般」サブページが表示されます。
マテリアライズド・ビューをリフレッシュすると、マスター表と一致します。マテリアライズド・ビューがリフレッシュ・グループの一部である場合、通常は個別のマテリアライズド・ビューではなくリフレッシュ・グループをリフレッシュするのが最適です。リフレッシュ・グループをリフレッシュすると、リフレッシュ・グループ内のすべてのマテリアライズド・ビューがある時点で一致します。
mvadmin
です。
「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。
すべてのマテリアライズド・ビューをリストするには、「スキーマ」フィールドと「オブジェクト名」フィールドを空白にしたまま「実行」をクリックします。
通常は、デフォルト値を使用する必要があります。このページの詳細は、「ヘルプ」をクリックしてください。
2つ以上のマテリアライズド・ビューをある時点で一致させる必要がある場合は、マテリアライズド・ビューが同じリフレッシュ・グループに属している必要があります。
mvadmin
です。
「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。
マテリアライズド・ビューがマテリアライズド・ビュー・サイトで不要になった場合は、マテリアライズド・ビューを削除できます。可能な場合は、マテリアライズド・ビュー・サイトがマスター・サイトに接続できるときにマテリアライズド・ビューを削除する必要があります。マテリアライズド・ビューに関する情報は、ネットワーク接続が確立されたときにマスター・サイトから自動的に削除されます。
マテリアライズド・ビュー・サイトがマスター・サイトに接続できないときにマテリアライズド・ビューを削除する必要がある場合は、マテリアライズド・ビューに関する情報をマスター・サイトから手動で削除する必要があります。マテリアライズド・ビューを削除した後でこの情報を削除する方法は、「チュートリアル: マスター・サイトでのマテリアライズド・ビュー・サポートのクリーン・アップ」を参照してください。
mvadmin
です。
「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。
すべてのマテリアライズド・ビューをリストするには、「スキーマ」フィールドと「オブジェクト名」フィールドを空白にしたまま「実行」をクリックします。
マテリアライズド・ビュー・サイトがネットワーク上でマスター・サイトに接続していなかったときにマテリアライズド・ビューを削除した場合は、マスター・サイトでマテリアライズド・ビュー・サポートをクリーン・アップする必要があります。マテリアライズド・ビュー・サポートのクリーン・アップには、次のアクションが含まれます。
マテリアライズド・ビューを登録解除すると、マスター・サイトのデータ・ディクショナリ内のマテリアライズド・ビューに関する情報が削除されます。
マテリアライズド・ビューのマスター表が他のマテリアライズド・ビューのマスター表である場合は、削除したマテリアライズド・ビューの情報のマテリアライズド・ビュー・ログをパージする必要があります。マテリアライズド・ビューのマスター表が他のマテリアライズド・ビューのマスター表でない場合は、マテリアライズド・ビュー・ログを削除できます。
Oracle Databaseは、マテリアライズド・ビュー・ログのどの行がマテリアライズド・ビューのリフレッシュ中に使用されたかを自動的に追跡し、これらの行をログからパージして、ログ・サイズが無限に増大しないようにします。複数のマテリアライズド・ビューが同じマテリアライズド・ビュー・ログを使用できるため、あるマテリアライズド・ビューのリフレッシュにすでに使用された行も、別のマテリアライズド・ビューをリフレッシュするのに必要です。Oracle Databaseは、すべてのマテリアライズド・ビューが行を使用するまで、その行をログから削除しません。マスター・サイトをクリーン・アップしないでマテリアライズド・ビューを削除した場合、そのマテリアライズド・ビューのマテリアライズド・ビュー・ログが非常に大きくなることがあります。
この項の例では、次のマテリアライズド・ビュー・サポートをクリーン・アップします。
ii1.example.com
です。
ii2.example.com
です。
employees_mvr
です。
hr
です。
ii1.example.com
にレプリケーション管理者やSYSTEM
などの管理ユーザーとして接続します。デフォルトでは、レプリケーション管理者のユーザー名はrepadmin
です。SQL*Plusの起動の詳細は、『Oracle Database 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;
BEGIN DBMS_MVIEW.UNREGISTER_MVIEW ( mviewowner => 'hr', mviewname => 'employees_mvr', mviewsite => 'ii2.example.com'); END; /
マテリアライズド・ビューの所有者、名前またはマテリアライズド・ビュー・サイトが不明な場合は、ALL_REGISTERED_MVIEWS
データ・ディクショナリ・ビューを問い合せてこの情報を取得できます。
この項では、Enterprise ManagerとSQL*Plusを使用してマテリアライズド・ビュー・レプリケーション環境に関する情報を表示する方法を説明します。マテリアライズド・ビュー・サイトとマスター・サイトの両方でこの情報を表示します。
次の各項で、マテリアライズド・ビュー・レプリケーション環境の監視を説明します。
Enterprise Managerの「アドバンスト・レプリケーション: 管理」ページには、データベースのレプリケーション・コンポーネントの概要が表示されます。
mvadmin
です。
「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。
各レプリケーション・コンポーネントは、現在のデータベースのコンポーネントの数量を示す数値に関連付けられています。数値をクリックすると、これらのコンポーネントに関する詳細情報が表示され、これらのコンポーネントを管理できます。
マテリアライズド・ビュー・サイトを表示している場合は、次のコンポーネントを監視できます。
1つ以上のマテリアライズド・ビュー・サイトのマスター・サイトを表示している場合は、次のコンポーネントを監視できます。
「アドバンスト・レプリケーション: 管理」ページの「概要」サブページにリストされるその他のレプリケーション・コンポーネントについては、「ヘルプ」をクリックしてください。
マテリアライズド・ビューには、ある単一の時点での表の完全コピーまたは部分コピーが含まれます。レプリケーション環境では、通常、マテリアライズド・ビューはベースとなっている表とは異なるデータベースにあります。
mvadmin
です。
「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。
「マテリアライズド・ビュー」ページには、マスター表、マスター・サイト(「マスター・リンク」列内)、および最終リフレッシュ時刻を含め、リストされている各マテリアライズド・ビューに関する重要情報が表示されます。このページのすべての列の詳細は、「ヘルプ」をクリックしてください。
「マテリアライズド・ビューの表示: 」ページには、マテリアライズド・ビューに関する詳細情報が表示されます。情報は、「一般」、「リフレッシュ」、「記憶域」、「索引記憶域」、「オプション」および「マスター情報」の各セクションに編成されています。このページのすべてのセクションの詳細は、「ヘルプ」をクリックしてください。
マテリアライズド・ビューをリフレッシュすると、マテリアライズド・ビューのデータがそのマスター表のデータと同期します。V$MVREFRESH
動的パフォーマンス・ビューを問い合せて、どのマテリアライズド・ビューが現在リフレッシュされているかを判断できます。
マテリアライズド・ビューを含むデータベースを停止する前に、いずれかのマテリアライズド・ビューが現在リフレッシュされているかどうかを確認するのが最適です。いずれかのマテリアライズド・ビューがリフレッシュされている場合は、すべてのリフレッシュが完了するまで待ってから、データベースを停止します。
SQL*Plusの起動の詳細は、『Oracle Database 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
動的パフォーマンス・ビューに、更新可能なマテリアライズド・ビューに関する情報は含まれません。
マテリアライズド・ビュー・グループを使用すると、論理的に関連するマテリアライズド・ビューを簡単に管理できます。たとえば、スキーマ内のすべてのマテリアライズド・ビューまたはアプリケーションによって使用されているすべてのマテリアライズド・ビューをマテリアライズド・ビュー・グループに追加できます。また、マテリアライズド・ビューを更新可能にするには、それらがマテリアライズド・ビュー・グループに属している必要があります。
mvadmin
です。
「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。
「マテリアライズド・ビュー・グループ」ページが表示され、マテリアライズド・ビュー・サイトのマテリアライズド・ビュー・グループの名前がリストされます。
「マテリアライズド・ビュー・グループの表示」ページには、次の情報が含まれます。
このページの詳細を表示するには、「ヘルプ」をクリックします。
マテリアライズド・ビュー・サイトでは、遅延トランザクションには更新可能マテリアライズド・ビューに対する変更が含まれます。遅延トランザクションは、マテリアライズド・ビュー・サイトに格納されるため、マスター・サイトに送信でき、マスター表に適用できます。マテリアライズド・ビューの遅延トランザクションは、マテリアライズド・ビューがリフレッシュされると必ずプッシュされます。スケジュールされたリンクは、遅延トランザクションがリフレッシュ・プロセスに依存せずにマスター・サイトにいつプッシュされるかを決定します。
mvadmin
です。
「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。
「管理: 遅延トランザクション」ページには、トランザクションIDと、各遅延トランザクションに関する次の情報が表示されます。
このページの詳細を表示するには、「ヘルプ」をクリックします。
「遅延トランザクション」ページには、マテリアライズド・ビューと、そのマテリアライズド・ビューを変更した操作のタイプが表示されます。たとえば、REP_UPDATE
は更新操作を表します。
このページには、マテリアライズド・ビュー内の各列が、元の値と、該当する場合には新しい値とともに表示されます。列に新しい値がある場合は、変更された列値を元の値から新しい値に変更します。
参照:
|
リフレッシュ・グループをリフレッシュすると、リフレッシュ・グループ内のすべてのマテリアライズド・ビューが、ある一致した時点でリフレッシュされます。
mvadmin
です。
「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。
「リフレッシュ・グループ」ページが表示されます。
「グループのリフレッシュ」ページには、マテリアライズド・ビュー・サイトのリフレッシュ・ビュー・グループの名前をリストします。これには、各リフレッシュ・グループの次の情報が含まれます。
「リフレッシュ・グループの表示」ページには、リフレッシュ・グループに関する詳細情報が表示されます。情報は、「一般」、「リフレッシュ」および「マテリアライズド・ビュー」の各セクションに編成されています。このページのすべてのセクションの詳細は、「ヘルプ」をクリックしてください。
マテリアライズド・ビュー・ログは、マテリアライズド・ビューの高速リフレッシュが可能になるようにマスター表に対する変更を追跡します。
SYSTEM
などの管理ユーザーとしてマスター・サイトにログインします。デフォルトでは、レプリケーション管理者のユーザー名はrepadmin
です。
「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。
「マテリアライズド・ビュー・ログ」ページが表示されます。
すべてのマテリアライズド・ビュー・ログをリストするには、「スキーマ」フィールドと「オブジェクト名」フィールドを空白にしたまま「実行」をクリックします。
「マテリアライズド・ビュー・ログ」ページには、リストされている各マテリアライズド・ビュー・ログのスキーマ、基礎となるログ表およびマスター表がリストされます。
「マテリアライズド・ビュー・ログの表示」ページには、マテリアライズド・ビュー・ログに関する詳細情報が表示されます。情報は、「一般」、「オプション」および「記憶域」セクションに編成されています。このページのセクションの詳細は、「ヘルプ」をクリックしてください。
マテリアライズド・ビュー・サイトでマテリアライズド・ビューを構成すると、マテリアライズド・ビューがマスター・サイトに登録されます。ALL_REGISTERED_MVIEWS
データ・ディクショナリ・ビューを問い合せて、マスター・サイトに登録されている各マテリアライズド・ビューに関する次の情報を表示できます。
SYSTEM
などの管理ユーザーとしてマスター・サイトに接続します。デフォルトでは、レプリケーション管理者のユーザー名はrepadmin
です。SQL*Plusの起動の詳細は、『Oracle Database 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つ以上のマテリアライズド・ビューをリフレッシュできない場合の一般的な原因と解決方法を次に示します。
SYSTEM
などの管理ユーザーとしてログインします。
「データベース・リンク」ページが表示されます。
データベース・リンク名は、マテリアライズド・ビューのマスター・サイトのグローバル名と同じである必要があります。
マテリアライズド・ビュー・ログは、マスター・サイトのマスター表に対する変更を追跡します。マテリアライズド・ビューに高速リフレッシュが実行される場合、マテリアライズド・ビュー・ログ内の変更はマテリアライズド・ビューに適用されます。マテリアライズド・ビュー・ログを使用するすべてのマテリアライズド・ビューに変更が適用されると、変更がマテリアライズド・ビュー・ログから削除されます。
マテリアライズド・ビュー・ログは、マテリアライズド・ビュー・ログを使用する1つ以上のマテリアライズド・ビューが比較的長期間リフレッシュされない場合に非常に大きくなることがあります。この状況により、他のマテリアライズド・ビューのリフレッシュ・パフォーマンスが低下することがあります。次に、一般的な原因と解決方法を示します。
マテリアライズド・ビューを手動でリフレッシュする場合に、マテリアライズド・ビュー・ログが非常に大きくなる場合は、より頻繁にリフレッシュする必要があります。「マテリアライズド・ビューのリフレッシュ」を参照してください。
マテリアライズド・ビューが、十分な頻度でリフレッシュされていないリフレッシュ・グループにある場合は、リフレッシュ・グループのリフレッシュ間隔を短くできます。
mvadmin
です。
「アドバンスト・レプリケーション: 管理」ページが表示され、「概要」サブページが表示されます。
「リフレッシュ・グループの編集」ページが表示され、「一般」サブページが表示されます。
参照:
|
![]() Copyright © 2007, 2008 Oracle Corporation. All Rights Reserved. |
|