この章では、データ・ディクショナリを使用してレプリケーション環境を監視する方法を説明します。
この章には、次の項が含まれます。
この項では、マスター・レプリケーション環境の情報を表示するために実行できる問合せを示します。レプリケーション環境には、マルチマスター環境、マスター・マテリアライズド・ビュー環境、および複数のマスター・サイトとマテリアライズド・ビューを含むハイブリッド環境があります。
この項には、次の項目が含まれます。
この項では、マスター・サイトの情報を表示するために実行できる問合せを示します。
この項の問合せを実行することにより、マスター・サイトに関する次の一般情報を検索できます。
管理要求の数。
管理要求エラーの数。
伝播されていない遅延トランザクションと接続先のペアの数。各遅延トランザクションは伝播される接続先を複数持つ場合があり、また各接続先は、1つの遅延トランザクションと接続先のペアです。
たとえば、遅延トランザクションが10あり、各トランザクションが3つのサイトに伝播される必要がある場合、この問合せで戻される遅延トランザクションのペアは30あります。しばらくして、最初の遅延トランザクションが3つの接続先サイトのうちの2つに伝播された場合、まだ10の遅延トランザクションがありますが、遅延トランザクションのペアは2つ減り、この問合せで戻される伝播されていない遅延トランザクションのペアは28になります。この場合、最初の遅延トランザクションに残されているトランザクションのペアは1つのみです。
遅延トランザクション・エラー(エラー・トランザクション)の数。
まだキューにある正常に伝播されたトランザクションの数。このトランザクションはキューからパージする必要があります。
次の問合せを実行して、カレント・マスター・サイトに関するこの情報をリストします。
COLUMN GLOBAL_NAME HEADING 'Database' FORMAT A25 COLUMN ADMIN_REQUESTS HEADING 'Admin|Reqests' FORMAT 9999 COLUMN STATUS HEADING 'Admin|Errors' FORMAT 9999 COLUMN TRAN HEADING 'Def|Trans|Pairs' FORMAT 9999 COLUMN ERRORS HEADING 'Def|Trans|Errors' FORMAT 9999 COLUMN COMPLETE HEADING 'Propagated|Trans' FORMAT 9999 SELECT G.GLOBAL_NAME, D.ADMIN_REQUESTS, E.STATUS, DT.TRAN, DE.ERRORS, C.COMPLETE FROM (SELECT GLOBAL_NAME FROM GLOBAL_NAME) G, (SELECT COUNT(ID) ADMIN_REQUESTS FROM DBA_REPCATLOG) D, (SELECT COUNT(STATUS) STATUS FROM DBA_REPCATLOG WHERE STATUS = 'ERROR') E, (SELECT COUNT(*) TRAN FROM DEFTRANDEST) DT, (SELECT COUNT(*) ERRORS FROM DEFERROR) DE, (SELECT COUNT(A.DEFERRED_TRAN_ID) COMPLETE FROM DEFTRAN A WHERE A.DEFERRED_TRAN_ID NOT IN ( SELECT B.DEFERRED_TRAN_ID FROM DEFTRANDEST B)) C;
出力は次のようになります。
Def Def Admin Admin Trans Trans Propagated Database Reqests Errors Pairs Errors Trans ------------------------- ------- ------ ----- ------ ---------- ORC1.EXAMPLE.COM 5 0 37 0 53
注意: 遅延トランザクション・キューに多数のトランザクションがある場合、この問合せは高コストになる場合があります。 |
この項では、レプリケーション・サイトにあるマスター・グループの情報を表示するために実行できる問合せを示します。
次の問合せを実行して、レプリケーション・サイトの各マスター・グループのマスター・サイトをリストし、各マスター・グループのマスター定義サイトを指定します。
COLUMN GNAME HEADING 'Master Group' FORMAT A20 COLUMN DBLINK HEADING 'Sites' FORMAT A25 COLUMN MASTERDEF HEADING 'Master|Definition|Site?' FORMAT A10 SELECT GNAME, DBLINK, MASTERDEF FROM DBA_REPSITES WHERE MASTER = 'Y' AND GNAME NOT IN (SELECT GNAME FROM DBA_REPSITES WHERE SNAPMASTER = 'Y') ORDER BY GNAME;
SELECT
文の副問合せは、マテリアライズド・ビュー・グループが出力されないようにします。出力は次のようになります。
Master Definition Master Group Sites Site? -------------------- ------------------------- ---------- HR_REPG ORC1.EXAMPLE.COM Y HR_REPG ORC2.EXAMPLE.COM N HR_REPG ORC3.EXAMPLE.COM N
このリストは、orc1.example.com
がhr_repg
マスター・グループのマスター定義サイトであることを示します。また、このリストには、マスター・サイトorc2.example.com
およびorc3.example.com
も含まれます。
この項の問合せを使用して、マスター・サイトにあるマスター・グループに関する次の一般情報をリストできます。
各マスター・グループの名前。
伝播されていない遅延トランザクションと接続先のペアの数。各遅延トランザクションは伝播される接続先を複数持つ場合があり、また各接続先は、1つの遅延トランザクションと接続先のペアです。
たとえば、遅延トランザクションが10あり、各トランザクションが3つのサイトに伝播される必要がある場合、この問合せで戻される遅延トランザクションのペアは30あります。しばらくして、最初の遅延トランザクションが3つの接続先サイトのうちの2つに伝播された場合、まだ10の遅延トランザクションがありますが、遅延トランザクションのペアは2つ減り、この問合せで戻される伝播されていない遅延トランザクションのペアは28になります。この場合、最初の遅延トランザクションに残されているトランザクションのペアは1つのみです。
各マスター・グループの遅延トランザクション・エラー(エラー・トランザクション)の数。
各マスター・グループの管理要求の数。
各マスター・グループの管理要求エラーの数。
次の問合せを実行し、この情報をリストします。
COLUMN GNAME HEADING 'Master Group' FORMAT A15 COLUMN deftran HEADING 'Number of|Deferred|Transaction|Pairs' FORMAT 9999 COLUMN deftranerror HEADING 'Number of|Deferred|Transaction|Errors' FORMAT 9999 COLUMN adminreq HEADING 'Number of|Administrative|Requests' FORMAT 9999 COLUMN adminreqerror HEADING 'Number of|Administrative|Request|Errors' COLUMN adminreqerror FORMAT 9999 SELECT G.GNAME, NVL(T.CNT1, 0) deftran, NVL(IE.CNT2, 0) deftranerror, NVL(A.CNT3, 0) adminreq, NVL(B.CNT4, 0) adminreqerror FROM (SELECT DISTINCT GNAME FROM DBA_REPGROUP WHERE MASTER='Y') G, (SELECT DISTINCT RO.GNAME, COUNT(DISTINCT D.DEFERRED_TRAN_ID) CNT1 FROM DBA_REPOBJECT RO, DEFCALL D, DEFTRANDEST TD WHERE RO.SNAME = D.SCHEMANAME AND RO.ONAME = D.PACKAGENAME AND RO.TYPE IN ('TABLE', 'PACKAGE', 'MATERIALIZED VIEW') AND TD.DEFERRED_TRAN_ID = D.DEFERRED_TRAN_ID GROUP BY RO.GNAME ) T, (SELECT DISTINCT RO.GNAME, COUNT(DISTINCT E.DEFERRED_TRAN_ID) CNT2 FROM DBA_REPOBJECT RO, DEFCALL D, DEFERROR E WHERE RO.SNAME = D.SCHEMANAME AND RO.ONAME = D.PACKAGENAME AND RO.TYPE IN ('TABLE', 'PACKAGE', 'MATERIALIZED VIEW') AND E.DEFERRED_TRAN_ID = D.DEFERRED_TRAN_ID AND E.CALLNO = D.CALLNO GROUP BY RO.GNAME ) IE, (SELECT GNAME, COUNT(*) CNT3 FROM DBA_REPCATLOG GROUP BY GNAME) A, (SELECT GNAME, COUNT(*) CNT4 FROM DBA_REPCATLOG WHERE STATUS = 'ERROR' GROUP BY GNAME) B WHERE G.GNAME = IE.GNAME (+) AND G.GNAME = T.GNAME (+) AND G.GNAME = A.GNAME (+) AND G.GNAME = B.GNAME (+) ORDER BY G.GNAME;
出力は次のようになります。
Number of Number of Number of Deferred Deferred Number of Administrative Transaction Transaction Administrative Request Master Group Pairs Errors Requests Errors --------------- ----------- ----------- -------------- -------------- HR_REPG 54 0 0 0 OE_RG 33 1 5 0
注意: 伝播されるのを待っているトランザクションが多数ある場合、この問合せは高コストになる場合があります。 |
マスターには、マスター・サイトとマスター・マテリアライズド・ビュー・サイトがあります。この項では、マスターの情報を表示するために実行できる問合せを示します。
マスターをベースとするマテリアライズド・ビュー・サイトがある場合は、この項の問合せを使用して、マスターに関する次の情報をリストできます。
マスターにあるレプリケーション・グループの数。レプリケーション・グループには、マスター・グループとマテリアライズド・ビュー・グループがあります。
マスターにあるレプリケーション・グループをベースとする、登録済のマテリアライズド・ビュー・グループの数。
マスターにあるオブジェクトをベースとする、登録済のマテリアライズド・ビューの数。オブジェクトには、マスター表とマスター・マテリアライズド・ビューがあります。
マスターにあるマテリアライズド・ビュー・ログの数。
マスターにあるデプロイメント・テンプレートの数。
次の問合せを実行し、この情報をリストします。
COLUMN repgroup HEADING 'Number of|Replication|Groups' FORMAT 9999 COLUMN mvgroup HEADING 'Number of|Registered|MV Groups' FORMAT 9999 COLUMN mv HEADING 'Number of|Registered MVs' FORMAT 9999 COLUMN mvlog HEADING 'Number of|MV Logs' FORMAT 9999 COLUMN template HEADING 'Number of|Templates' FORMAT 9999 SELECT A.REPGROUP repgroup, B.MVGROUP mvgroup, C.MV mv, D.MVLOG mvlog, E.TEMPLATE template FROM (SELECT COUNT(G.GNAME) REPGROUP FROM DBA_REPGROUP G, DBA_REPSITES S WHERE G.MASTER = 'Y' AND S.MASTER = 'Y' AND G.GNAME = S.GNAME AND S.MY_DBLINK = 'Y') A, (SELECT COUNT(*) MVGROUP FROM DBA_REGISTERED_MVIEW_GROUPS) B, (SELECT COUNT(*) MV FROM DBA_REGISTERED_MVIEWS) C, (SELECT COUNT(*) MVLOG FROM (SELECT 1 FROM DBA_MVIEW_LOGS GROUP BY LOG_OWNER, LOG_TABLE)) D, (SELECT COUNT(*) TEMPLATE FROM DBA_REPCAT_REFRESH_TEMPLATES) E;
出力は次のようになります。
Number of Number of Replication Registered Number of Number of Number of Groups MV Groups Registered MVs MV Logs Templates ----------- ---------- -------------- --------- --------- 1 5 27 6 3
マテリアライズド・ビュー・ログにより、マスターをベースとするマテリアライズド・ビューで高速リフレッシュを実行できます。マスターには、マスター表とマスター・マテリアライズド・ビューがあります。マスターをベースとするマテリアライズド・ビュー・ログがある場合は、この項の問合せを使用して、このログに関する次の情報をリストできます。
マテリアライズド・ビュー・ログ・データが格納される各ログ表の名前
各マテリアライズド・ビュー・ログの所有者
各マテリアライズド・ビュー・ログがベースとするマスター
マテリアライズド・ビュー・ログが行IDマテリアライズド・ビュー・ログかどうか
マテリアライズド・ビュー・ログが主キー・マテリアライズド・ビュー・ログかどうか
マテリアライズド・ビュー・ログがオブジェクトIDマテリアライズド・ビュー・ログかどうか
マテリアライズド・ビュー・ログにフィルタ列があるかどうか
次の問合せを実行し、この情報をリストします。
COLUMN LOG_TABLE HEADING 'Log Table' FORMAT A20 COLUMN LOG_OWNER HEADING 'Log|Owner' FORMAT A5 COLUMN MASTER HEADING 'Master' FORMAT A15 COLUMN ROWIDS HEADING 'Row|ID?' FORMAT A3 COLUMN PRIMARY_KEY HEADING 'Primary|Key?' FORMAT A7 COLUMN OBJECT_ID HEADING 'Object|ID?' FORMAT A6 COLUMN FILTER_COLUMNS HEADING 'Filter|Columns?' FORMAT A8 SELECT DISTINCT LOG_TABLE, LOG_OWNER, MASTER, ROWIDS, PRIMARY_KEY, OBJECT_ID, FILTER_COLUMNS FROM DBA_MVIEW_LOGS ORDER BY 1;
出力は次のようになります。
Log Row Primary Object Filter Log Table Owner Master ID? Key? ID? Columns? -------------------- ----- --------------- --- ------- ------ -------- MLOG$_COUNTRIES HR COUNTRIES NO YES NO NO MLOG$_DEPARTMENTS HR DEPARTMENTS NO YES NO NO MLOG$_EMPLOYEES HR EMPLOYEES NO YES NO NO MLOG$_JOBS HR JOBS NO YES NO NO MLOG$_JOB_HISTORY HR JOB_HISTORY NO YES NO NO MLOG$_LOCATIONS HR LOCATIONS NO YES NO NO MLOG$_REGIONS HR REGIONS NO YES NO NO
関連項目: マテリアライズド・ビュー・ログの詳細は、『Oracle Databaseアドバンスト・レプリケーション』を参照してください。 |
あるマテリアライズド・ビュー・ログを複数のマテリアライズド・ビューが使用する場合があります。マスターをベースとするマテリアライズド・ビュー・ログがある場合は、この項の問合せを使用して、各ログを使用するマテリアライズド・ビューに関する次の情報をリストできます。
マテリアライズド・ビュー・ログ・データが格納される各ログ表の名前
各マテリアライズド・ビュー・ログの所有者
各マテリアライズド・ビュー・ログがベースとするマスター
マテリアライズド・ビュー・ログを使用する各マテリアライズド・ビューの、マテリアライズド・ビュー識別番号
マテリアライズド・ビュー・ログを使用する各マテリアライズド・ビューの名前
次の問合せを実行し、この情報をリストします。
COLUMN LOG_TABLE HEADING 'Mview|Log Table' FORMAT A20 COLUMN LOG_OWNER HEADING 'Mview|Log Owner' FORMAT A10 COLUMN MASTER HEADING 'Master' FORMAT A20 COLUMN MVIEW_ID HEADING 'Mview|ID' FORMAT 9999 COLUMN NAME HEADING 'Mview Name' FORMAT A20 SELECT L.LOG_TABLE, L.LOG_OWNER, B.MASTER, B.MVIEW_ID, R.NAME FROM ALL_MVIEW_LOGS L, ALL_BASE_TABLE_MVIEWS B, ALL_REGISTERED_MVIEWS R WHERE B.MVIEW_ID = R.MVIEW_ID AND B.OWNER = L.LOG_OWNER AND B.MASTER = L.MASTER;
出力は次のようになります。
Mview Mview Mview Log Table Log Owner Master ID Mview Name -------------------- ---------- -------------------- ----- -------------------- MLOG$_COUNTRIES HR COUNTRIES 21 COUNTRIES_MV1 MLOG$_DEPARTMENTS HR DEPARTMENTS 22 DEPARTMENTS_MV1 MLOG$_EMPLOYEES HR EMPLOYEES 23 EMPLOYEES_MV1 MLOG$_JOBS HR JOBS 24 JOBS_MV1 MLOG$_JOB_HISTORY HR JOB_HISTORY 25 JOB_HISTORY_MV1 MLOG$_LOCATIONS HR LOCATIONS 26 LOCATIONS_MV1 MLOG$_REGIONS HR REGIONS 27 REGIONS_MV1
デプロイメント・テンプレートにより、複数のマテリアライズド・ビュー環境をすばやく作成できます。また、変数を使用して、各マテリアライズド・ビュー環境を個別の必要に応じてカスタマイズすることもできます。この項の問合せを使用して、マスターにあるデプロイメント・テンプレートに関する次の情報をリストできます。
各デプロイメント・テンプレートの名前
各デプロイメント・テンプレートの所有者
デプロイメント・テンプレートがパブリックかどうか
各デプロイメント・テンプレートをベースとする、インスタンス化されたマテリアライズド・ビュー・サイトの数
各デプロイメント・テンプレートに対応付けられたコメント
次の問合せを実行し、この情報をリストします。
COLUMN REFRESH_TEMPLATE_NAME HEADING 'Template|Name' FORMAT A10 COLUMN OWNER HEADING 'Owner' FORMAT A10 COLUMN PUBLIC_TEMPLATE HEADING 'Public?' FORMAT A7 COLUMN INSTANTIATED HEADING 'Number of|Instantiated|Sites' FORMAT 9999 COLUMN TEMPLATE_COMMENT HEADING 'Comment' FORMAT A35 SELECT DISTINCT RT.REFRESH_TEMPLATE_NAME, OWNER, PUBLIC_TEMPLATE, RS.INSTANTIATED, RT.TEMPLATE_COMMENT FROM DBA_REPCAT_REFRESH_TEMPLATES RT, (SELECT Y.REFRESH_TEMPLATE_NAME, COUNT(X.STATUS) INSTANTIATED FROM DBA_REPCAT_TEMPLATE_SITES X, DBA_REPCAT_REFRESH_TEMPLATES Y WHERE X.REFRESH_TEMPLATE_NAME(+) = Y.REFRESH_TEMPLATE_NAME GROUP BY Y.REFRESH_TEMPLATE_NAME) RS WHERE RT.REFRESH_TEMPLATE_NAME(+) = RS.REFRESH_TEMPLATE_NAME ORDER BY 1;
出力は次のようになります。
Number of Template Instantiated Name Owner Public? Sites Comment ---------- ---------- ------- ------------ ----------------------------------- HR_REFG_DT HR N 2 Human Resources Deployment Template
Public?
列のN
は、デプロイメント・テンプレートがプライベートであることを意味します。したがって、認証ユーザーのみがこのテンプレートをインスタンス化できます。この列のY
は、デプロイメント・テンプレートがパブリックであることを意味します。パブリック・デプロイメント・テンプレートはすべてのユーザーがインスタンス化できます。
この項では、マテリアライズド・ビュー・サイトの情報を表示するために実行できる問合せを示します。この項には、次の項目が含まれます。
この項の問合せを使用して、カレント・マテリアライズド・ビュー・サイトに関する次の一般情報をリストできます。
サイトにあるマテリアライズド・ビュー・グループの数
サイトにあるマテリアライズド・ビューの数
サイトにあるリフレッシュ・グループの数
次の問合せを実行し、この情報をリストします。
COLUMN MVGROUP HEADING 'Number of|Materialized|View Groups' FORMAT 9999 COLUMN MV HEADING 'Number of|Materialized|Views' FORMAT 9999 COLUMN RGROUP HEADING 'Number of|Refresh Groups' FORMAT 9999 SELECT A.MVGROUP, B.MV, C.RGROUP FROM (SELECT COUNT(S.GNAME) MVGROUP FROM DBA_REPSITES S WHERE S.SNAPMASTER = 'Y') A, (SELECT COUNT(*) MV FROM DBA_MVIEWS) B, (SELECT COUNT(*) RGROUP FROM DBA_REFRESH) C;
出力は次のようになります。
Number of Number of Materialized Materialized Number of View Groups Views Refresh Groups ------------ ------------ -------------- 5 25 5
この項の問合せを使用して、カレント・マテリアライズド・ビュー・サイトにあるマテリアライズド・ビュー・グループに関する次の一般情報をリストできます。
各マテリアライズド・ビュー・グループの名前
各マテリアライズド・ビュー・グループのマスター
マテリアライズド・ビュー・グループのマスターへの伝播方法(非同期または同期)
各マテリアライズド・ビュー・グループに対応付けられたコメント
次の問合せを実行し、この情報をリストします。
COLUMN GNAME HEADING 'Group Name' FORMAT A10 COLUMN DBLINK HEADING 'Master' FORMAT A25 COLUMN Propagation HEADING 'Propagation|Method' FORMAT A12 COLUMN SCHEMA_COMMENT HEADING 'Comment' FORMAT A30 SELECT S.GNAME, S.DBLINK, DECODE(S.PROP_UPDATES, 0, 'ASYNCHRONOUS', 1, 'SYNCHRONOUS') Propagation, G.SCHEMA_COMMENT FROM DBA_REPSITES S, DBA_REPGROUP G WHERE S.GNAME = G.GNAME AND S.SNAPMASTER = 'Y';
出力は次のようになります。
Propagation Group Name Master Method Comment ---------- ------------------------- ------------ ------------------------------ HR_REPG ORC1.EXAMPLE.COM ASYNCHRONOUS
この項では、レプリケーション・サイトにあるマテリアライズド・ビューの情報を表示するために実行できる問合せを示します。
次の問合せは、レプリケーション・サイトにある各マテリアライズド・ビューのマスターを示し、かつマテリアライズド・ビューの高速リフレッシュが可能かどうかを示します。
COLUMN MVIEW_NAME HEADING 'Materialized|View Name' FORMAT A15 COLUMN OWNER HEADING 'Owner' FORMAT A10 COLUMN MASTER_LINK HEADING 'Master Link' FORMAT A30 COLUMN Fast_Refresh HEADING 'Fast|Refreshable?' FORMAT A16 SELECT MVIEW_NAME, OWNER, MASTER_LINK, DECODE(FAST_REFRESHABLE, 'NO', 'NO', 'DML', 'YES', 'DIRLOAD', 'DIRECT LOAD ONLY', 'DIRLOAD_DML', 'YES', 'DIRLOAD_LIMITEDDML', 'LIMITED') Fast_Refresh FROM DBA_MVIEWS;
出力は次のようになります。
Materialized Fast View Name Owner Master Link Refreshable? --------------- ---------- ------------------------------ ---------------- COUNTRIES_MV1 HR @ORC1.EXAMPLE.COM YES DEPARTMENTS_MV1 HR @ORC1.EXAMPLE.COM YES EMPLOYEES_MV1 HR @ORC1.EXAMPLE.COM YES JOBS_MV1 HR @ORC1.EXAMPLE.COM YES JOB_HISTORY_MV1 HR @ORC1.EXAMPLE.COM YES LOCATIONS_MV1 HR @ORC1.EXAMPLE.COM YES REGIONS_MV1 HR @ORC1.EXAMPLE.COM YES
この項の問合せを使用して、カレント・レプリケーション・サイトにあるマテリアライズド・ビューに関する次の情報をリストできます。
各マテリアライズド・ビューの名前
各マテリアライズド・ビューの所有者
各マテリアライズド・ビューが使用するリフレッシュ方法がCOMPLETE
、FORCE
、FAST
またはNEVER
のいずれであるか
マテリアライズド・ビューが更新可能かどうか
各マテリアライズド・ビューがリフレッシュされた最後の日付
次の問合せを実行し、この情報をリストします。
COLUMN MVIEW_NAME HEADING 'Materialized|View Name' FORMAT A15 COLUMN OWNER HEADING 'Owner' FORMAT A10 COLUMN REFRESH_METHOD HEADING 'Refresh|Method' FORMAT A10 COLUMN UPDATABLE HEADING 'Updatable?' FORMAT A10 COLUMN LAST_REFRESH_DATE HEADING 'Last|Refresh|Date' COLUMN LAST_REFRESH_TYPE HEADING 'Last|Refresh|Type' FORMAT A15 SELECT MVIEW_NAME, OWNER, REFRESH_METHOD, UPDATABLE, LAST_REFRESH_DATE, LAST_REFRESH_TYPE FROM DBA_MVIEWS;
出力は次のようになります。
Last Last Materialized Refresh Refresh Refresh View Name Owner Method Updatable? Date Type --------------- ---------- ---------- ---------- --------- --------------- COUNTRIES_MV1 HR FAST Y 21-OCT-03 FAST DEPARTMENTS_MV1 HR FAST Y 21-OCT-03 FAST EMPLOYEES_MV1 HR FAST Y 21-OCT-03 FAST JOBS_MV1 HR FAST Y 21-OCT-03 FAST JOB_HISTORY_MV1 HR FAST Y 21-OCT-03 FAST LOCATIONS_MV1 HR FAST Y 21-OCT-03 FAST REGIONS_MV1 HR FAST Y 21-OCT-03 FAST
マテリアライズド・ビュー・サイトにある各リフレッシュ・グループには、設定された間隔でリフレッシュ・グループのマテリアライズド・ビューをリフレッシュする、リフレッシュ・ジョブが対応付けられています。DBA_REFRESH
データ・ディクショナリ・ビューの問合せにより、マテリアライズド・ビュー・サイトにあるリフレッシュ・ジョブに関する次の情報をリストできます。
リフレッシュ・グループの名前。
リフレッシュ・グループの所有者。
リフレッシュ・ジョブが中断されているかどうか。
次回リフレッシュ・ジョブが実行される日付および時刻。
リフレッシュ・ジョブの現在の間隔設定。間隔設定では、ジョブの開始と同じジョブの次回の開始の間の、時間の長さを指定します。
次の問合せでこの情報が表示されます。
COLUMN RNAME HEADING 'Refresh|Group|Name' FORMAT A10 COLUMN ROWNER HEADING 'Refresh|Group|Owner' FORMAT A10 COLUMN BROKEN HEADING 'Broken?' FORMAT A7 COLUMN next_refresh HEADING 'Next Refresh' COLUMN INTERVAL HEADING 'Interval' FORMAT A20 SELECT RNAME, ROWNER, BROKEN, TO_CHAR(NEXT_DATE, 'DD-MON-YYYY HH:MI:SS AM') next_refresh, INTERVAL FROM DBA_REFRESH ORDER BY 1;
出力は次のようになります。
Refresh Refresh Group Group Name Owner Broken? Next Refresh Interval ---------- ---------- ------- ----------------------- -------------------- HR_REFG MVIEWADMIN N 24-OCT-2003 07:18:44 AM SYSDATE + 1/24
Broken?
列のN
は、ジョブが中断されていないことを意味します。したがって、リフレッシュ・ジョブは次回開始時刻に実行されます。この列のY
は、ジョブが中断されていることを意味します。
この項の問合せを使用して、マテリアライズド・ビュー・サイトにあるリフレッシュ・ジョブに関する次の情報をリストできます。
各リフレッシュ・ジョブのジョブ識別番号。DBMS_JOB
パッケージで作成された各ジョブには、一意の識別番号が割り当てられます。
権限スキーマ。権限スキーマとは、ジョブに適用されるデフォルトの権限を所有するスキーマです。
各リフレッシュ・ジョブを所有するスキーマ。通常は、マテリアライズド・ビュー管理者がリフレッシュ・ジョブを所有します。マテリアライズド・ビュー管理者の共通ユーザー名はmviewadmin
です。
ジョブがリフレッシュするリフレッシュ・グループの名前。
リフレッシュ・ジョブのステータスが通常か中断か。
次の問合せでこの情報が表示されます。
COLUMN JOB HEADING 'Job ID' FORMAT 999999 COLUMN PRIV_USER HEADING 'Privilege|Schema' FORMAT A10 COLUMN RNAME HEADING 'Refresh|Group|Name' FORMAT A10 COLUMN ROWNER HEADING 'Refresh|Group|Owner' FORMAT A10 COLUMN BROKEN HEADING 'Broken?' FORMAT A7 SELECT J.JOB, J.PRIV_USER, R.ROWNER, R.RNAME, J.BROKEN FROM DBA_REFRESH R, DBA_JOBS J WHERE R.JOB = J.JOB ORDER BY 1;
出力は次のようになります。
Refresh Refresh Privilege Group Group Job ID Schema Owner Name Broken? ------- ---------- ---------- ---------- ------- 21 MVIEWADMIN MVIEWADMIN HR_REFG N
Broken?
列のN
は、ジョブが中断されていないことを意味します。したがって、ジョブは次回開始時刻に実行されます。この列のY
は、ジョブが中断されていることを意味します。
次の問合せは、現在リフレッシュしているマテリアライズド・ビューを示します。
COLUMN SID HEADING 'Session|Identifier' FORMAT 9999 COLUMN SERIAL# HEADING 'Serial|Number' FORMAT 999999 COLUMN CURRMVOWNER HEADING 'Owner' FORMAT A15 COLUMN CURRMVNAME HEADING 'Materialized|View' FORMAT A25 SELECT * FROM V$MVREFRESH;
出力は次のようになります。
Session Serial Materialized Identifier Number Owner View ---------- ------- --------------- ------------------------- 19 233 HR COUNTRIES_MV 5 647 HR EMPLOYEES_MV
注意: マテリアライズド・ビューの遅延トランザクションがマスターにプッシュされているときは、V$MVREFRESH 動的パフォーマンス・ビューに、更新可能なマテリアライズド・ビューの情報は含まれません。 |
この項では、マスター・サイトにある管理要求の情報を表示するために実行できる問合せを示します。この項には、次の項目が含まれます。
この項の問合せを使用して、マスター・サイトにある管理要求に関する次の一般情報をリストできます。
各管理要求の識別番号
各管理要求が要求するアクション
各要求のステータス
要求が実行されるマスター・サイト
次の問合せでこの情報が表示されます。
COLUMN ID HEADING 'Admin|Request|ID' FORMAT 999999 COLUMN REQUEST HEADING 'Request' FORMAT A25 COLUMN STATUS HEADING 'Status' FORMAT A15 COLUMN MASTER HEADING 'Master|Site' FORMAT A25 SELECT ID, REQUEST, STATUS, MASTER FROM DBA_REPCATLOG;
出力は次のようになります。
Admin Request Master ID Request Status Site ------- ------------------------- --------------- ------------------------- 44 RESUME_MASTER_ACTIVITY AWAIT_CALLBACK ORC3.EXAMPLE.COM
DBMS_REPCAT
パッケージのDO_DEFERRED_REPCAT_ADMIN
プロシージャを使用して、管理要求を実行できます。
管理要求エラーの原因を、エラー・メッセージを表示して判定できます。次の問合せは、エラーとなった各管理要求に関するエラー・メッセージを表示します。
COLUMN ID HEADING 'Admin|Request|ID' FORMAT 999999 COLUMN REQUEST HEADING 'Request' FORMAT A30 COLUMN ERRNUM HEADING 'Error|Number' FORMAT 999999 COLUMN MESSAGE HEADING 'Error|Message' FORMAT A32 SELECT ID, REQUEST, ERRNUM, MESSAGE FROM DBA_REPCATLOG WHERE STATUS = 'ERROR';
出力は次のようになります。
Admin Request Error Error ID Request Number Message ------- ------------------------------ ------- ------------------------------ 70 CREATE_MASTER_REPOBJECT -2292 ORA-02292: integrity constrain t (HR.DEPT_LOC_FK) violated - child record found ORA-02266: unique/primary keys in table referenced by enable d foreign keys 71 GENERATE_INTERNAL_PKG_SUPPORT -23308 ORA-23308: object HR.LOCATIONS does not exist or is invalid
各マスター・グループには、管理要求を実行するdo_deferred_repcat_admin
ジョブが対応付けられています。DBA_JOBS
データ・ディクショナリ・ビューの問合せにより、レプリケーション・サイトにあるこのジョブに関する次の情報をリストできます。
各do_deferred_repcat_admin
ジョブのジョブ識別番号。DBMS_JOB
パッケージで作成された各ジョブには、一意の識別番号が割り当てられます。
権限スキーマ。権限スキーマとは、ジョブに適用されるデフォルトの権限を所有するスキーマです。
各do_deferred_repcat_admin
ジョブのステータスが通常か中断か。
次回各do_deferred_repcat_admin
ジョブが実行される日付および時刻。
各do_deferred_repcat_admin
ジョブの現在の間隔設定。間隔設定では、ジョブの開始と同じジョブの次回の開始の間の、時間の長さを指定します。
次の問合せでこの情報が表示されます。
COLUMN JOB HEADING 'Job ID' FORMAT 999999 COLUMN PRIV_USER HEADING 'Privilege|Schema' FORMAT A10 COLUMN BROKEN HEADING 'Broken?' FORMAT A7 COLUMN next_start HEADING 'Next Start' COLUMN INTERVAL HEADING 'Interval' FORMAT A20 SELECT JOB, PRIV_USER, BROKEN, TO_CHAR(NEXT_DATE,'DD-MON-YYYY HH:MI:SS AM') next_start, INTERVAL FROM DBA_JOBS WHERE WHAT LIKE '%dbms_repcat.do_deferred_repcat_admin%' ORDER BY 1;
出力は次のようになります。
Privilege Job ID Schema Broken? Next Start Interval ------- ---------- ------- ----------------------- -------------------- 24 REPADMIN N 24-OCT-2003 07:23:48 AM SYSDATE + (1/144)
Broken?
列のN
は、ジョブが中断されていないことを意味します。したがって、ジョブは次回開始時刻に実行されます。この列のY
は、ジョブが中断されていることを意味します。
DBA_JOBS
データ・ディクショナリ・ビューの問合せにより、レプリケーション・サイトにある各do_deferred_repcat_admin
ジョブの定義を表示できます。次の問合せで定義が表示されます。
COLUMN JOB HEADING 'Job ID' FORMAT 999999 COLUMN WHAT HEADING 'Definitions of Admin Req Jobs' FORMAT A70 SELECT JOB, WHAT FROM DBA_JOBS WHERE WHAT LIKE '%dbms_repcat.do_deferred_repcat_admin%' ORDER BY 1;
出力は次のようになります。
Job ID Definitions of Admin Req Jobs ------- ---------------------------------------------------------------------- 321 dbms_repcat.do_deferred_repcat_admin('"HR_REPG"', FALSE); 342 dbms_repcat.do_deferred_repcat_admin('"OE_RG"', FALSE);
この項では、レプリケーション・サイトにある遅延トランザクション・キューの情報を表示するために実行できる問合せを示します。この項には、次の項目が含まれます。
この項では、遅延トランザクション・キューにあるトランザクションの伝播の情報を表示するために実行できる問合せを示します。
この項の問合せを実行することにより、各接続先マスター・サイトの伝播されていない遅延トランザクションの数がわかります。この問合せは、カレント・マスター・サイトが遅延トランザクションを伝播している各マスター・サイトを示し、かつ各接続先サイトに伝播される遅延トランザクションの数を示します。
次の問合せを実行し、遅延トランザクションおよびエラー・トランザクションの数を確認します。
COLUMN DEST HEADING 'Destination' FORMAT A45 COLUMN TRANS HEADING 'Def Trans' FORMAT 9999 SELECT DBLINK DEST, COUNT(*) TRANS FROM DEFTRANDEST D GROUP BY DBLINK;
出力は次のようになります。
Destination Def Trans --------------------------------------------- --------- ORC2.EXAMPLE.COM 1 ORC3.EXAMPLE.COM 1
注意: 伝播されるのを待っているトランザクションが多数ある場合、この問合せは高コストになる場合があります。 |
レプリケーション・サイトにある各スケジュール・リンクには、遅延トランザクション・キューにある遅延トランザクションを接続先サイトに伝播する、プッシュ・ジョブが対応付けられています。この項の問合せを使用して、レプリケーション・サイトにあるプッシュ・ジョブに関する次の情報をリストできます。
各プッシュ・ジョブのジョブ識別番号。DBMS_JOB
パッケージで作成された各ジョブには、一意の識別番号が割り当てられます。
権限スキーマ。権限スキーマとは、ジョブに適用されるデフォルトの権限を所有するスキーマです。
遅延トランザクションがプッシュされる接続先サイト。
プッシュ・ジョブのステータスが通常か中断か。
次の問合せでこの情報が表示されます。
COLUMN JOB HEADING 'Job ID' FORMAT 999999 COLUMN PRIV_USER HEADING 'Privilege|Schema' FORMAT A10 COLUMN DBLINK HEADING 'Destination' FORMAT A40 COLUMN BROKEN HEADING 'Broken?' FORMAT A7 SELECT J.JOB, J.PRIV_USER, S.DBLINK, J.BROKEN FROM DEFSCHEDULE S, DBA_JOBS J WHERE S.DBLINK != (SELECT GLOBAL_NAME FROM GLOBAL_NAME) AND S.JOB = J.JOB ORDER BY 1;
出力は次のようになります。
Privilege Job ID Schema Destination Broken? ------- ---------- ---------------------------------------- ------- 22 REPADMIN ORC2.EXAMPLE.COM N 23 REPADMIN ORC3.EXAMPLE.COM N
Broken?
列のN
は、ジョブが中断されていないことを意味します。したがって、ジョブは次回開始時刻に実行されます。この列のY
は、ジョブが中断されていることを意味します。
レプリケーション・サイトにある各スケジュール・リンクには、遅延トランザクション・キューにある遅延トランザクションを接続先サイトに伝播する、プッシュ・ジョブが対応付けられています。DEFSCHEDULE
およびDBA_JOBS
データ・ディクショナリ・ビューの問合せにより、レプリケーション・サイトにあるプッシュ・ジョブに関する次の情報をリストできます。
各プッシュ・ジョブのジョブ識別番号。DBMS_JOB
パッケージで作成された各ジョブには、一意の識別番号が割り当てられます。
遅延トランザクションがプッシュされる接続先サイト。
次回プッシュ・ジョブが実行される日付および時刻。
プッシュ・ジョブの現在の間隔設定。間隔設定では、ジョブの開始と同じジョブの次回の開始の間の、時間の長さを指定します。
次の問合せでこの情報が表示されます。
COLUMN JOB HEADING 'Job ID' FORMAT 999999 COLUMN DBLINK HEADING 'Destination' FORMAT A22 COLUMN next_start HEADING 'Next Start' COLUMN INTERVAL HEADING 'Interval' FORMAT A25 SELECT JOB, DBLINK, TO_CHAR(NEXT_DATE, 'DD-MON-YYYY HH:MI:SS AM') next_start, INTERVAL FROM DEFSCHEDULE WHERE DBLINK != (SELECT GLOBAL_NAME FROM GLOBAL_NAME) AND JOB IS NOT NULL ORDER BY 1;
出力は次のようになります。
Job ID Destination Next Start Interval ------- ---------------------- ----------------------- ------------------------- 22 ORC2.EXAMPLE.COM 24-OCT-2003 07:23:48 AM SYSDATE + (1/144) 23 ORC3.EXAMPLE.COM 24-OCT-2003 07:23:48 AM SYSDATE + (1/144)
この項では、遅延トランザクション・キューから正常に伝播されたトランザクションの、パージの情報を表示するために実行できる問合せを示します。
レプリケーション・サイトの標準設定の途中でパージ・ジョブを構成して、正常に伝播されたトランザクションを遅延トランザクション・キューから削除します。DBA_JOBS
データ・ディクショナリ・ビューの問合せにより、レプリケーション・サイトにあるパージ・ジョブに関する次の情報をリストできます。
パージ・ジョブのジョブ識別番号。DBMS_JOB
パッケージで作成された各ジョブには、一意の識別番号が割り当てられます。
権限スキーマ。権限スキーマとは、ジョブに適用されるデフォルトの権限を所有するスキーマです。
ジョブのステータスが通常か中断か。
次回パージ・ジョブが実行される日付および時刻。
パージ・ジョブの現在の間隔設定。間隔設定では、ジョブの開始と同じジョブの次回の開始の間の、時間の長さを指定します。
次の問合せでこの情報が表示されます。
COLUMN JOB HEADING 'Job ID' FORMAT 999999 COLUMN PRIV_USER HEADING 'Privilege|Schema' FORMAT A10 COLUMN BROKEN HEADING 'Broken?' FORMAT A7 COLUMN next_start HEADING 'Next Start' COLUMN INTERVAL HEADING 'Interval' FORMAT A25 SELECT JOB, PRIV_USER, BROKEN, TO_CHAR(NEXT_DATE, 'DD-MON-YYYY HH:MI:SS AM') next_start, INTERVAL FROM DBA_JOBS WHERE WHAT LIKE '%dbms_defer_sys.purge%' ORDER BY 1;
出力は次のようになります。
Privilege Job ID Schema Broken? Next Start Interval ------- ---------- ------- ----------------------- ------------------------- 21 REPADMIN N 24-OCT-2003 07:42:18 AM SYSDATE + 1/24
Broken?
列のN
は、ジョブが中断されていないことを意味します。したがって、ジョブは次回開始時刻に実行されます。この列のY
は、ジョブが中断されていることを意味します。
DBA_JOBS
データ・ディクショナリ・ビューの問合せにより、レプリケーション・サイトにあるパージ・ジョブの定義を表示できます。次の問合せで定義が表示されます。
SELECT WHAT "Definition of the Purge Job" FROM DBA_JOBS WHERE WHAT LIKE '%dbms_defer_sys.purge%' ORDER BY 1;
出力は次のようになります。
Definition of the Purge Job -------------------------------------------------------------------------------- declare rc binary_integer; begin rc := sys.dbms_defer_sys.purge( delay_seconds=> 0); end;
この項では、レプリケーション・サイトにあるエラー・キューの情報を表示するために実行できる問合せを示します。エラー・キューには接続先サイトでエラーになった遅延トランザクションが含まれます。このエラー・トランザクションは接続先サイトでエラー・キューに入れられます。
この項には、次の項目が含まれます。
次の問合せは、レプリケーション・サイトにあるエラー・トランザクションの一般情報をリストします。
COLUMN DEFERRED_TRAN_ID HEADING 'Deferred|Transaction|ID' FORMAT A11 COLUMN ORIGIN_TRAN_DB HEADING 'Origin|Database' FORMAT A15 COLUMN DESTINATION HEADING 'Destination|Database' FORMAT A15 COLUMN TIME_OF_ERROR HEADING 'Time of|Error' FORMAT A22 COLUMN ERROR_NUMBER HEADING 'Oracle|Error|Number' FORMAT 999999 SELECT DEFERRED_TRAN_ID, ORIGIN_TRAN_DB, DESTINATION, TO_CHAR(START_TIME, 'DD-Mon-YYYY hh24:mi:ss') TIME_OF_ERROR, ERROR_NUMBER FROM DEFERROR ORDER BY START_TIME;
出力は次のようになります。
Deferred Oracle Transaction Origin Destination Time of Error ID Database Database Error Number ----------- ---------------- ---------------- ---------------------- ------- 1.8.2470 ORC2.EXAMPLE.COM ORC1.EXAMPLE.COM 22-Oct-2003 07:19:14 1403
遅延トランザクションIDと接続先データベースを使用して、エラー原因となったトランザクションの再実行またはエラーの削除ができます。
たとえば、前の例のトランザクションを再実行するには、次のように入力します。
EXECUTE DBMS_DEFER_SYS.EXECUTE_ERROR('1.8.2470', 'ORC1.EXAMPLE.COM');
前の例のエラーを削除するには、次のように入力します。
EXECUTE DBMS_DEFER_SYS.DELETE_ERROR('1.8.2470', 'ORC1.EXAMPLE.COM');
通常は、エラーを手動で解決した場合のみ、エラーを削除します。
トランザクションをリモート・マスター・サイトに伝播するとき、正常に伝播されて適用されるトランザクションがある一方、リモート・マスター・サイトでエラーになるトランザクションがある場合があります。エラーになるトランザクションはエラー・トランザクションと呼ばれます。
次の問合せを実行して、リモート・マスター・サイトorc2.example.com
への伝播から発生したエラー・トランザクションの割合を表示します。
SELECT DECODE(TOTAL_TXN_COUNT, 0, 'No Transactions', (TOTAL_ERROR_COUNT/TOTAL_TXN_COUNT)*100) "ERROR PERCENTAGE" FROM DEFSCHEDULE WHERE DBLINK = 'ORC2.EXAMPLE.COM';
出力は次のようになります。
Error Percentage ---------------- 3.265
注意: この問合せが'No transactions' を戻す場合は、統計が最後に消去されて以降、指定されたリモート・サイトに伝播されたトランザクションはありません。 |
この項の問合せを実行することにより、各起点マスター・サイトによるプッシュから発生したトランザクション・エラーの数を検索できます。
次の問合せを実行し、遅延トランザクションおよびエラー・トランザクションの数を確認します。
COLUMN SOURCE HEADING 'Origin' FORMAT A45 COLUMN ERRORS HEADING 'Def Trans Errors' FORMAT 9999 SELECT E.ORIGIN_TRAN_DB SOURCE, COUNT(*) ERRORS FROM DEFERROR E GROUP BY E.ORIGIN_TRAN_DB;
出力は次のようになります。
Origin Def Trans Errors --------------------------------------------- ---------------- ORC2.EXAMPLE.COM 1 ORC3.EXAMPLE.COM 3
次の問合せは、レプリケーション・サイトにあるエラー・トランザクションに関するエラー・メッセージをリストします。
COLUMN DEFERRED_TRAN_ID HEADING 'Deferred|Transaction|ID' FORMAT A11 COLUMN ERROR_MSG HEADING 'Error Messages' FORMAT A68 SELECT DEFERRED_TRAN_ID, ERROR_MSG FROM DEFERROR;
出力は次のようになります。
Deferred Transaction ID Error Messages ----------- -------------------------------------------------------------------- 1.8.2470 ORA-01403: no data found
次の問合せは、レプリケーション・サイトでエラー原因となった各コールに関して試みられた操作のタイプをリストします。
COLUMN CALLNO HEADING 'Call|Number' FORMAT 9999 COLUMN DEFERRED_TRAN_ID HEADING 'Deferred|Transaction|ID' FORMAT A11 COLUMN PACKAGENAME HEADING 'Package|Name' FORMAT A20 COLUMN PROCNAME HEADING 'Operation' FORMAT A15 COLUMN ORIGIN_TRAN_DB HEADING 'Origin|Database' FORMAT A16 SELECT /*+ ORDERED */ C.CALLNO, C.DEFERRED_TRAN_ID, C.PACKAGENAME, C.PROCNAME, E.ORIGIN_TRAN_DB FROM DEFERROR E, DEFCALL C WHERE C.DEFERRED_TRAN_ID = E.DEFERRED_TRAN_ID AND C.CALLNO = E.CALLNO ORDER BY E.START_TIME;
出力は次のようになります。
Deferred Call Transaction Package Origin Number ID Name Operation Database ------ ----------- -------------------- --------------- ---------------- 0 1.8.2470 EMPLOYEES$RP REP_UPDATE ORC2.EXAMPLE.COM
この項では、マスター・レプリケーション環境のパフォーマンスを監視するために実行できる問合せを示します。この項には、次の項目が含まれます。
次の問合せは、インスタンス起動以降のレプリケーション・トランザクションの行変更の平均数を示します。
SELECT DECODE(TXNS_ENQUEUED, 0, 'No Transactions Enqueued', (CALLS_ENQUEUED / TXNS_ENQUEUED)) "Average Number of Row Changes" FROM V$REPLQUEUE;
出力は次のようになります。
Average Number of Row Changes ----------------------------- 56.16
注意: この問合せが'No Transactions Enqueued' を戻す場合は、インスタンスの開始以降エンキューされたトランザクションはありません。 |
次の問合せは、インスタンス起動以降、現在のサイトで遅延トランザクション・キューに入るトランザクションの1秒ごとの平均数を示します。
SELECT (R.TXNS_ENQUEUED / ((SYSDATE - I.STARTUP_TIME)*24*60*60)) "Average TPS" FROM V$REPLQUEUE R, V$INSTANCE I;
出力は次のようになります。
Average TPS ----------- 150
遅延トランザクションの伝播は、ネットワークに一定の通信量を発生させます。ここでトランザクションにより発生するネットワークの通信量とは、送受信されるバイト数と、トランザクションの伝播に必要なネットワーク・ラウンドトリップの数です。
ラウンドトリップとは、連続して受信される1つ以上のメッセージが後に続く、連続して送信される1つ以上のメッセージです。たとえば、次の場合はどちらも1つのラウンドトリップです。
サイトAがサイトBに1つのメッセージを送信し、次にサイトBがサイトAに1つのメッセージを送信します。
サイトAがサイトBに20のメッセージを送信し、次にサイトBがサイトAに20つのメッセージを送信します。
これは、ラウンドトリップの数とはサイト間の往復通信の数であり、ラウンドトリップの数を評価するときは、メッセージの数は無関係であることを示しています。
次の問合せは、トランザクションをorc2.example.com
リモート・マスター・サイトに伝播するときに発生するネットワークの平均通信量を示します。
COLUMN AV_BYTES HEADING 'Average Bytes' FORMAT 999999999 COLUMN AV_TRIPS HEADING 'Average Round Trips' FORMAT 9999999 SELECT DECODE(TOTAL_TXN_COUNT, 0, 'No Transactions', ((TOTAL_BYTES_SENT + TOTAL_BYTES_RECEIVED) / TOTAL_TXN_COUNT)) AV_BYTES, DECODE(TOTAL_TXN_COUNT, 0, 'No Transactions', (TOTAL_ROUND_TRIPS / TOTAL_TXN_COUNT)) AV_TRIPS FROM DEFSCHEDULE WHERE DBLINK = 'ORC2.EXAMPLE.COM';
出力は次のようになります。
Average Bytes Average Round Trips ---------------------- ------------------- 69621.5 5
注意:
|
平均待機時間とは、現在のサイトでのトランザクションの最初のコールと、リモート・サイトでトランザクションが適用されたことの確認の間の、平均秒数です。最初のコールはトランザクションがコミットされた時点ではなく、ユーザーが最初にデータ操作言語(DML)に変更を加えた時点から開始されます。
次の問合せは、トランザクションをリモート・マスター・サイトorc2.example.com
で適用するための平均待機時間を示します。
SELECT AVG_LATENCY "Average Latency" FROM DEFSCHEDULE WHERE DBLINK='ORC2.EXAMPLE.COM';
出力は次のようになります。
Average Latency --------------- 25.5
パラレル伝播コーディネータがアクティブでないことを、スリープしているといいます。伝播コーディネータがスリープ状態になる時間の長さは、DBMS_DEFER_SYS.PUSH
プロシージャのdelay_seconds
パラメータを使用して制御します。
次の問合せは、トランザクションをorc2.example.com
リモート・マスター・サイトに伝播するとき、パラレル伝播コーディネータがスリープに費やす時間の割合を示します。
SELECT DECODE(AVG_THROUGHPUT, 0, NULL, ((TOTAL_SLEEP_TIME / (TOTAL_TXN_COUNT / AVG_THROUGHPUT)) * 100)) "Percent Sleep Time" FROM DEFSCHEDULE WHERE DBLINK = 'ORC2.EXAMPLE.COM';
出力は次のようになります。
Percent Sleep Time ------------------ 2
この場合では、パラレル伝播コーディネータは98%の時間アクティブです。
注意: この問合せがNULL を戻す場合は、統計が最後に消去されて以降、または最後のデータベース起動以降、指定されたリモート・サイトに伝播されたトランザクションはありません。 |
特定のリモート・マスター・サイトに関するDEFSCHEDULE
ビューの伝播統計を消去するには、DBMS_DEFER_SYS
パッケージのCLEAR_PROP_STATISTICS
プロシージャを使用します。たとえば、orc2.example.com
リモート・マスター・サイトに関する伝播統計を消去するには、次のプロシージャを実行します。
BEGIN DBMS_DEFER_SYS.CLEAR_PROP_STATISTICS ( dblink => 'ORC2.EXAMPLE.COM'); END; /
V$REPLPROP
動的パフォーマンス・ビューは、現在のパラレル伝播セッションの情報を提供します。
注意: V$REPLPROP 動的パフォーマンス・ビューは、遅延トランザクションのパラレル伝播を使用している場合にのみ関係します。シリアル伝播を使用している場合は、このビューは空です。 |
次の問合せを実行して、現在パラレル伝播を使用して遅延トランザクションを伝播している各データベースの、データベース・リンクをリストします。
SELECT DBLINK "Database Link" FROM V$REPLPROP WHERE NAME LIKE '%Coordinator%';
出力は次のようになります。
Database Link ----------------- ORC2.EXAMPLE.COM ORC3.EXAMPLE.COM
現在パラレル伝播を使用して特定のリモート・マスター・サイトに伝播されているトランザクションの情報に関しては、次の情報をリストできます。
各トランザクションのトランザクション識別番号。
各トランザクションのコールの数。
各トランザクションの処理済のコールの割合。この列の数値は、トランザクションのコールが処理されるに従って増加します。数値が100になったときは、すべてのコールが処理済です。
次の問合せでこの情報が表示されます。
SELECT /*+ ORDERED */ P.XID "Tran Being Propagated", (MAX(C.CALLNO) + 1) "Number of Calls in Tran", (P.SEQUENCE/MAX(C.CALLNO) + 1) * 100 "% Processed Calls" FROM V$REPLPROP P, DEFCALL C WHERE P.NAME LIKE '%SLAVE%' AND P.DBLINK = 'mv4.example.com' AND C.DEFERRED_TRAN_ID = P.XID GROUP BY P.XID, P.SEQUENCE;
出力は次のようになります。
Tran Being Propagated Number of Calls in Tran % Processed Calls ---------------------- ----------------------- ----------------- 1.11.4264 43357 78 1.15.4256 23554 49
既存のトランザクションがプッシュされて新しいトランザクションが処理されると同時に、トランザクション識別番号は変更される必要があります。この問合せは、レプリケーション環境に次の条件のいずれかが該当する場合に特に役立ちます。
多数のトランザクションを定期的にプッシュする場合。
非常に大きなトランザクションがいくつかある場合。
非同期伝播を使用した連続的なプッシュのシミュレーションを行う場合。
レプリケーション環境に最初の2つの条件が該当する場合は、この問合せを実行して、プロセスがトランザクションをプッシュしているかどうかをチェックできます。このタイプの環境では、トランザクションをプッシュしていないときはプロセスが存在しません。
連続的な送信のシミュレーションを行っているレプリケーション環境では、遅延トランザクション・キューにプッシュすべきトランザクションがあるときは必ずプロセスが存在します。プッシュすべきトランザクションが存在しないときは、プロセスが存在しない場合があります。このため、プッシュすべきトランザクションがあるときは、この問合せを実行して、プロセスが存在してトランザクションを処理しているかどうかを確認できます。
関連項目: レプリケーション環境での連続的なプッシュのスケジューリングの詳細は、『Oracle Databaseアドバンスト・レプリケーション』を参照してください。 |