135 DBMS_PROPAGATION_ADM
DBMS_PROPAGATION_ADM
パッケージのセットの1つであるDBMS_PROPAGATION_ADMパッケージは、ソース・キューから宛先キューへの伝播を構成するための管理インタフェースを提供します。
この章のトピックは、次のとおりです:
135.2 DBMS_PROPAGATION_ADMのセキュリティ・モデル
このパッケージのセキュリティは、選択したユーザーまたはロールにこのパッケージのEXECUTE
権限を付与するか、選択したユーザーまたはロールにEXECUTE_CATALOG_ROLE
を付与することで制御できます。
パッケージのサブプログラムをストアド・プロシージャ内から実行する場合、そのサブプログラムを実行するユーザーには、パッケージのEXECUTE
権限を直接付与する必要があります。ロールを通して付与することはできません。
DBMS_PROPAGATION_ADM
パッケージを使用してOracle Replication構成を管理する場合、ユーザーには、Oracle Replication管理者の権限を付与する必要があります。
135.3 DBMS_PROPAGATION_ADMサブプログラムの要約
この表は、DBMS_PROPAGATION_ADM
サブプログラムを示し、簡単に説明しています。
表135-1 DBMS_PROPAGATION_ADMパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
伝播のルール・セットを追加、変更または削除します。 |
|
伝播を作成し、その伝播のソース・キュー、宛先キューおよびルール・セットを指定します。 |
|
伝播を削除します。 |
|
伝播を開始します。 |
|
伝播を停止します。 |
ノート:
特に指定がないかぎり、すべてのサブプログラムがコミットされます。
135.3.1 ALTER_PROPAGATIONプロシージャ
このプロシージャは、伝播のルール・セットを追加、変更または削除します。
構文
DBMS_PROPAGATION_ADM.ALTER_PROPAGATION( propagation_name IN VARCHAR2, rule_set_name IN VARCHAR2 DEFAULT NULL, remove_rule_set IN BOOLEAN DEFAULT FALSE, negative_rule_set_name IN VARCHAR2 DEFAULT NULL, remove_negative_rule_set IN BOOLEAN DEFAULT FALSE);
パラメータ
表135-2 ALTER_PROPAGATIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
変更する伝播の名前。既存の伝播名を指定する必要があります。所有者を指定しないでください。 |
|
伝播に使用するポジティブ・ルール・セット名。ポジティブ・ルール・セットには、伝播でメッセージを伝播するように指示するルールが含まれます。 ポジティブ・ルール・セットを伝播に使用する場合は、既存のルール・セットを 指定したルール・セットが存在しない場合は、エラーが戻されます。
|
|
伝播のポジティブ・ルール・セットを削除し、ネガティブ・ルール・セットが伝播に存在する場合は、そのネガティブ・ルール・セットによって廃棄されなかった該当キュー内のメッセージすべてが、伝播によって伝播されます。
|
|
伝播に使用するネガティブ・ルール・セット名。ネガティブ・ルール・セットには、伝播でメッセージを廃棄するように指示するルールが含まれます。 ネガティブ・ルール・セットを伝播に使用する場合は、既存のルール・セットを 指定したルール・セットが存在しない場合は、エラーが戻されます。
ポジティブ・ルール・セットとネガティブ・ルール・セットの両方を伝播に指定した場合は、常にネガティブ・ルール・セットが先に評価されます。 |
|
伝播のネガティブ・ルール・セットを削除し、ポジティブ・ルール・セットが伝播に存在する場合は、そのポジティブ・ルール・セットによって廃棄されなかった該当キュー内のメッセージすべてが、伝播によって伝播されます。
|
135.3.2 CREATE_PROPAGATIONプロシージャ
このプロシージャは伝播を作成し、その伝播のソース・キュー、宛先キューおよび任意のルール・セットを指定します。伝播によって、ローカル・ソース・キューのメッセージが宛先キューに伝播されます。宛先キューは、ソース・キューと同じデータベース内にある場合と、ない場合があります。
構文
DBMS_PROPAGATION_ADM.CREATE_PROPAGATION( propagation_name IN VARCHAR2, source_queue IN VARCHAR2, destination_queue IN VARCHAR2, destination_dblink IN VARCHAR2 DEFAULT NULL, rule_set_name IN VARCHAR2 DEFAULT NULL, negative_rule_set_name IN VARCHAR2 DEFAULT NULL, queue_to_queue IN BOOLEAN DEFAULT NULL, original_propagation_name IN VARCHAR2 DEFAULT NULL, auto_merge_threshold IN NUMBER DEFAULT NULL);
パラメータ
表135-3 CREATE_PROPAGATIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
作成する伝播の名前。 ノート: |
|
ソース・キューの名前で、 たとえば、 |
|
宛先キューの名前。 たとえば、 |
|
伝播で使用するデータベース・リンクの名前。データベース・リンクとは、ソース・キューが含まれているデータベースから宛先キューが含まれているデータベースへのリンクです。
ノート: 接続修飾子は使用できません。 |
|
伝播に使用するポジティブ・ルール・セット名。ポジティブ・ルール・セットには、伝播でメッセージを伝播するように指示するルールが含まれます。 ポジティブ・ルール・セットを伝播に使用する場合は、既存のルール・セットを 指定したルール・セットが存在しない場合は、エラーが戻されます。
|
|
伝播に使用するネガティブ・ルール・セット名。ネガティブ・ルール・セットには、伝播でメッセージを廃棄するように指示するルールが含まれます。 ネガティブ・ルール・セットを伝播に使用する場合は、既存のルール・セットを 指定したルール・セットが存在しない場合は、エラーが戻されます。
ポジティブ・ルール・セットとネガティブ・ルール・セットの両方を伝播に指定した場合は、常にネガティブ・ルール・セットが先に評価されます。 |
|
|
|
作成する伝播が分割およびマージ操作の一部である場合は、元の伝播名を指定します。分割操作は、新しい名前で元の伝播のクローンを作成します。元の伝播の名前は、クローニングされた伝播が元のストリームにコピーされるときに重要です。 作成中の伝播が分割操作およびマージ操作の一部ではない場合は、 |
|
次の両方の条件を満たす場合は、正数を指定します。
次のいずれかの条件を満たす場合は、
|
使用上のノート
このプロシージャによって伝播が開始され、伝播ジョブが作成される場合もあります。このプロシージャによって伝播ジョブが作成される場合は、これによって伝播ジョブのデフォルトのスケジュールが確立されます。各伝播ジョブはOracle Schedulerジョブです。Oracle Schedulerを使用して、伝播ジョブのスケジュールを調整できます。
ソース・キューを所有するユーザーが、メッセージを伝播するユーザーです。このユーザーには、メッセージを伝播するための権限が必要です。
参照:
135.3.3 DROP_PROPAGATIONプロシージャ
このプロシージャは、伝播を削除し、ソース・キューで宛先キューへのすべてのメッセージを削除します。また、このプロシージャによって、ソース・キューから宛先キューへの伝播スケジュールも削除されます。
構文
DBMS_PROPAGATION_ADM.DROP_PROPAGATION( propagation_name IN VARCHAR2, drop_unused_rule_sets IN BOOLEAN DEFAULT FALSE);
パラメータ
表135-4 DROP_PROPAGATIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
削除する伝播の名前。既存の伝播名を指定する必要があります。所有者を指定しないでください。 |
|
|
使用上のノート
このプロシージャを使用して伝播を削除すると、その伝播に対して作成されたルールに関する情報が、Oracle Replicationルールのデータ・ディクショナリ・ビューから削除されます。そのルールが削除対象の伝播のすべてのルール・セットに存在しない場合でも、こうしたルールに関する情報は削除されます。
Oracle Replicationルールのデータ・ディクショナリ・ビューは次のとおりです。
-
ALL_STREAMS_GLOBAL_RULES
-
DBA_STREAMS_GLOBAL_RULES
-
ALL_STREAMS_SCHEMA_RULES
-
DBA_STREAMS_SCHEMA_RULES
-
ALL_STREAMS_TABLE_RULES
-
DBA_STREAMS_TABLE_RULES
ノート:
伝播を削除すると、その伝播で使用されるが、他の伝播では使用されない伝播ジョブも自動的に削除されます。
135.3.4 START_PROPAGATIONプロシージャ
このプロシージャは、伝播を開始します。
構文
DBMS_PROPAGATION_ADM.START_PROPAGATION( propagation_name IN VARCHAR2);
パラメータ
表135-5 START_PROPAGATIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
開始する伝播の名前。既存の伝播名を指定する必要があります。所有者を指定しないでください。 |
使用上のノート
伝播ステータスは永続的に記録されます。したがって、ステータスがENABLED
の場合、伝播はデータベース・インスタンスの起動時に開始されます。
135.3.5 STOP_PROPAGATIONプロシージャ
このプロシージャは、伝播を停止します。
構文
DBMS_PROPAGATION_ADM.STOP_PROPAGATION( propagation_name IN VARCHAR2, force IN BOOLEAN DEFAULT FALSE);
パラメータ
表135-6 STOP_PROPAGATIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
停止する伝播の名前。既存の伝播名を指定する必要があります。所有者を指定しないでください。 |
|
|
使用上のノート
伝播ステータスは永続的に記録されます。したがって、ステータスがDISABLED
またはABORTED
の場合、伝播はデータベース・インスタンスの起動時に開始されません。