ヘッダーをスキップ
Oracle Databaseアドバンスト・レプリケーション・マネージメントAPIリファレンス
11g リリース1(11.1)
E05779-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

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

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

この章では、次の項目を説明します。


注意:

第III部の章で説明する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のプロシージャおよびファンクションの多くには、いくつかの重要な考慮事項があります。次に例を示します。

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

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

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

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

データ型 略称
TIMESTAMP 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ファンクションを実行します。