ヘッダーをスキップ
Oracle® Databaseアドバンスト・レプリケーション・マネージメントAPIリファレンス
11g リリース2 (11.2)
B72090-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

11 レプリケーション・マネージメントAPIリファレンスの概要

Advanced Replicationをインストールすると、レプリケーション・マネージメントApplication Program Interface(API)もインストールされます。レプリケーション・マネージメントAPIは、管理者が各サイトのレプリケーション機能を設定および管理するための、PL/SQLパッケージのコレクションです。また、Oracle Enterprise ManagerのAdvanced Replicationインタフェースでも、作業の実行に各サイトのレプリケーション・マネージメントAPIのプロシージャやファンクションが使用されます。

この章には、次の項が含まれます。


注意:

この部の章で説明するPL/SQLプロシージャおよびファンクションの一部は、オーバーロードされています。すなわち、1つのパッケージ内に、同一の名前のプロシージャまたはファンクションが複数ありますが、それらの仮パラメータの個数、順序またはデータ型のグループは異なります。オーバーロードされているプロシージャまたはファンクションは、その旨を記述します。オーバーロードおよびPL/SQLの一般情報の詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。

Oracleレプリケーション・マネージメントAPIの使用例

Oracleのレプリケーション・マネージメントAPIを使用するには、SQL*Plusなどの問合せツールを使用して、プロシージャまたはファンクションをコールします。たとえば、次に示すDBMS_REPCAT.CREATE_MASTER_REPOBJECTプロシージャをコールすると、hr_repgレプリケーション・グループ内に新しいレプリケート表hr.employeesが作成されます。

BEGIN
   DBMS_REPCAT.CREATE_MASTER_REPOBJECT (
      gname => 'hr_repg',
      type => 'TABLE',
      oname => 'employees',
      sname => 'hr',
      use_existing_object => TRUE,
      copy_rows => FALSE);
END;
/

レプリケーション・マネージメントAPIファンクションをコールするには、ファンクションの戻り値を受け取る環境を用意する必要があります。たとえば、次に示す無名PL/SQLブロックは、DBMS_DEFER_SYS.DISABLEDファンクションをIF文でコールします。

BEGIN
 IF DBMS_DEFER_SYS.DISABLED ('inst2') THEN
   DBMS_OUTPUT.PUT_LINE('Propagation to INST2 is disabled.');
 ELSE
   DBMS_OUTPUT.PUT_LINE('Propagation to INST2 is enabled.');
 END IF;
END;
/

レプリケーション・マネージメントAPIを使用する際の考慮事項

レプリケーション・マネージメントAPIのプロシージャおよびファンクションの多くには、いくつかの重要な考慮事項があります。次に例を示します。

  • プロシージャやファンクションのいくつかは、マルチマスター構成のマスター定義サイトからのみコールします。

  • マスター・グループに対して特定の管理操作を行う場合は、レプリケーション・マネージメントAPIのプロシージャやファンクションをコールする前に、そのグループのレプリケーション・アクティビティを中断する必要があります。

  • Oracleレプリケーション・マネージメントAPIのプロシージャやファンクションをコールする順序は大変重要です。レプリケーション・マネージメント・コールを発行する方法の詳細は、次の項を参照してください。

Advanced Replicationインタフェースとレプリケーション・マネージメントAPI

Oracle Enterprise ManagerのAdvanced Replicationインタフェースでは、ほとんどのファンクションの実行に、レプリケーション・マネージメントAPIが使用されます。Advanced Replicationインタフェースには次に示す機能が備わっているため、レプリケーション・マネージメントAPIコールを個別に発行するより便利です。

  • APIコールのパラメータの入力および調整を行うGUIインタフェースを用意

  • 大量の関連APIコールを、適切に順序付け

  • APIコールで戻された出力を、メッセージ・ボックスとエラー・ファイルに表示

日時データ型および期間データ型の略称

日時データ型および期間データ型の多くの名前は、レプリケーション・マネージメントAPIのプロシージャおよびファンクションとともに使用するには長すぎます。このため、これらのデータ型に関してはフルネームのかわりに略称を使用する必要があります。各データ型およびその略称を次の表に示します。DATEおよびTIMESTAMPデータ型には略称は必要ありません。

データ型 略称
TIME WITH TIME ZONE TSTZ
TIMESTAMP LOCAL TIME ZONE TSLTZ
INTERVAL YEAR TO MONTH IYM
INTERVAL DAY TO SECOND IDS

たとえば、DBMS_DEFER_QUERY.GET_datatype_ARGファンクションを使用して遅延コールのTIMESTAMP LOCAL TIME ZONE引数を判定する場合は、datatypeのかわりにTSLTZを使用します。したがって、DBMS_DEFER_QUERY.GET_TSLTZ_ARGファンクションを実行します。