DBMS_XSTREAM_ADMこのDBMS_XSTREAM_ADMパッケージは、Oracleデータベースと他のシステム間でデータベースの変更をストリームするためのインタフェースを提供します。XStreamを使用すると、アプリケーションでデータベースの変更をストリーム・アウトまたはストリーム・インできます。この章では、次の項目について説明します。APIリファレンスDBMS_XSTREAM_ADMの使用このセクションには、DBMS_XSTREAM_ADMパッケージの使用に関連したトピックが含まれています。概要このパッケージは、データベースの変更をOracleデータベースから他のシステムにストリームするアウトバウンド・サーバーを構成するためのインタフェースを提供します。このパッケージは、データベースの変更を他のシステムからOracleデータベースにストリームするインバウンド・サーバーを構成するためのインタフェースも提供しています。どちらの場合でも、データベースの変更は論理変更レコード(LCR)にカプセル化されます。他のシステムとしてOracleシステム、または非Oracleシステム(Oracle以外のデータベースまたはファイルシステムなど)も使用できます。XStreamアウトバウンド・サーバーでは、CまたはJavaを使用してLCRをOracleデータベースからプログラム的にストリーム・アウトできます。LCRの受信後、他のシステムは任意にカスタマイズした方法でそのLCRを処理できます。他のシステムではLCRのコンテンツをファイルに保存したり、LCRをXstreamインバウンド・サーバー経由でOracleデータベースに送信したり、SQL文を生成して任意のOracleデータベースまたはOracle以外のデータベースで実行することができます。XStreamインバウンド・サーバーは別のシステムからLCRを受け入れ、そのLCRをOracleデータベースに適用するか、適用ハンドラを使用してカスタマイズした方法で処理します。XStreamは、マルチテナント・コンテナ・データベース(CDB)で使用できます。Databaseです。Database概要』を参照してください。セキュリティ・モデルこのパッケージのサブプログラムを実行するユーザーが必要な権限を持っていることを確認するには、XStream管理者を構成し、このパッケージを使用する際にXStream管理者として接続します。管理者には、次のいずれかのアクションを実行する際にDBAロールが付与される必要があります。アウトバウンド・サーバーに対して構成された接続ユーザーとは異なるユーザーとして接続しているときに、ADD_OUTBOUNDプロシージャを実行する取得プロセスの取得ユーザーを変更、またはアウトバウンド・サーバーの接続ユーザーを変更するために、ALTER_OUTBOUNDプロシージャを実行するCREATE_OUTBOUNDプロシージャで取得プロセスが作成されたために、このプロシージャを実行するインバウンド・サーバーの適用ユーザーを変更するために、ALTER_INBOUNDプロシージャを実行するインバウンド・サーバーに対して構成された適用ユーザーとは異なるユーザーとして接続しているときに、ADD_INBOUNDプロシージャを実行する管理者が前述の作業を実行する必要がない場合、DBAロールは不要です。Outおよびセキュリティ」を参照してください。使用上の注意DBMS_APPLY_ADMパッケージの一部のサブプログラムではXStreamアウトバウンド・サーバーを管理でき、DBMS_APPLY_ADMパッケージの一部のサブプログラムではXStreamインバウンド・サーバーを管理できます。関連項目:どのサブプログラムがアウトバウンド・サーバーとインバウンド・サーバーを管理できるかについて、第23章「DBMS_APPLY_ADM」を参照してください。DBMS_XSTREAM_ADMパッケージのサブプログラムサブプログラム説明ADD_COLUMNプロシージャ指定されたルールを満たす行論理変更レコード(行LCR)に列を追加する宣言ルールベースの変換を追加または削除します。ADD_GLOBAL_PROPAGATION_RULESプロシージャ伝播のポジティブ・ルール・セットまたはネガティブ・ルール・セットにグローバル・ルールを追加します。指定された伝播が存在しない場合は、伝播を作成します。ADD_GLOBAL_RULESプロシージャ取得プロセスまたは適用プロセスのポジティブ・ルール・セットまたはネガティブ・ルール・セットにグローバル・ルールを追加し、指定した取得プロセスまたは適用プロセスが存在しない場合は、それを作成します。ADD_OUTBOUNDプロシージャ指定したキューからLCRをデキューするXStreamアウトバウンド・サーバーを作成します。ADD_SCHEMA_PROPAGATION_RULESプロシージャ伝播のポジティブ・ルール・セットまたはネガティブ・ルール・セットにスキーマ・ルールを追加します。指定された伝播が存在しない場合は、伝播を作成します。ADD_SCHEMA_RULESプロシージャXStreamクライアントのルール・セットにルールを追加します。ADD_SUBSET_OUTBOUND_RULESプロシージャアウトバウンド・サーバーの構成にサブセット・ルールを追加します。ADD_SUBSET_PROPAGATION_RULESプロシージャ伝播のポジティブ・ルール・セットにサブセット・ルールを追加します。指定された伝播が存在しない場合は、伝播を作成します。ADD_SUBSET_RULESプロシージャ取得プロセスまたは適用プロセスのポジティブ・ルール・セットにサブセット・ルールを追加し、指定した取得プロセスまたは適用プロセスが存在しない場合は、それを作成します。ADD_TABLE_PROPAGATION_RULESプロシージャ伝播のポジティブ・ルール・セットまたはネガティブ・ルール・セットに表ルールを追加します。指定された伝播が存在しない場合は、伝播を作成します。ADD_TABLE_RULESプロシージャこのプロシージャは、XStreamクライアントのルール・セットにルールを追加します。ALTER_INBOUNDプロシージャXStreamインバウンド・サーバーを変更します。ALTER_OUTBOUNDプロシージャXStreamアウトバウンド・サーバーを変更します。CREATE_INBOUNDプロシージャXStreamインバウンド・サーバーとそのキューを作成します。CREATE_OUTBOUNDプロシージャXStreamアウトバウンド・サーバー、キュー、および取得プロセスを作成して、XStreamクライアントのアプリケーションがLCRにカプセル化されたOracleデータベースの変更をストリーム・アウトできるようにします。DELETE_COLUMNプロシージャ指定されたルールを満たす行LCRから列を削除する宣言ルールベースの変換を追加または削除します。DROP_INBOUNDプロシージャインバウンド・サーバーの構成を削除します。DROP_OUTBOUNDプロシージャアウトバウンド・サーバーの構成を削除します。Streamsコンポーネントに対してXStreamのパフォーマンス最適化を有効にします。GET_MESSAGE_TRACKINGファンクション現在のセッションの追跡ラベルを戻します。GET_TAGファンクション現行のセッションで生成されるREDOエントリすべてに対してバイナリ・タグを取得します。Streamsコンポーネントに対してXStreamのパフォーマンス最適化を無効にした場合はFALSEを返します。KEEP_COLUMNSプロシージャ指定されたルールを満たす行LCR内の列のリストを保持する宣言ルールベースの変換を追加または削除します。MERGE_STREAMSプロシージャ1つの取得プロセスからのストリームを別の取得プロセスからのストリームとマージします。MERGE_STREAMS_JOBプロシージャ元の取得プロセスおよびクローニングされた取得が、指定されたマージしきい値内にあるかどうかを判別し、マージしきい値内にある場合は、MERGE_STREAMSプロシージャを実行して2つのストリームをマージします。Streamsデータ・ディクショナリ情報をローカル・データベースから削除します。RECOVER_OPERATIONプロシージャエラーが発生したために停止した分割およびマージ操作に対してオプションを提供します。このプロシージャは、操作のロールフォワード、操作のロールバック、操作に関するすべてのメタデータのパージのいずれかの処理を実行します。REMOVE_QUEUEプロシージャ指定されたANYDATAキューを削除します。REMOVE_RULEプロシージャ指定した取得プロセス、適用プロセス、または伝播に関連付けられたルール・セットから、指定したルールまたはすべてのルールを削除します。REMOVE_SUBSET_OUTBOUND_RULESプロシージャアウトバウンド・サーバーの構成からサブセット・ルールを削除します。REMOVE_XSTREAM_CONFIGURATIONプロシージャローカル・データベースでXStreamの構成を削除します。RENAME_COLUMNプロシージャ指定されたルールを満たす行LCR内の列の名前を変更する宣言ルールベースの変換を追加または削除します。RENAME_SCHEMAプロシージャ指定されたルールを満たす行LCR内のスキーマの名前を変更する宣言ルールベースの変換を追加または削除します。RENAME_TABLEプロシージャ指定されたルールを満たす行LCR内の表の名前を変更する宣言ルールベースの変換を追加または削除します。SET_MESSAGE_TRACKINGプロシージャ現在のセッションで生成された論理変更レコード(LCR)の追跡ラベルを設定します。SET_PARAMETERプロシージャアウトバウンド・サーバー、インバウンド・サーバー、またはアウトバウンド・サーバーの取得プロセスのパラメータを設定します。SET_TAGプロシージャ現行のセッションで継続して生成されるREDOエントリすべてに対してバイナリ・タグを設定します。使用するキューを作成します。SPLIT_STREAMSプロシージャ取得プロセスからの1つのストリームを、その取得プロセスからの他のすべてのストリームから分割します。START_OUTBOUNDプロシージャXStreamアウトバウンド・サーバーを起動します。STOP_OUTBOUNDプロシージャXStreamアウトバウンド・サーバーを停止します。注意:特に指定がないかぎり、すべてのサブプログラムがコミットされます。ADD_COLUMNプロシージャこのプロシージャは、指定されたルールを満たす行論理変更レコード(行LCR)に列を追加する宣言ルールベースの変換を追加または削除します。指定したルールがTRUEと評価されるときに変換を実行する場合、ルールはXStreamクライアントのポジティブ・ルール・セットに入っている必要があります。XStreamクライアントには、取得プロセス、伝播プロセスおよび適用プロセスがあります。このプロシージャはオーバーロードされています。column_valueパラメータとcolumn_functionパラメータは、両方同時には指定できません。RAW、ROWID、ユーザー定義タイプ(オブジェクト・タイプ、REF、VARRAY、ネストした表)およびオラクル社提供のタイプ(任意のタイプ、XMLタイプ、空間タイプ、メディア・タイプ)などは追加できません。宣言的変換では、行LCRのみを変換できます。したがって、このプロシージャを実行する場合は、DMLルールを指定する必要があります。DDLルールを指定した場合は、エラーが発生します。XStreamガイド』を参照してください。ADD_COLUMNプロシージャのパラメータパラメータ説明rule_name[schema_name.]rule_nameの形式で指定したルールの名前。NULLの場合は、エラーが発生します。hrスキーマ内のemployees12というルールを指定するには、hr.employees12と入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。table_name行LCRで列を追加する表の名前で、[schema_name.]object_nameの形式で指定します。hr.employeesのように指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。column_nameルールを満たす各行LCRに追加する列の名前。column_value追加する列の値。列のデータ・タイプおよび値に適したANYDATAファンクションを指定します。追加する列のデータ・タイプがNUMBERで、値がNULLの場合は、ANYDATA.ConvertNumber(NULL)ファンクションを指定します。column_functionパラメータが指定されている場合、このパラメータは指定できません。column_function'SYSDATE'または'SYSTIMESTAMP'のいずれかのSQLファンクション。'SYSDATE'SQLファンクションは、データベースが存在するオペレーティング・システムの現在の日付と時刻のセットを戻します。戻り値のデータ・タイプはDATEです。戻り値の書式は、NLS_DATE_FORMAT初期化パラメータの値によって異なります。SQLファンクションは、データベースが存在するオペレーティング・システムの日時(小数秒およびタイムゾーンを含む)を戻します。このファンクションは、ルールの評価結果がTRUEの場合に実行されます。column_valueパラメータが指定されている場合、このパラメータは指定できません。value_type行LCRの新しい値に列を追加する場合は、'NEW'を指定します。行LCRの古い値に列を追加する場合は、'OLD'を指定します。XStreamガイド』を参照してください。operation変換をルールに追加する場合は、'ADD'を指定します。変換をルールから削除する場合は、'REMOVE'を指定します。使用上の注意operationパラメータに'REMOVE'を指定すると、指定したルールに対する列追加の宣言ルールベースの変換のうち、指定したパラメータ(table_name、column_nameおよびstep_number)に一致するすべての変換が削除されます。これらのパラメータにNULLを指定すると、ワイルドカードとして動作します。次の表に、これらのパラメータの1つ以上がNULLの場合のADD_COLUMNプロシージャの動作を示します。指定したルールに対するすべての列追加変換が削除されます。指定したルールに対して指定されているstep_numberのすべての列追加変換が削除されます。指定したルールに対して指定されているcolumn_nameおよびstep_numberのすべての列追加変換が削除されます。指定したルールに対して指定されているtable_nameおよびstep_numberのすべての列追加変換が削除されます。指定したルールに対して指定されているcolumn_nameのすべての列追加変換が削除されます。指定したルールに対して指定されているtable_nameおよびcolumn_nameのすべての列追加変換が削除されます。指定したルールに対して指定されているtable_nameのすべての列追加変換が削除されます。指定したルールに対して指定されているtable_name、column_nameおよびstep_numberのすべての列追加変換が削除されます。ADD_GLOBAL_PROPAGATION_RULESプロシージャこのプロシージャは、伝播のポジティブ・ルール・セットまたはネガティブ・ルール・セットにグローバル・ルールを追加します。指定された伝播が存在しない場合は、伝播を作成します。このプロシージャはオーバーロードされています。このプロシージャの一方のバージョンでは2つのOUTパラメータを使用しますが、もう一方のバージョンでは使用しません。ADD_GLOBAL_PROPAGATION_RULESプロシージャのパラメータパラメータ説明streams_name伝播の名前。所有者を指定しないでください。指定された伝播が存在しない場合は、自動的に作成されます。このパラメータがNULLで、同じソース・キューと宛先キュー(データベース・リンクを含む)を指定した伝播がすでに存在する場合は、その伝播が使用されます。このパラメータがNULLで、同じソース・キューと宛先キュー(データベース・リンクを含む)を指定した伝播が存在しない場合は、システム生成の名前で伝播が自動的に作成されます。source_queue_nameソース・キューの名前で、[schema_name.]queue_nameの形式で指定します。現在のデータベースには、ソース・キューが含まれている必要があり、キューはANYDATAタイプである必要があります。strmadminスキーマ内のstreams_queueという名前のキューを指定するには、このパラメータにstrmadmin.streams_queueと入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。destination_queue_name宛先キュー(データベース・リンクを含む)の名前で、宛先キューがリモート・データベース内に存在する場合は、[schema_name.]queue_name[@dblink_name]と指定します。ANYDATAタイプのキューを指定してください。dbs2.netというデータベース・リンクを使用し、strmadminスキーマ内のstreams_queueという名前の宛先キューを指定するには、このパラメータにstrmadmin.streams_queue@dbs2.netと入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。データベース・リンクが省略された場合は、現行のデータベースのグローバル名が使用されます。その場合、ソース・キューと宛先キューは同じデータベース内に存在する必要があります。接続修飾子は使用できません。include_dmlTRUEに設定すると、DMLの変更に関するルールが作成されます。FALSEに設定すると、DMLルールは作成されません。NULLは許可されません。include_ddlTRUEに設定すると、DDLの変更に関するルールが作成されます。FALSEに設定すると、DDLルールは作成されません。NULLは許可されません。Streamsタグに関する条件が追加されません。したがって、これらのルールは、論理変更レコード(LCR)にNULL以外のタグがあるかどうかに関係なく、TRUEと評価されます。伝播のポジティブ・ルール・セットにルールが追加される場合、NULL以外のタグがLCRにあるかどうかに関係なく、LCRは常に伝播の対象とみなされます。ポジティブ・ルール・セットにルールが追加される場合は、データベースの完全なコピー(スタンバイなど)を作成するときに、このパラメータをTRUEに設定することをお薦めします。伝播のネガティブ・ルール・セットにルールが追加される場合は、LCRのタグの値に関係なく、LCRが破棄されます。Streamsタグがあるときにかぎり、ルールがTRUEと評価される条件が、生成される各ルールに追加されます。伝播のポジティブ・ルール・セットにルールが追加される場合、LCRにNULLのタグがあるときにかぎり、LCRが伝播の対象とみなされます。ポジティブ・ルール・セットにルールが追加される場合は、変更が頻発する構成でソース・データベースに変更が循環するのを防ぐために、このパラメータをFALSEに設定することをお薦めします。伝播のネガティブ・ルール・セットにルールが追加される場合は、LCRにNULLのタグがあるときにかぎり、LCRを破棄できます。inclusion_ruleパラメータをFALSEに設定する場合は、通常、このパラメータをTRUEに設定してください。Streamsレプリケーション管理者ガイド』を参照してください。source_databaseソース・データベースのグローバル名。ソース・データベースは、変更が発生したデータベースです。NULLに設定すると、生成されるルールに対してソース・データベースに関する条件が追加されません。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。ドメイン名が.NETの場合にDBS1を指定すると、自動的にDBS1.NETが指定されます。伝播ルールではソース・データベースを指定することをお薦めします。dml_rule_nameinclude_dmlがTRUEの場合は、このパラメータでDMLルールの名前を指定します。include_dmlがFALSEの場合は、このパラメータをNULLに設定します。ddl_rule_nameinclude_ddlがTRUEの場合は、このパラメータでDDLルールの名前を指定します。include_ddlがFALSEの場合は、このパラメータをNULLに設定します。inclusion_ruleinclusion_ruleをTRUEに設定すると、伝播のポジティブ・ルール・セットにルールが追加されます。inclusion_ruleをFALSEに設定すると、伝播のネガティブ・ルール・セットにルールが追加されます。どちらの場合も、ルール・セットが存在しないときは、自動的に作成されます。and_conditionこのパラメータにNULL以外の文字列を指定すると、次に示すようにAND句によって、システム生成されるルール条件の後に指定した条件が追加されます。(and_condition)指定する条件の変数は、必ず:lcrを使用してください。Streamsタグの16進表現が'02'の場合にかぎり、このプロシージャで生成されるグローバル・ルールをTRUEと評価する場合は、次のように条件を指定します。HEXTORAW(''02'')指定した条件内の:lcr変数は、生成されるルールのタイプに応じて、:dmlまたは:ddlに変換されます。LCR)に依存するLCRメンバー・サブプログラムを指定する場合は、適切なルールのみが生成されるように確認する必要があります。行LCRに対してのみ有効なLCRメンバー・サブプログラムを指定する場合は、include_dmlパラメータをTRUEに、include_ddlパラメータをFALSEに設定します。LCRに対してのみ有効なLCRメンバー・サブプログラムを指定する場合は、include_dmlパラメータをFALSEに、include_ddlパラメータをTRUEに設定します。第275章「論理変更レコードのタイプ」queue_to_queueTRUEまたはNULLの場合、このプロシージャによって作成される新しい伝播は、キューからキューへの伝播です。RAC)データベースでバッファに入れられたキューの場合、自動フェイルオーバーのサービスが使用されます。FALSEの場合、このプロシージャによって作成される新しい伝播はキューからデータベース・リンクへの伝播です。RAC環境での自動フェイルオーバーはサポートされません。このプロシージャでは、既存の伝播のqueue_to_queueプロパティは変更できません。指定した伝播が存在する場合は、それぞれの設定に対して次のように処理されます。このパラメータがTRUEで、指定した伝播がキューからキューへの伝播でない場合は、エラーが発生します。このパラメータがFALSEで、指定した伝播がキューからキューへの伝播の場合は、エラーが発生します。このパラメータがNULL場合、伝播のqueue_to_queueプロパティは変更されません。Streams概要および管理』を参照してください。使用上の注意このプロシージャは、現行のユーザーを使用して伝播を構成します。特定のソース・キューと宛先キューの間で許可される伝播は1つのみです。このプロシージャは、include_dmlパラメータ値とinclude_ddlパラメータ値に基づいて、DMLとDDLのルールをそれぞれ自動的に作成します。各ルールには、システム生成のルール名(データベース名とその後ろに付加される順序番号で構成される)が付けられます。この順序番号によって、名前の競合が回避されます。データベース名と順序番号を組み合せた名前が長すぎる場合は、データベース名が切り捨てられます。伝播では、これらのルールがフィルタ処理に使用されます。次に、DMLの変更に関して作成されるグローバル・ルール条件の例を示します。)ADD_GLOBAL_RULESプロシージャこのプロシージャは、次のいずれかのタイプのXStreamクライアントのルール・セットにルールを追加します。streams_typeパラメータをcaptureに設定すると、このプロシージャは、データベース全体に対する変更を取得する取得プロセス・ルールを追加します。このプロシージャは、指定した取得プロセスが存在しない場合にそれを作成します。streams_typeパラメータをapplyに設定し、streams_nameパラメータで適用プロセス、アウトバウンド・サーバーまたはインバウンド・サーバーの名前を指定すると、このプロシージャは、受信したすべての論理変更レコード(LCR)を適用する適用ルールを追加します。このルールでは、特定のソース・データベースに属するLCRのみをルールの対象として指定できます。このプロシージャは、指定したstreams_nameを持つ適用プロセス、アウトバウンド・サーバーまたはインバウンド・サーバーが存在しない場合に適用プロセスを作成します。このプロシージャはアウトバウンド・サーバーまたはインバウンド・サーバーにルールを追加できますが、アウトバウンド・サーバーまたはインバウンド・サーバーを作成することはできません。このプロシージャはオーバーロードされています。このプロシージャの一方のバージョンでは2つのOUTパラメータを使用しますが、もう一方のバージョンでは使用しません。Streamsでサポートされていないデータベース・オブジェクトを除外するルールを、取得プロセスのネガティブ・ルールセットに追加してください。Streamsでサポートされていないデータベース・オブジェクトを確認します。サポートされないデータベース・オブジェクトが除外されていない場合は、取得エラーが発生します。ADD_GLOBAL_RULESプロシージャのパラメータパラメータ説明streams_typeXStreamクライアントのタイプ:取得プロセスの場合は、capture。適用プロセスの場合は、apply。streams_name取得プロセスまたは適用プロセスの名前。所有者を指定しないでください。NULLの場合、streams_typeがcaptureの場合、そしてキューに関連する取得プロセスが存在する場合は、該当するXStreamクライアントが使用されます。キューに関連するXStreamクライアントが存在しない場合は、XStreamクライアントがシステム生成の名前で自動的に作成されます。NULLで、指定したstreams_typeのXStreamクライアントがキューに対して複数存在する場合は、エラーが発生します。このパラメータがNULLで、streams_typeパラメータがapplyであり、関連する適用プロセスが1つ存在する場合は、その適用プロセスが使用されます。関連する適用プロセスは、次のいずれかの方法で選択されます。source_databaseで指定されるソース・データベースを使用し、queue_nameで指定されるキューを使用する既存の適用プロセスが1つ存在する場合は、その適用プロセスが選択されます。source_databaseがNULLで、queue_nameで指定されるキューを使用する既存の適用プロセスが1つ存在する場合は、その適用プロセスが選択されます。このパラメータがNULLで、関連する適用プロセスが存在しない場合は、システム生成の名前で適用プロセスが自動的に作成されます。このパラメータがNULLで、関連する適用プロセスが複数存在する場合は、エラーが発生します。適用プロセスには、それぞれ一意の名前を付ける必要があります。queue_nameローカル・キューの名前で、[schema_name.]queue_nameの形式で指定します。現行のデータベースにキューが含まれている必要があり、キューはANYDATAタイプを指定する必要があります。strmadminスキーマ内のstreams_queueという名前のキューを指定するには、このパラメータにstrmadmin.streams_queueと入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。取得プロセス・ルールの場合は、取得プロセスによってLCRがエンキューされるキューを指定します。アウトバウンド・サーバーのルールの場合、これはアウトバウンド・サーバーがLCRをデキューするキューになります。インバウンド・サーバーのルールの場合、これはインバウンド・サーバーがエラー・トランザクションをエンキューするキューになります。include_dmlTRUEに設定すると、DMLの変更に関するルールが作成されます。FALSEに設定すると、DMLルールは作成されません。NULLは許可されません。include_ddlTRUEに設定すると、DDLの変更に関するルールが作成されます。FALSEに設定すると、DDLルールは作成されません。NULLは許可されません。Streamsタグに関する条件が追加されません。したがって、これらのルールは、REDOエントリまたはLCRにNULL以外のタグがあるかどうかに関係なく、TRUEと評価されます。プロセスのポジティブ・ルール・セットにルールが追加される場合、REDOエントリまたはLCRにNULL以外のタグがあるかどうかに関係なく、REDOエントリは常に取得の対象とみなされ、LCRは常に適用の対象とみなされます。ポジティブ・ルール・セットにルールが追加される場合は、データベースの完全なコピー(スタンバイなど)を作成するときに、このパラメータをTRUEに設定することをお薦めします。プロセスのネガティブ・ルール・セットにルールが追加される場合は、タグの値に関係なく、REDOエントリまたはLCRが破棄されます。Streamsタグがあるときにかぎり、ルールがTRUEと評価される条件が、生成される各ルールに追加されます。プロセスのポジティブ・ルール・セットにルールが追加される場合、REDOエントリまたはLCRにNULLのタグがあるときにかぎり、REDOエントリが取得の対象とみなされ、LCRが適用の対象とみなされます。ポジティブ・ルール・セットにルールが追加される場合は、変更が頻発する構成でソース・データベースに変更が循環するのを防ぐために、このパラメータをFALSEに設定することをお薦めします。プロセスのネガティブ・ルール・セットにルールが追加される場合は、REDOエントリまたはLCRにNULLのタグがあるときにかぎり、REDOエントリまたはLCRを破棄できます。inclusion_ruleパラメータをFALSEに設定する場合は、通常、このパラメータをTRUEに設定してください。Streamsレプリケーション管理者ガイド』を参照してください。source_databaseソース・データベースのグローバル名。NULLに設定すると、生成されるルールに対してソース・データベースに関する条件が追加されません。取得プロセス・ルールの場合、ソース・データベース上でローカルに取得プロセスを作成するには、NULLを指定するか、ローカル・データベースのグローバル名を指定します。ダウンストリーム・データベース上のダウンストリーム取得プロセスのルール・セットにルールを追加する場合は、変更が取得されるソース・データベースを指定します。適用プロセス・ルールの場合は、適用プロセスによって適用される変更のソース・データベースを指定します。ソース・データベースは、変更が発生したデータベースです。取得されたLCRを適用プロセスで適用する場合、適用プロセスによって適用できるのは、1つのソース・データベースでの1つの取得プロセスによるLCRのみです。CDBでは、ルールに関連するコンテナのグローバル名を指定してください。コンテナは、ルートまたはPDBのいずれでもかまいません。mycdb.example.comまたはhrpdb.example.comが使用できます。XStreamガイド』を参照してください。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。ドメイン名が.NETの場合にDBS1を指定すると、自動的にDBS1.NETが指定されます。dml_rule_nameinclude_dmlがTRUEの場合は、このパラメータでDMLルールの名前を指定します。include_dmlがFALSEの場合は、このパラメータをNULLに設定します。ddl_rule_nameinclude_ddlがTRUEの場合は、このパラメータでDDLルールの名前を指定します。include_ddlがFALSEの場合は、このパラメータをNULLに設定します。inclusion_ruleinclusion_ruleがTRUEの場合、このプロシージャはXStreamクライアントのポジティブ・ルール・セットにルールを追加します。inclusion_ruleがFALSEの場合、ルールはXStreamクライアントのネガティブ・ルール・セットに追加されます。どちらの場合も、ルール・セットが存在しないときは、自動的に作成されます。and_conditionこのパラメータにNULL以外の文字列を指定すると、次に示すようにAND句によって、システム生成されるルール条件の後に指定した条件が追加されます。(and_condition)指定する条件の変数は、必ず:lcrを使用してください。Streamsタグの16進表現が'02'の場合にかぎり、このプロシージャで生成されるグローバル・ルールをTRUEと評価する場合は、次のように条件を指定します。HEXTORAW(''02'')指定した条件内の:lcr変数は、生成されるルールのタイプに応じて、:dmlまたは:ddlに変換されます。LCR)に依存するLCRメンバー・サブプログラムを指定する場合は、このプロシージャによって適切なルールのみが生成されるように確認する必要があります。行LCRに対してのみ有効なLCRメンバー・サブプログラムを指定する場合は、include_dmlパラメータをTRUEに、include_ddlパラメータをFALSEに設定します。LCRに対してのみ有効なLCRメンバー・サブプログラムを指定する場合は、include_dmlパラメータをFALSEに、include_ddlパラメータをTRUEに設定します。第275章「論理変更レコードのタイプ」source_root_nameソースCDBのルートのグローバル名。mycdb.example.comです。このパラメータがNULLの場合は、ローカルCDBにあるルートのグローバル名が使用されます。ダウンストリーム取得を構成している場合、このパラメータは非NULL値である必要があり、リモート・ソースCDBにあるルートのグローバル名を指定する必要があります。XStreamガイド』を参照してください。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。DBS1を指定し、ドメインがEXAMPLE.COMである場合、このプロシージャは自動的にDBS1.EXAMPLE.COMを指定します。このパラメータはCDBにのみ適用されます。source_container_nameソース・コンテナの短縮名。コンテナは、ルートまたはPDBのいずれでもかまいません。CDB$ROOTまたはhrpdbです。XStreamガイド』を参照してください。このパラメータはCDBにのみ適用されます。使用上の注意このプロシージャは、include_dmlパラメータ値とinclude_ddlパラメータ値に基づいて、DMLとDDLのルールをそれぞれ自動的に作成します。各ルールには、システム生成のルール名(データベース名とその後ろに付加される順序番号で構成される)が付けられます。この順序番号によって、名前の競合が回避されます。データベース名と順序番号を組み合せた名前が長すぎる場合は、データベース名が切り捨てられます。取得プロセスまたは適用プロセスは、フィルタリングのためのルールを使用します。次に、DMLの変更に関して作成されるグローバル・ルール条件の例を示します。)ADD_OUTBOUNDプロシージャこのプロシージャは、指定したキューからLCRをデキューするXStreamアウトバウンド・サーバーを作成します。アウトバウンド・サーバーは、LCRをXStreamクライアントのアプリケーションにストリーム・アウトします。このプロシージャは、取得プロセスまたはキューをいずれも作成しません。アウトバウンド・サーバー、取得プロセス、およびキューを1回のプロシージャ・コールで作成するには、CREATE_OUTBOUNDプロシージャを使用します。取得プロセスを個々に作成するには、次のパッケージのいずれかを使用します。DBMS_XSTREAM_ADMDBMS_CAPTURE_ADMキューを個々に作成するには、DBMS_XSTREAM_ADMパッケージのSET_UP_QUEUEプロシージャを使用します。このプロシージャはオーバーロードされています。1つのtable_namesパラメータは、VARCHAR2タイプで、もう1つのtable_namesパラメータは、DBMS_UTILITY.UNCL_ARRAYタイプです。一方のschema_namesパラメータはVARCHAR2タイプで、もう一方のschema_namesパラメータはDBMS_UTILITY.UNCL_ARRAYタイプです。これらのパラメータを使用して、表とスキーマのリストをそれぞれ別の方法で入力することができます。これらのパラメータは相互に排他的です。注意:1つのクライアント・アプリケーションで複数のセッションを作成できます。各セッションは1つのアウトバウンド・サーバーにのみ連結でき、各アウトバウンド・サーバーは一度に1つのセッションのみを処理できます。クライアント・アプリケーションのセッションは、それぞれ異なるアウトバウンド・サーバーに接続できます。APIリファレンスを参照してください。このプロシージャは、作成したアウトバウンド・サーバーを有効化します。(11.2.0.2)から、このプロシージャにcapture_name、start_scnおよびstart_timeの各パラメータが組み込まれています。ADD_OUTBOUNDプロシージャのパラメータパラメータ説明server_name作成中のアウトバウンド・サーバーの名前。NULL指定は許可されていません。所有者を指定しないでください。指定した名前が既存のアウトバウンド・サーバー、インバウンド・サーバー、適用プロセス、またはメッセージ・クライアントの名前と一致しないようにしてください。server_nameの設定は30バイトを超えることはできません。アウトバウンド・サーバーの作成後に変更することはできません。queue_nameアウトバウンド・サーバーがLCRをデキューするローカル・キューの名前で、[schema_name.]queue_nameと指定されます。現行のデータベースにキューが含まれている必要があり、キューはANYDATAタイプを指定する必要があります。xstream_queueというキューをxstrmadminスキーマに指定するには、このパラメータにxstrmadmin.xstream_queueと入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。NULLの場合は、エラーが発生します。source_databaseソース・データベースのグローバル名。NULLに設定すると、生成されるルールに対してソース・データベースに関する条件が追加されません。CDBでは、ルールに関連するコンテナのグローバル名を指定してください。コンテナは、ルートまたはPDBのいずれでもかまいません。mycdb.example.comまたはhrpdb.example.comが使用できます。XStreamガイド』を参照してください。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。ドメイン名が.NETの場合にDBS1を指定すると、自動的にDBS1.NETが指定されます。table_namesデータ操作言語(DML)とデータ定義言語(DDL)の変更がXStreamクライアント・アプリケーションにストリーム・アウトされる表。表は、次の方法で指定できます。VARCHAR2タイプのカンマ区切りリスト。DBMS_UTILITY.UNCL_ARRAYタイプのPL/SQL連想配列で、表の名前が各要素になります。位置1の最初の表を指定します。最後の位置はNULLにする必要があります。それぞれの表は、[schema_name.]table_nameという形式で指定する必要があります。hr.employeesを指定できます。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。このパラメータの詳細は、「使用上の注意」を参照してください。schema_namesDMLとDDLの変更がXStreamクライアント・アプリケーションにストリーム・アウトされるスキーマ。スキーマは、次の方法で指定できます。VARCHAR2タイプのカンマ区切りリスト。DBMS_UTILITY.UNCL_ARRAYタイプのPL/SQL連想配列で、スキーマの名前が各要素になります。位置1の最初のスキーマを指定します。最後の位置はNULLにする必要があります。このプロシージャでは、schema_namesパラメータとtable_namesパラメータは連結されません。表を指定するには、完全修飾された表名をtable_namesパラメータ(schema_name.table_name)に入力します。このパラメータの詳細は、「使用上の注意」を参照してください。connect_user指定したアウトバウンド・サーバーに連結してLCRストリームを取得できるユーザー。クライアント・アプリケーションは、指定した接続ユーザーとしてアウトバウンド・サーバーに連結する必要があります。接続ユーザーに必要な権限の詳細は、「CREATE_OUTBOUNDプロシージャ」を参照してください。NULLの場合は、現在のユーザーがデフォルトになります。commentアウトバウンド・サーバーに関連付けられたオプションのコメント。capture_nameアウトバウンド・サーバー用の変更を取得するように構成された取得プロセスの名前。所有者を指定しないでください。指定した名前が別のアウトバウンド・サーバーの既存の取得プロセスの名前と一致する場合、このプロシージャは既存の取得プロセスを使用して、データベースの変更の取得ルールを取得プロセスのポジティブ・ルール・セットに追加します。指定した名前が適用プロセスの既存の取得プロセスの名前と一致する場合は、エラーが発生します。指定した名前が既存の取得プロセスの名前と一致しない場合は、エラーが発生します。NULLの場合は、取得プロセスなしでアウトバウンド・サーバーが作成されます。start_scn取得プロセスによる変更の取得の開始点である、データベースの有効なシステム変更番号(SCN)。capture_nameパラメータがNULLの場合、このパラメータは無視されます。NULLで、capture_nameパラメータがNULL以外の場合、取得プロセスの開始SCNは変更されません。無効なSCNが指定された場合はエラーが戻されます。start_scnパラメータとstart_timeパラメータは、両方同時には指定できません。start_time取得プロセスによる変更の取得の開始時点となる有効な時間。capture_nameパラメータがNULLの場合、このパラメータは無視されます。NULLで、capture_nameパラメータがNULL以外の場合、取得プロセスの開始SCNは変更されません。start_scnパラメータとstart_timeパラメータは、両方同時には指定できません。include_dmlTRUEに設定すると、DMLの変更に関するルールが作成されます。FALSEに設定すると、DMLルールは作成されません。NULLは許可されません。include_ddlTRUEに設定すると、DDLの変更に関するルールが作成されます。FALSEに設定すると、DDLルールは作成されません。NULLは許可されません。source_root_nameソースCDBのルートのグローバル名。mycdb.example.comです。このパラメータがNULLの場合は、ローカルCDBにあるルートのグローバル名が使用されます。ダウンストリーム取得を構成している場合、このパラメータは非NULL値である必要があり、リモート・ソースCDBにあるルートのグローバル名を指定する必要があります。XStreamガイド』を参照してください。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。DBS1を指定し、ドメインがEXAMPLE.COMである場合、このプロシージャは自動的にDBS1.EXAMPLE.COMを指定します。このパラメータはCDBにのみ適用されます。source_container_nameソース・コンテナの短縮名。コンテナは、ルートまたはPDBのいずれでもかまいません。CDB$ROOTまたはhrpdbです。XStreamガイド』を参照してください。このパラメータはCDBにのみ適用されます。次のリストは、table_namesおよびschema_namesパラメータの様々な組合せにおけるアウトバウンド・サーバーの動作について説明しています。table_namesおよびschema_namesパラメータが両方ともNULLか空の場合、アウトバウンド・サーバーはDMLとDDLのすべての変更をクライアント・アプリケーションにストリームします。このプロシージャはオーバーロードされています。table_namesおよびschema_namesパラメータのデフォルトはNULLです。同じコールでtable_namesとschema_namesの両方にNULLを指定しないでください。指定した場合は、エラーPLS-00307が戻されます。table_namesおよびschema_namesパラメータを両方とも指定した場合、アウトバウンド・サーバーは指定した表とスキーマに対するDMLとDDLの変更をストリームします。table_namesパラメータが指定されていて、schema_namesパラメータがNULLまたは空の場合、アウトバウンド・サーバーは指定した表に対するDMLとDDLの変更をストリームします。table_namesパラメータがNULLまたは空で、schema_namesパラメータが指定されている場合、アウトバウンド・サーバーは指定したスキーマに対するDMLとDDLの変更をストリームします。table_namesおよびschema_namesパラメータでDBMS_UTILITY.UNCL_ARRAYタイプを使用するプロシージャの場合、両方のパラメータを指定する必要があります。表のみを指定するには、schema_namesパラメータを指定して空にする必要があります。スキーマのみを指定するには、table_namesパラメータを指定して空にする必要があります。注意:空の配列には、1つのNULLエントリが含まれています。ADD_SCHEMA_PROPAGATION_RULESプロシージャこのプロシージャは、伝播のポジティブ・ルール・セットまたはネガティブ・ルール・セットにスキーマ・ルールを追加します。指定された伝播が存在しない場合は、伝播を作成します。このプロシージャはオーバーロードされています。このプロシージャの一方のバージョンでは2つのOUTパラメータを使用しますが、もう一方のバージョンでは使用しません。ADD_SCHEMA_PROPAGATION_RULESプロシージャのパラメータパラメータ説明schema_nameスキーマの名前。hrのように指定します。streams_name伝播の名前。所有者を指定しないでください。指定された伝播が存在しない場合は、自動的に作成されます。このパラメータがNULLで、同じソース・キューと宛先キュー(データベース・リンクを含む)を指定した伝播がすでに存在する場合は、その伝播が使用されます。このパラメータがNULLで、同じソース・キューと宛先キュー(データベース・リンクを含む)を指定した伝播が存在しない場合は、システム生成の名前で伝播が自動的に作成されます。source_queue_nameソース・キューの名前で、[schema_name.]queue_nameの形式で指定します。現在のデータベースには、ソース・キューが含まれている必要があり、キューはANYDATAタイプである必要があります。strmadminスキーマ内のstreams_queueという名前のキューを指定するには、このパラメータにstrmadmin.streams_queueと入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。destination_queue_name宛先キュー(データベース・リンクを含む)の名前で、宛先キューがリモート・データベース内に存在する場合は、[schema_name.]queue_name[@dblink_name]と指定します。ANYDATAタイプのキューを指定してください。dbs2.netというデータベース・リンクを使用し、strmadminスキーマ内のstreams_queueという名前の宛先キューを指定するには、このパラメータにstrmadmin.streams_queue@dbs2.netと入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。データベース・リンクが省略された場合は、現行のデータベースのグローバル名が使用されます。その場合、ソース・キューと宛先キューは同じデータベース内に存在する必要があります。接続修飾子は使用できません。include_dmlTRUEに設定すると、DMLの変更に関するルールが作成されます。FALSEに設定すると、DMLルールは作成されません。NULLは許可されません。include_ddlTRUEに設定すると、DDLの変更に関するルールが作成されます。FALSEに設定すると、DDLルールは作成されません。NULLは許可されません。Streamsタグに関する条件が追加されません。したがって、これらのルールは、論理変更レコード(LCR)にNULL以外のタグがあるかどうかに関係なく、TRUEと評価されます。伝播のポジティブ・ルール・セットにルールが追加される場合、NULL以外のタグがLCRにあるかどうかに関係なく、LCRは常に伝播の対象とみなされます。ポジティブ・ルール・セットにルールが追加される場合は、データベースの完全なコピー(スタンバイなど)を作成するときに、このパラメータをTRUEに設定することをお薦めします。伝播のネガティブ・ルール・セットにルールが追加される場合は、LCRのタグの値に関係なく、LCRが破棄されます。Streamsタグがあるときにかぎり、ルールがTRUEと評価される条件が、生成される各ルールに追加されます。伝播のポジティブ・ルール・セットにルールが追加される場合、LCRにNULLのタグがあるときにかぎり、LCRが伝播の対象とみなされます。ポジティブ・ルール・セットにルールが追加される場合は、変更が頻発する構成でソース・データベースに変更が循環するのを防ぐために、このパラメータをFALSEに設定することをお薦めします。伝播のネガティブ・ルール・セットにルールが追加される場合は、LCRにNULLのタグがあるときにかぎり、LCRを破棄できます。inclusion_ruleパラメータをFALSEに設定する場合は、通常、このパラメータをTRUEに設定してください。Streamsレプリケーション管理者ガイド』を参照してください。source_databaseソース・データベースのグローバル名。ソース・データベースは、変更が発生したデータベースです。NULLに設定すると、生成されるルールに対してソース・データベースに関する条件が追加されません。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。ドメイン名が.NETの場合にDBS1を指定すると、自動的にDBS1.NETが指定されます。伝播ルールではソース・データベースを指定することをお薦めします。dml_rule_nameinclude_dmlがTRUEの場合は、このパラメータでDMLルールの名前を指定します。include_dmlがFALSEの場合は、このパラメータをNULLに設定します。ddl_rule_nameinclude_ddlがTRUEの場合は、このパラメータでDDLルールの名前を指定します。include_ddlがFALSEの場合は、このパラメータをNULLに設定します。inclusion_ruleinclusion_ruleをTRUEに設定すると、伝播のポジティブ・ルール・セットにルールが追加されます。inclusion_ruleをFALSEに設定すると、伝播のネガティブ・ルール・セットにルールが追加されます。どちらの場合も、ルール・セットが存在しないときは、自動的に作成されます。and_conditionこのパラメータにNULL以外の文字列を指定すると、次に示すようにAND句によって、システム生成されるルール条件の後に指定した条件が追加されます。(and_condition)指定する条件の変数は、必ず:lcrを使用してください。Streamsタグの16進表現が'02'の場合にかぎり、このプロシージャで生成されるスキーマ・ルールをTRUEと評価する場合は、次のように条件を指定します。HEXTORAW(''02'')指定した条件内の:lcr変数は、生成されるルールのタイプに応じて、:dmlまたは:ddlに変換されます。LCR)に依存するLCRメンバー・サブプログラムを指定する場合は、このプロシージャによって適切なルールのみが生成されるように確認する必要があります。行LCRに対してのみ有効なLCRメンバー・サブプログラムを指定する場合は、include_dmlパラメータをTRUEに、include_ddlパラメータをFALSEに設定します。LCRに対してのみ有効なLCRメンバー・サブプログラムを指定する場合は、include_dmlパラメータをFALSEに、include_ddlパラメータをTRUEに設定します。第275章「論理変更レコードのタイプ」queue_to_queueTRUEまたはNULLの場合、このプロシージャによって作成される新しい伝播は、キューからキューへの伝播です。RAC)データベースでバッファに入れられたキューの場合、自動フェイルオーバーのサービスが使用されます。FALSEの場合、このプロシージャによって作成される新しい伝播はキューからデータベース・リンクへの伝播です。RAC環境での自動フェイルオーバーはサポートされません。このプロシージャでは、既存の伝播のqueue_to_queueプロパティは変更できません。指定した伝播が存在する場合は、それぞれの設定に対して次のように処理されます。このパラメータがTRUEで、指定した伝播がキューからキューへの伝播でない場合は、エラーが発生します。このパラメータがFALSEで、指定した伝播がキューからキューへの伝播の場合は、エラーが発生します。このパラメータがNULL場合、伝播のqueue_to_queueプロパティは変更されません。Streams概要および管理』を参照してください。使用上の注意このプロシージャは、現行のユーザーを使用して伝播を構成します。特定のソース・キューと宛先キューの間で許可される伝播は1つのみです。このプロシージャは、include_dmlパラメータ値とinclude_ddlパラメータ値に基づいて、DMLとDDLのルールをそれぞれ自動的に作成します。各ルールには、システム生成のルール名(スキーマ名とその後ろに付加される順序番号で構成される)が付けられます。この順序番号によって、名前の競合が回避されます。スキーマ名と順序番号を組み合せた名前が長すぎる場合は、スキーマ名が切り捨てられます。伝播では、これらのルールがフィルタ処理に使用されます。次に、DMLの変更に関して作成されるスキーマ・ルール条件の例を示します。)ADD_SCHEMA_RULESプロシージャこのプロシージャは、次のいずれかのタイプのXStreamクライアントのルール・セットにルールを追加します。streams_typeパラメータをcaptureに設定すると、このプロシージャは、指定したスキーマに対する変更を取得する取得プロセス・ルールを追加します。このプロシージャは、指定した取得プロセスが存在しない場合にそれを作成します。streams_typeパラメータをapplyに設定し、streams_nameパラメータで適用プロセス、アウトバウンド・サーバーまたはインバウンド・サーバーの名前を指定すると、このプロシージャは、指定したスキーマに対する変更が記録されている論理変更レコード(LCR)を適用する適用ルールを追加します。このルールでは、特定のソース・データベースに属するLCRのみをルールの対象として指定できます。このプロシージャは、指定したstreams_nameを持つ適用プロセス、アウトバウンド・サーバーまたはインバウンド・サーバーが存在しない場合に適用プロセスを作成します。このプロシージャはアウトバウンド・サーバーまたはインバウンド・サーバーにルールを追加できますが、アウトバウンド・サーバーまたはインバウンド・サーバーを作成することはできません。このプロシージャはオーバーロードされています。このプロシージャの一方のバージョンでは2つのOUTパラメータを使用しますが、もう一方のバージョンでは使用しません。Streamsでサポートされていない、スキーマ内のデータベース・オブジェクトを除外するルールを、取得プロセスのネガティブ・ルールセットに必ず追加するようにしてください。Streamsでサポートされていないデータベース・オブジェクトを確認します。サポートされないデータベース・オブジェクトが除外されていない場合は、取得エラーが発生します。ADD_SCHEMA_RULESプロシージャのパラメータパラメータ説明schema_nameスキーマの名前。hrのように指定します。Streamsではスキーマの有無がチェックされないため、まだ存在しないスキーマも指定できます。streams_typeXStreamクライアントのタイプ:取得プロセスの場合は、capture。適用プロセスの場合は、apply。streams_name取得プロセスまたは適用プロセスの名前。所有者を指定しないでください。NULLの場合、streams_typeがcaptureの場合、そしてキューに関連する取得プロセスが存在する場合は、該当するXStreamクライアントが使用されます。キューに関連するXStreamクライアントが存在しない場合は、XStreamクライアントがシステム生成の名前で自動的に作成されます。NULLで、指定したstreams_typeのXStreamクライアントがキューに対して複数存在する場合は、エラーが発生します。このパラメータがNULLで、streams_typeパラメータがapplyであり、関連する適用プロセスが1つ存在する場合は、その適用プロセスが使用されます。関連する適用プロセスは、次のいずれかの方法で選択されます。source_databaseで指定されるソース・データベースを使用し、queue_nameで指定されるキューを使用する既存の適用プロセスが1つ存在する場合は、その適用プロセスが選択されます。source_databaseがNULLで、queue_nameで指定されるキューを使用する既存の適用プロセスが1つ存在する場合は、その適用プロセスが選択されます。このパラメータがNULLで、関連する適用プロセスが存在しない場合は、システム生成の名前で適用プロセスが自動的に作成されます。このパラメータがNULLで、関連する適用プロセスが複数存在する場合は、エラーが発生します。適用プロセスには、それぞれ一意の名前を付ける必要があります。queue_nameローカル・キューの名前で、[schema_name.]queue_nameの形式で指定します。現行のデータベースにキューが含まれている必要があり、キューはANYDATAタイプを指定する必要があります。strmadminスキーマ内のstreams_queueという名前のキューを指定するには、このパラメータにstrmadmin.streams_queueと入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。取得プロセス・ルールの場合は、取得プロセスによってLCRがエンキューされるキューを指定します。アウトバウンド・サーバーのルールの場合、これはアウトバウンド・サーバーがLCRをデキューするキューになります。インバウンド・サーバーのルールの場合、これはインバウンド・サーバーがエラー・トランザクションをエンキューするキューになります。include_dmlTRUEに設定すると、DMLの変更に関するルールが作成されます。FALSEに設定すると、DMLルールは作成されません。NULLは許可されません。include_ddlTRUEに設定すると、DDLの変更に関するルールが作成されます。FALSEに設定すると、DDLルールは作成されません。NULLは許可されません。Streamsタグに関する条件が追加されません。したがって、これらのルールは、REDOエントリまたはLCRにNULL以外のタグがあるかどうかに関係なく、TRUEと評価されます。プロセスのポジティブ・ルール・セットにルールが追加される場合、REDOエントリまたはLCRにNULL以外のタグがあるかどうかに関係なく、REDOエントリは常に取得の対象とみなされ、LCRは常に適用の対象とみなされます。ポジティブ・ルール・セットにルールが追加される場合は、データベースの完全なコピー(スタンバイなど)を作成するときに、このパラメータをTRUEに設定することをお薦めします。プロセスのネガティブ・ルール・セットにルールが追加される場合は、タグの値に関係なく、REDOエントリまたはLCRが破棄されます。Streamsタグがあるときにかぎり、ルールがTRUEと評価される条件が、生成される各ルールに追加されます。プロセスのポジティブ・ルール・セットにルールが追加される場合、REDOエントリまたはLCRにNULLのタグがあるときにかぎり、REDOエントリが取得の対象とみなされ、LCRが適用の対象とみなされます。ポジティブ・ルール・セットにルールが追加される場合は、変更が頻発する構成でソース・データベースに変更が循環するのを防ぐために、このパラメータをFALSEに設定することをお薦めします。プロセスのネガティブ・ルール・セットにルールが追加される場合は、REDOエントリまたはLCRにNULLのタグがあるときにかぎり、REDOエントリまたはLCRを破棄できます。inclusion_ruleパラメータをFALSEに設定する場合は、通常、このパラメータをTRUEに設定してください。Streamsレプリケーション管理者ガイド』を参照してください。source_databaseソース・データベースのグローバル名。NULLに設定すると、生成されるルールに対してソース・データベースに関する条件が追加されません。取得プロセス・ルールの場合、ソース・データベース上でローカルに取得プロセスを作成するには、NULLを指定するか、ローカル・データベースのグローバル名を指定します。ダウンストリーム・データベース上のダウンストリーム取得プロセスのルール・セットにルールを追加する場合は、変更が取得されるソース・データベースを指定します。適用プロセス・ルールの場合は、適用プロセスによって適用される変更のソース・データベースを指定します。ソース・データベースは、変更が発生したデータベースです。取得されたLCRを適用プロセスで適用する場合、適用プロセスによって適用できるのは、1つのソース・データベースでの1つの取得プロセスによるLCRのみです。CDBでは、ルールに関連するコンテナのグローバル名を指定してください。コンテナは、ルートまたはPDBのいずれでもかまいません。mycdb.example.comまたはhrpdb.example.comが使用できます。XStreamガイド』を参照してください。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。ドメイン名が.NETの場合にDBS1を指定すると、自動的にDBS1.NETが指定されます。dml_rule_nameinclude_dmlがTRUEの場合は、このパラメータでDMLルールの名前を指定します。include_dmlがFALSEの場合は、このパラメータをNULLに設定します。ddl_rule_nameinclude_ddlがTRUEの場合は、このパラメータでDDLルールの名前を指定します。include_ddlがFALSEの場合は、このパラメータをNULLに設定します。inclusion_ruleinclusion_ruleがTRUEの場合、このプロシージャはXStreamクライアントのポジティブ・ルール・セットにルールを追加します。inclusion_ruleがFALSEの場合、ルールはXStreamクライアントのネガティブ・ルール・セットに追加されます。どちらの場合も、ルール・セットが存在しないときは、自動的に作成されます。and_conditionこのパラメータにNULL以外の文字列を指定すると、次に示すようにAND句によって、システム生成されるルール条件の後に指定した条件が追加されます。(and_condition)指定する条件の変数は、必ず:lcrを使用してください。Streamsタグの16進表現が'02'の場合にかぎり、このプロシージャで生成されるスキーマ・ルールをTRUEと評価する場合は、次のように条件を指定します。HEXTORAW(''02'')指定した条件内の:lcr変数は、生成されるルールのタイプに応じて、:dmlまたは:ddlに変換されます。LCR)に依存するLCRメンバー・サブプログラムを指定する場合は、このプロシージャによって適切なルールのみが生成されるように確認する必要があります。行LCRに対してのみ有効なLCRメンバー・サブプログラムを指定する場合は、include_dmlパラメータをTRUEに、include_ddlパラメータをFALSEに設定します。LCRに対してのみ有効なLCRメンバー・サブプログラムを指定する場合は、include_dmlパラメータをFALSEに、include_ddlパラメータをTRUEに設定します。第275章「論理変更レコードのタイプ」source_root_nameソースCDBのルートのグローバル名。mycdb.example.comです。このパラメータがNULLの場合は、ローカルCDBにあるルートのグローバル名が使用されます。ダウンストリーム取得を構成している場合、このパラメータは非NULL値である必要があり、リモート・ソースCDBにあるルートのグローバル名を指定する必要があります。XStreamガイド』を参照してください。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。DBS1を指定し、ドメインがEXAMPLE.COMである場合、このプロシージャは自動的にDBS1.EXAMPLE.COMを指定します。このパラメータはCDBにのみ適用されます。source_container_nameソース・コンテナの短縮名。コンテナは、ルートまたはPDBのいずれでもかまいません。CDB$ROOTまたはhrpdbです。XStreamガイド』を参照してください。このパラメータはCDBにのみ適用されます。使用上の注意このプロシージャは、include_dmlパラメータ値とinclude_ddlパラメータ値に基づいて、DMLとDDLのルールをそれぞれ自動的に作成します。各ルールには、システム生成のルール名(スキーマ名とその後ろに付加される順序番号で構成される)が付けられます。この順序番号によって、名前の競合が回避されます。スキーマ名と順序番号を組み合せた名前が長すぎる場合は、スキーマ名が切り捨てられます。取得プロセスまたは適用プロセスは、フィルタリングのためのルールを使用します。次に、DMLの変更に関して作成されるスキーマ・ルール条件の例を示します。)ADD_SUBSET_OUTBOUND_RULESプロシージャこのプロシージャは、アウトバウンド・サーバーの構成にサブセット・ルールを追加します。サブセット・ルールは、変更のサブセットを指定した表にストリーム・アウトするようにアウトバウンド・サーバーに指示します。アウトバウンド・サーバーは、行と列のサブセットをストリーム・アウトできます。このプロシージャはオーバーロードされています。一方のcolumn_listパラメータはVARCHAR2タイプで、もう一方のcolumn_listパラメータはDBMS_UTILITY.LNAME_ARRAYタイプです。これらのパラメータによって、列のリストを異なる方法で入力できますが、これらのパラメータを同時に使用することはできません。注意:このプロシージャでは、アウトバウンド・サーバーの取得プロセスにルールが追加されません。ADD_SUBSET_OUTBOUND_RULESプロシージャのパラメータパラメータ説明server_nameルールを追加中であるアウトバウンド・サーバーの名前。既存のアウトバウンド・サーバーを指定します。所有者を指定しないでください。table_name[schema_name.]object_nameの形式で指定した表の名前。hr.employeesを指定できます。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。アウトバウンド・サーバーの構成でローカルの取得プロセスが使用される場合は、表がローカル・ソース・データベースに存在している必要があります。アウトバウンド・サーバーの構成でダウンストリーム取得プロセスが使用される場合は、表がソース・データベースとダウンストリーム取得データベースの両方に存在している必要があります。RAW列を含めることはできません。conditionサブセット条件。SQLのWHERE句に条件を指定する場合と同じ方法で、サブセット条件を指定します。salaryが4000を超え、かつjob_idがSA_MANである行をhr.employees表で指定するには、次のように条件を入力します。'NULLの場合は、エラーが発生します。前述の例の引用符は、すべて一重引用符です。column_listアウトバウンド・サーバーの構成に含める列のリスト、またはアウトバウンド・サーバーの構成から除外する列のリスト。列を含めるか除外するかは、keepパラメータの設定に依存します。列は次の方法で指定できます。VARCHAR2タイプのカンマ区切りリスト。DBMS_UTILITY.LNAME_ARRAYタイプのPL/SQL結合配列(各要素は列の名前)。位置1の最初の列を指定します。最後の位置はNULLにする必要があります。表中のすべての列を含めるか除外するには、リストまたは配列内の表の各列を指定します。NULLの場合は、エラーが発生します。keepTRUEの場合、column_listパラメータで指定された列はアウトバウンド・サーバー構成の一部として維持されます。したがって、conditionパラメータの条件を満たす列の変更は、アウトバウンド・サーバーのクライアント・アプリケーションにストリームされます。FALSEの場合、column_listパラメータで指定された列はアウトバウンド・サーバー構成から除外されます。したがって、これらの列の変更はアウトバウンド・サーバーのクライアント・アプリケーションにストリームされません。「使用上の注意」source_database指定したtable_namesとschema_namesが配置されているコンテナのグローバル名。NULL以外の場合、ソース・データベースのグローバル名に基づいてLCRをフィルタリングする条件がアウトバウンド・サーバーのルールに追加されます。NULLに設定すると、生成されるルールに対してソース・データベースに関する条件が追加されません。CDBでは、ルールに関連するコンテナのグローバル名を指定してください。コンテナは、ルートまたはPDBのいずれでもかまいません。mycdb.example.comまたはhrpdb.example.comが使用できます。XStreamガイド』を参照してください。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。DBS1を指定し、ドメインがEXAMPLE.COMである場合、このプロシージャは自動的にDBS1.EXAMPLE.COMを指定します。使用上の注意keepパラメータがTRUEに設定されている場合、このプロシージャは、column_listにリストされた列に対して、keep列の宣言的なルールベース変換を作成します。keepパラメータがFALSEに設定されている場合、このプロシージャは、column_listにリストされた列ごとに、delete列の宣言的なルールベース変換を作成します。XStreamガイド』を参照してください。ADD_SUBSET_PROPAGATION_RULESプロシージャこのプロシージャは、ソース・キュー内の論理変更レコード(LCR)のうち、指定した表の行のサブセットに関連するLCRを宛先キューに伝播するための伝播ルールを追加します。指定された伝播が存在しない場合は、伝播を作成します。このプロシージャはオーバーロードされています。このプロシージャの一方のバージョンでは3つのOUTパラメータを使用しますが、もう一方のバージョンでは使用しません。ADD_SUBSET_PROPAGATION_RULESプロシージャのパラメータパラメータ説明table_name[schema_name.]object_nameの形式で指定した表の名前。hr.employeesのように指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。指定した表は、伝播と同じデータベースに存在する必要があります。RAW列またはXMLType列を使用できません。dml_conditionサブセット条件。SQLのWHERE句に条件を指定する場合と同じ方法で、サブセット条件を指定します。salaryが4000を超え、かつjob_idがSA_MANである行をhr.employees表で指定するには、次のように条件を入力します。前述の例の引用符は、すべて一重引用符です。streams_name伝播の名前。所有者を指定しないでください。指定された伝播が存在しない場合は、自動的に作成されます。このパラメータがNULLで、同じソース・キューと宛先キュー(データベース・リンクを含む)を指定した伝播がすでに存在する場合は、その伝播が使用されます。このパラメータがNULLで、同じソース・キューと宛先キュー(データベース・リンクを含む)を指定した伝播が存在しない場合は、システム生成の名前で伝播が自動的に作成されます。source_queue_nameソース・キューの名前で、[schema_name.]queue_nameの形式で指定します。現在のデータベースには、ソース・キューが含まれている必要があり、キューはANYDATAタイプである必要があります。strmadminスキーマ内のstreams_queueという名前のキューを指定するには、このパラメータにstrmadmin.streams_queueと入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。destination_queue_name宛先キュー(データベース・リンクを含む)の名前で、宛先キューがリモート・データベース内に存在する場合は、[schema_name.]queue_name[@dblink_name]と指定します。ANYDATAタイプのキューを指定してください。dbs2.netというデータベース・リンクを使用し、strmadminスキーマ内のstreams_queueという名前の宛先キューを指定するには、このパラメータにstrmadmin.streams_queue@dbs2.netと入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。データベース・リンクが省略された場合は、現行のデータベースのグローバル名が使用されます。その場合、ソース・キューと宛先キューは同じデータベース内に存在する必要があります。接続修飾子は使用できません。include_tagged_lcrTRUEの場合は、LCRにNULL以外のタグがあるかどうかに関係なく、LCRが常に伝播の対象とみなされます。データベースの完全なコピー(スタンバイなど)を作成するときには、この設定をお薦めします。FALSEの場合は、LCRにNULLのタグがあるときにかぎり、LCRが伝播の対象とみなされます。通常、変更が頻発する構成でソース・データベースに変更が循環するのを防ぐには、FALSEの設定が有効です。Streamsレプリケーション管理者ガイド』を参照してください。source_databaseソース・データベースのグローバル名。ソース・データベースは、変更が発生したデータベースです。NULLに設定すると、生成されるルールに対してソース・データベースに関する条件が追加されません。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。ドメイン名が.NETの場合にDBS1を指定すると、自動的にDBS1.NETが指定されます。伝播ルールではソース・データベースを指定することをお薦めします。insert_rule_nameシステムによって生成されたINSERTルール名が出力されます。このルールによって、挿入と、挿入に変換する必要がある更新が制御されます。update_rule_nameシステムによって生成されたUPDATEルール名が出力されます。このルールによって、更新のまま変換されない更新が制御されます。delete_rule_nameシステムによって生成されたDELETEルール名が出力されます。このルールによって、削除と、削除に変換する必要がある更新が制御されます。queue_to_queueTRUEまたはNULLの場合、このプロシージャによって作成される新しい伝播は、キューからキューへの伝播です。RAC)データベースでバッファに入れられたキューの場合、自動フェイルオーバーのサービスが使用されます。FALSEの場合、このプロシージャによって作成される新しい伝播はキューからデータベース・リンクへの伝播です。RAC環境での自動フェイルオーバーはサポートされません。このプロシージャでは、既存の伝播のqueue_to_queueプロパティは変更できません。指定した伝播が存在する場合は、それぞれの設定に対して次のように処理されます。このパラメータがTRUEで、指定した伝播がキューからキューへの伝播でない場合は、エラーが発生します。このパラメータがFALSEで、指定した伝播がキューからキューへの伝播の場合は、エラーが発生します。このパラメータがNULL場合、伝播のqueue_to_queueプロパティは変更されません。Streams概要および管理』を参照してください。使用上の注意このプロシージャは、現行のユーザーを使用して伝播を構成します。特定のソース・キューと宛先キューの間で許可される伝播は1つのみです。このプロシージャを実行すると、指定された伝播に対して3つのルール(INSERT文に関するルール、UPDATE文に関するルール、DELETE文に関するルール)が生成されます。INSERT文とDELETE文については、dml_conditionパラメータで指定された条件を満たす行LCRのみが伝播されます。UPDATE文については、次のバリエーションがあります。行LCRの新旧の値が両方とも指定のdml_conditionを満たす場合、その行LCRは変更なしで伝播されます。行LCRの新旧の値が両方とも指定のdml_conditionを満たさない場合、その行LCRは伝播されません。行LCRの古い値が指定のdml_conditionを満たし、新しい値が満たさない場合、更新行LCRは削除行LCRに変換されます。行LCRの新しい値が指定のdml_conditionを満たし、古い値が満たさない場合、更新行LCRは挿入行LCRに変換されます。更新が挿入または削除に変換されることを行の移行と呼びます。伝播では、これらのルールがフィルタ処理に使用されます。伝播にポジティブ・ルール・セットがない場合は、ポジティブ・ルール・セットが自動的に作成され、表に変更を伝播するためのルールがポジティブ・ルール・セットに追加されます。サブセット・ルールはポジティブ・ルール・セットのみに追加可能で、ネガティブ・ルール・セットには追加できません。伝播の既存のポジティブ・ルール・セット内にある他のルールは、この影響を受けません。追加ルールは、DBMS_XSTREAM_ADMパッケージまたはDBMS_RULE_ADMパッケージのいずれかを使用して追加できます。このプロシージャを実行すると、INSERT文、UPDATE文およびDELETE文のルールが自動的に作成され、これらのルールには、システム生成のルール名が指定されます。各ルールには、システム生成のルール名(表名とその後ろに付加される順序番号で構成される)が付けられます。この順序番号によって、名前の競合が回避されます。表名と順序番号を組み合せた名前が長すぎる場合は、表名が切り捨てられます。ADD_SUBSET_RULESプロシージャがオーバーロードされているため、INSERT文、UPDATE文およびDELETE文に対するシステム生成のルール名が戻されます。表のサブセット・ルールを作成する場合は、表のすべての列を保持するソース・データベースで、無条件のサプリメンタル・ログ・グループを作成してください。サプリメンタル・ロギングは、更新を挿入に変換する必要がある場合に必要です。この変換を正しく実行するには、伝播ルールに列値がすべて設定されている必要があります。注意:サブセット・ルールはポジティブ・ルール・セットの内部のみで使用できます。ネガティブ・ルール・セットにはサブセット・ルールを追加できません。ネガティブ・ルール・セットにサブセット・ルールを追加すると、ネガティブ・ルール・セットによって破棄されないLCRに対して行の移行が実行されないため、予期しない結果が発生する場合があります。次に、行LCRのフィルタ処理に関して作成されるルール条件の例を示します。2、table_nameがhr.regions、およびsource_databaseがdbs1.netである場合の更新操作を示します。(:dml.get_value('NEW','"REGION_ID"').AccessNumber()=2)ADD_SUBSET_RULESプロシージャこのプロシージャは、次のいずれかのタイプのXStreamクライアントのルール・セットにルールを追加します。streams_typeパラメータをcaptureに設定すると、このプロシージャは、指定した表の行のサブセットに対する変更を取得する取得プロセス・ルールを追加します。このプロシージャは、指定した取得プロセスが存在しない場合にそれを作成します。streams_typeパラメータをapplyに設定し、streams_nameパラメータで適用プロセス、アウトバウンド・サーバーまたはインバウンド・サーバーの名前を指定すると、このプロシージャは、指定した表の行のサブセットに対する変更が記録されている論理変更レコード(LCR)を適用する適用ルールを追加します。このルールでは、特定のソース・データベースに属するLCRのみをルールの対象として指定できます。このプロシージャは、指定したstreams_nameを持つ適用プロセス、アウトバウンド・サーバーまたはインバウンド・サーバーが存在しない場合に適用プロセスを作成します。このプロシージャはアウトバウンド・サーバーまたはインバウンド・サーバーにルールを追加できますが、アウトバウンド・サーバーまたはインバウンド・サーバーを作成することはできません。このプロシージャはオーバーロードされています。このプロシージャの一方のバージョンでは3つのOUTパラメータを使用しますが、もう一方のバージョンでは使用しません。ADD_SUBSET_RULESプロシージャのパラメータパラメータ説明table_name[schema_name.]object_nameの形式で指定した表の名前。hr.employeesのように指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。指定した表は、取得プロセスまたは適用プロセスと同じデータベースに存在している必要があります。RAW列またはXMLType列を使用できません。dml_conditionサブセット条件。SQLのWHERE句に条件を指定する場合と同じ方法で、サブセット条件を指定します。salaryが4000を超え、かつjob_idがSA_MANである行をhr.employees表で指定するには、次のように条件を入力します。前述の例の引用符は、すべて一重引用符です。streams_typeXStreamクライアントのタイプ:取得プロセスの場合は、capture。適用プロセスの場合は、apply。streams_name取得プロセスまたは適用プロセスの名前。所有者を指定しないでください。NULLの場合、streams_typeがcaptureの場合、そしてキューに関連する取得プロセスが存在している場合は、該当するXStreamクライアントが使用されます。キューに関連するXStreamクライアントが存在しない場合は、XStreamクライアントがシステム生成の名前で自動的に作成されます。NULLで、指定したstreams_typeのXStreamクライアントがキューに対して複数存在する場合は、エラーが発生します。このパラメータがNULLで、streams_typeパラメータがapplyであり、関連する適用プロセスが1つ存在する場合は、その適用プロセスが使用されます。関連する適用プロセスは、次のいずれかの方法で選択されます。source_databaseで指定されるソース・データベースを使用し、queue_nameで指定されるキューを使用する既存の適用プロセスが1つ存在する場合は、その適用プロセスが選択されます。source_databaseがNULLで、queue_nameで指定されるキューを使用する既存の適用プロセスが1つ存在する場合は、その適用プロセスが選択されます。このパラメータがNULLで、関連する適用プロセスが存在しない場合は、システム生成の名前で適用プロセスが自動的に作成されます。このパラメータがNULLで、関連する適用プロセスが複数存在する場合は、エラーが発生します。適用プロセスには、それぞれ一意の名前を付ける必要があります。queue_nameローカル・キューの名前で、[schema_name.]queue_nameの形式で指定します。現行のデータベースにキューが含まれている必要があり、キューはANYDATAタイプを指定する必要があります。strmadminスキーマ内のstreams_queueという名前のキューを指定するには、このパラメータにstrmadmin.streams_queueと入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。取得プロセス・ルールの場合は、取得プロセスによってLCRがエンキューされるキューを指定します。アウトバウンド・サーバーのルールの場合、これはアウトバウンド・サーバーがLCRをデキューするキューになります。インバウンド・サーバーのルールの場合、これはインバウンド・サーバーがエラー・トランザクションをエンキューするキューになります。include_tagged_lcrTRUEの場合、XStreamクライアントはタグに関係なく、そのアクションを実行します。REDOエントリは、NULL以外のタグがあるかどうかに関係なく、常に取得プロセスによる取得の対象とみなされます。LCRは、REDOエントリまたはLCRにNULL以外のタグがあるかどうかに関係なく、常に適用プロセスによる適用の対象とみなされます。FALSEの場合、XStreamクライアントは、タグがNULLの場合にのみアクションを実行します。REDOエントリは、NULLタグがある場合にのみ、取得プロセスによる取得の対象とみなされます。LCRは、NULLタグがある場合にのみ、適用プロセスによる適用の対象とみなされます。通常、変更が頻発する構成でソース・データベースに変更が循環するのを防ぐには、FALSEの設定が有効です。Streamsレプリケーション管理者ガイド』を参照してください。source_databaseソース・データベースのグローバル名。NULLに設定すると、生成されるルールに対してソース・データベースに関する条件が追加されません。取得プロセス・ルールの場合、ソース・データベース上でローカルに取得プロセスを作成するには、NULLを指定するか、ローカル・データベースのグローバル名を指定します。ダウンストリーム・データベース上のダウンストリーム取得プロセスのルール・セットにルールを追加する場合は、変更が取得されるソース・データベースを指定します。適用プロセス・ルールの場合は、適用プロセスによって適用される変更のソース・データベースを指定します。ソース・データベースは、変更が発生したデータベースです。取得されたLCRを適用プロセスで適用する場合、適用プロセスによって適用できるのは、1つのソース・データベースでの1つの取得プロセスによるLCRのみです。CDBでは、ルールに関連するコンテナのグローバル名を指定してください。コンテナは、ルートまたはPDBのいずれでもかまいません。mycdb.example.comまたはhrpdb.example.comが使用できます。XStreamガイド』を参照してください。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。ドメイン名が.NETの場合にDBS1を指定すると、自動的にDBS1.NETが指定されます。insert_rule_nameシステムによって生成されたINSERTルール名が出力されます。このルールによって、挿入と、挿入に変換する必要がある更新が制御されます。update_rule_nameシステムによって生成されたUPDATEルール名が出力されます。このルールによって、更新のまま変換されない更新が制御されます。delete_rule_nameシステムによって生成されたDELETEルール名が出力されます。このルールによって、削除と、削除に変換する必要がある更新が制御されます。source_root_nameソースCDBのルートのグローバル名。mycdb.example.comです。このパラメータがNULLの場合は、ローカルCDBにあるルートのグローバル名が使用されます。ダウンストリーム取得を構成している場合、このパラメータは非NULL値である必要があり、リモート・ソースCDBにあるルートのグローバル名を指定する必要があります。XStreamガイド』を参照してください。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。DBS1を指定し、ドメインがEXAMPLE.COMである場合、このプロシージャは自動的にDBS1.EXAMPLE.COMを指定します。このパラメータはCDBにのみ適用されます。source_container_nameソース・コンテナの短縮名。コンテナは、ルートまたはPDBのいずれでもかまいません。CDB$ROOTまたはhrpdbです。XStreamガイド』を参照してください。このパラメータはCDBにのみ適用されます。使用上の注意このプロシージャを実行すると、指定された取得プロセスまたは適用プロセスに対して3つのルール(INSERT文に関するルール、UPDATE文に関するルール、DELETE文に関するルール)が生成されます。INSERT文とDELETE文については、dml_conditionパラメータで指定された条件を満たすDML変更のみが取得または適用の対象となります。UPDATE文については、次のバリエーションがあります。DML変更の新旧の値が両方とも指定のdml_conditionを満たす場合、そのDML変更は変更なしでそのまま取得または適用されます。DML変更の新旧の値が両方とも指定のdml_conditionを満たさない場合、そのDML変更は取得または適用されません。DML変更の古い値が指定のdml_conditionを満たし、新しい値が満たさない場合、DML変更は削除に変換されます。DML変更の新しい値が指定のdml_conditionを満たし、古い値が満たさない場合、DML変更は挿入に変換されます。更新が挿入または削除に変換されることを行の移行と呼びます。取得プロセスまたは適用プロセスは、フィルタリングのためのルールを使用します。XStreamクライアントにポジティブ・ルール・セットがない場合は、ポジティブ・ルール・セットが自動的に作成され、表に関するルールがポジティブ・ルール・セットに追加されます。サブセット・ルールはポジティブ・ルール・セットのみに追加可能で、ネガティブ・ルール・セットには追加できません。プロセスの既存のルール・セット内にある他のルールは、この影響を受けません。追加ルールは、DBMS_XSTREAM_ADMパッケージまたはDBMS_RULE_ADMパッケージのいずれかを使用して追加できます。このプロシージャを実行すると、INSERT文、UPDATE文およびDELETE文のルールが自動的に作成され、これらのルールには、システム生成のルール名が指定されます。各ルールには、システム生成のルール名(表名とその後ろに付加される順序番号で構成される)が付けられます。この順序番号によって、名前の競合が回避されます。表名と順序番号を組み合せた名前が長すぎる場合は、表名が切り捨てられます。ADD_SUBSET_RULESプロシージャがオーバーロードされているため、INSERT文、UPDATE文およびDELETE文に対するシステム生成のルール名が戻されます。注意:サブセット・ルールはポジティブ・ルール・セットの内部のみで使用できます。ネガティブ・ルール・セットにはサブセット・ルールを追加できません。ネガティブ・ルール・セットにサブセット・ルールを追加すると、ネガティブ・ルール・セットによって破棄されないLCRに対して行の移行が実行されないため、予期しない結果が発生する場合があります。次に、DML変更のフィルタ処理に関して作成されるルール条件の例を示します。2、table_nameがhr.regions、かつsource_databaseがdbs1.netである場合の更新操作を示します。(:dml.get_value('NEW','"REGION_ID"').AccessNumber()=2)ADD_TABLE_PROPAGATION_RULESプロシージャこのプロシージャは、伝播のポジティブ・ルール・セットまたはネガティブ・ルール・セットに表ルールを追加します。指定された伝播が存在しない場合は、伝播を作成します。このプロシージャはオーバーロードされています。このプロシージャの一方のバージョンでは2つのOUTパラメータを使用しますが、もう一方のバージョンでは使用しません。ADD_TABLE_PROPAGATION_RULESプロシージャのパラメータパラメータ説明table_name表の名前で、[schema_name.]table_nameの形式で指定します。hr.employeesのように指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。streams_name伝播の名前。所有者を指定しないでください。指定された伝播が存在しない場合は、自動的に作成されます。このパラメータがNULLで、同じソース・キューと宛先キュー(データベース・リンクを含む)を指定した伝播がすでに存在する場合は、その伝播が使用されます。このパラメータがNULLで、同じソース・キューと宛先キュー(データベース・リンクを含む)を指定した伝播が存在しない場合は、システム生成の名前で伝播が自動的に作成されます。source_queue_nameソース・キューの名前で、[schema_name.]queue_nameの形式で指定します。現在のデータベースには、ソース・キューが含まれている必要があり、キューはANYDATAタイプである必要があります。strmadminスキーマ内のstreams_queueという名前のキューを指定するには、このパラメータにstrmadmin.streams_queueと入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。destination_queue_name宛先キュー(データベース・リンクを含む)の名前で、宛先キューがリモート・データベース内に存在する場合は、[schema_name.]queue_name[@dblink_name]と指定します。ANYDATAタイプのキューを指定してください。dbs2.netというデータベース・リンクを使用し、strmadminスキーマ内のstreams_queueという名前の宛先キューを指定するには、このパラメータにstrmadmin.streams_queue@dbs2.netと入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。データベース・リンクが省略された場合は、現行のデータベースのグローバル名が使用されます。その場合、ソース・キューと宛先キューは同じデータベース内に存在する必要があります。接続修飾子は使用できません。include_dmlTRUEに設定すると、DMLの変更に関するルールが作成されます。FALSEに設定すると、DMLルールは作成されません。NULLは許可されません。include_ddlTRUEに設定すると、DDLの変更に関するルールが作成されます。FALSEに設定すると、DDLルールは作成されません。NULLは許可されません。生成されるルールは、表で動作するDDL変更または表内のオブジェクト(表の索引、トリガーなど)で動作するDDL変更に対してはTRUEと評価されます。表を参照しないDDL変更または下位の表を参照するDDL変更に対してはFALSEと評価されます。表に基づいてシノニムまたはビューを作成する変更に対してはFALSEと評価されます。表を参照するPL/SQLサブプログラムへの変更に対してもFALSEと評価されます。Streamsタグに関する条件が追加されません。したがって、これらのルールは、論理変更レコード(LCR)にNULL以外のタグがあるかどうかに関係なく、TRUEと評価されます。伝播のポジティブ・ルール・セットにルールが追加される場合、NULL以外のタグがLCRにあるかどうかに関係なく、LCRは常に伝播の対象とみなされます。ポジティブ・ルール・セットにルールが追加される場合は、データベースの完全なコピー(スタンバイなど)を作成するときに、このパラメータをTRUEに設定することをお薦めします。伝播のネガティブ・ルール・セットにルールが追加される場合は、LCRのタグの値に関係なく、LCRが破棄されます。Streamsタグがあるときにかぎり、ルールがTRUEと評価される条件が、生成される各ルールに追加されます。伝播のポジティブ・ルール・セットにルールが追加される場合、LCRにNULLのタグがあるときにかぎり、LCRが伝播の対象とみなされます。ポジティブ・ルール・セットにルールが追加される場合は、変更が頻発する構成でソース・データベースに変更が循環するのを防ぐために、このパラメータをFALSEに設定することをお薦めします。伝播のネガティブ・ルール・セットにルールが追加される場合は、LCRにNULLのタグがあるときにかぎり、LCRを破棄できます。inclusion_ruleパラメータをFALSEに設定する場合は、通常、このパラメータをTRUEに設定してください。Streamsレプリケーション管理者ガイド』を参照してください。source_databaseソース・データベースのグローバル名。ソース・データベースは、変更が発生したデータベースです。NULLに設定すると、生成されるルールに対してソース・データベースに関する条件が追加されません。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。ドメイン名が.NETの場合にDBS1を指定すると、自動的にDBS1.NETが指定されます。伝播ルールではソース・データベースを指定することをお薦めします。dml_rule_nameinclude_dmlがTRUEの場合は、このパラメータでDMLルールの名前を指定します。include_dmlがFALSEの場合は、このパラメータをNULLに設定します。ddl_rule_nameinclude_ddlがTRUEの場合は、このパラメータでDDLルールの名前を指定します。include_ddlがFALSEの場合は、このパラメータをNULLに設定します。inclusion_ruleinclusion_ruleをTRUEに設定すると、伝播のポジティブ・ルール・セットにルールが追加されます。inclusion_ruleをFALSEに設定すると、伝播のネガティブ・ルール・セットにルールが追加されます。どちらの場合も、ルール・セットが存在しないときは、自動的に作成されます。and_conditionこのパラメータにNULL以外の文字列を指定すると、次に示すようにAND句によって、システム生成されるルール条件の後に指定した条件が追加されます。(and_condition)指定する条件の変数は、必ず:lcrを使用してください。Streamsタグの16進表現が'02'の場合にかぎり、このプロシージャで生成される表ルールをTRUEと評価するには、次のように条件を指定します。HEXTORAW(''02'')指定した条件内の:lcr変数は、生成されるルールのタイプに応じて、:dmlまたは:ddlに変換されます。LCR)に依存するLCRメンバー・サブプログラムを指定する場合は、このプロシージャによって適切なルールのみが生成されるように確認する必要があります。行LCRに対してのみ有効なLCRメンバー・サブプログラムを指定する場合は、include_dmlパラメータをTRUEに、include_ddlパラメータをFALSEに設定します。LCRに対してのみ有効なLCRメンバー・サブプログラムを指定する場合は、include_dmlパラメータをFALSEに、include_ddlパラメータをTRUEに設定します。第275章「論理変更レコードのタイプ」queue_to_queueTRUEまたはNULLの場合、このプロシージャによって作成される新しい伝播は、キューからキューへの伝播です。RAC)データベースでバッファに入れられたキューの場合、自動フェイルオーバーのサービスが使用されます。FALSEの場合、このプロシージャによって作成される新しい伝播はキューからデータベース・リンクへの伝播です。RAC環境での自動フェイルオーバーはサポートされません。このプロシージャでは、既存の伝播のqueue_to_queueプロパティは変更できません。指定した伝播が存在する場合は、それぞれの設定に対して次のように処理されます。このパラメータがTRUEで、指定した伝播がキューからキューへの伝播でない場合は、エラーが発生します。このパラメータがFALSEで、指定した伝播がキューからキューへの伝播の場合は、エラーが発生します。このパラメータがNULL場合、伝播のqueue_to_queueプロパティは変更されません。Streams概要および管理』を参照してください。使用上の注意このプロシージャは、現行のユーザーを使用して伝播を構成します。特定のソース・キューと宛先キューの間で許可される伝播は1つのみです。このプロシージャは、include_dmlパラメータ値とinclude_ddlパラメータ値に基づいて、DMLとDDLのルールをそれぞれ自動的に作成します。各ルールには、システム生成のルール名(表名とその後ろに付加される順序番号で構成される)が付けられます。この順序番号によって、名前の競合が回避されます。表名と順序番号を組み合せた名前が長すぎる場合は、表名が切り捨てられます。伝播では、これらのルールがフィルタ処理に使用されます。次に、DML文のフィルタ処理に関して作成される表ルール条件の例を示します。)ADD_TABLE_RULESプロシージャこのプロシージャは、次のいずれかのタイプのXStreamクライアントのルール・セットにルールを追加します。streams_typeパラメータをcaptureに設定すると、このプロシージャは、指定した表に対する変更を取得する取得プロセス・ルールを追加します。このプロシージャは、指定した取得プロセスが存在しない場合にそれを作成します。streams_typeパラメータをapplyに設定し、streams_nameパラメータで適用プロセス、アウトバウンド・サーバー、またはインバウンド・サーバーの名前を指定すると、このプロシージャは、指定した表の変更が記録されている論理変更レコード(LCR)を適用する適用ルールを追加します。このルールでは、特定のソース・データベースに属するLCRのみをルールの対象として指定できます。このプロシージャは、指定したstreams_nameを持つ適用プロセス、アウトバウンド・サーバーまたはインバウンド・サーバーが存在しない場合に適用プロセスを作成します。このプロシージャはアウトバウンド・サーバーまたはインバウンド・サーバーにルールを追加できますが、アウトバウンド・サーバーまたはインバウンド・サーバーを作成することはできません。このプロシージャはオーバーロードされています。このプロシージャの一方のバージョンでは2つのOUTパラメータを使用しますが、もう一方のバージョンでは使用しません。ADD_TABLE_RULESプロシージャのパラメータパラメータ説明table_name[schema_name.]object_nameの形式で指定した表の名前。hr.employeesのように指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。Streamsでは表の有無がチェックされないため、まだ存在しない表も指定できます。streams_typeXStreamクライアントのタイプ:取得プロセスの場合は、capture。適用プロセスの場合は、apply。streams_name取得プロセスまたは適用プロセスの名前。所有者を指定しないでください。NULLの場合、streams_typeがcaptureの場合、そしてキューに関連する取得プロセスが存在している場合は、該当するXStreamクライアントが使用されます。キューに関連するXStreamクライアントが存在しない場合は、XStreamクライアントがシステム生成の名前で自動的に作成されます。NULLで、指定したstreams_typeのXStreamクライアントがキューに対して複数存在する場合は、エラーが発生します。このパラメータがNULLで、streams_typeパラメータがapplyであり、関連する適用プロセスが1つ存在する場合は、その適用プロセスが使用されます。関連する適用プロセスは、次のいずれかの方法で選択されます。source_databaseで指定されるソース・データベースを使用し、queue_nameで指定されるキューを使用する既存の適用プロセスが1つ存在する場合は、その適用プロセスが選択されます。source_databaseがNULLで、queue_nameで指定されるキューを使用する既存の適用プロセスが1つ存在する場合は、その適用プロセスが選択されます。このパラメータがNULLで、関連する適用プロセスが存在しない場合は、システム生成の名前で適用プロセスが自動的に作成されます。このパラメータがNULLで、関連する適用プロセスが複数存在する場合は、エラーが発生します。適用プロセスには、それぞれ一意の名前を付ける必要があります。queue_nameローカル・キューの名前で、[schema_name.]queue_nameの形式で指定します。現行のデータベースにキューが含まれている必要があり、キューはANYDATAタイプを指定する必要があります。strmadminスキーマ内のstreams_queueという名前のキューを指定するには、このパラメータにstrmadmin.streams_queueと入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。取得プロセス・ルールの場合は、取得プロセスによってLCRがエンキューされるキューを指定します。アウトバウンド・サーバーのルールの場合、これはアウトバウンド・サーバーがLCRをデキューするキューになります。インバウンド・サーバーのルールの場合、これはインバウンド・サーバーがエラー・トランザクションをエンキューするキューになります。include_dmlTRUEに設定すると、DMLの変更に関するDMLルールが作成されます。FALSEに設定すると、DMLルールは作成されません。NULLは許可されません。include_ddlTRUEに設定すると、DDLの変更に関するDDLルールが作成されます。FALSEに設定すると、DDLルールは作成されません。NULLは許可されません。生成されるルールは、表で動作するDDL変更または表内のオブジェクト(表の索引、トリガーなど)で動作するDDL変更に対してはTRUEと評価されます。表を参照しないDDL変更または下位の表を参照するDDL変更に対してはFALSEと評価されます。表に基づいてシノニムまたはビューを作成する変更に対してはFALSEと評価されます。表を参照するPL/SQLサブプログラムへの変更に対してもFALSEと評価されます。Streamsタグに関する条件が追加されません。したがって、これらのルールは、REDOエントリ、セッションまたはLCRにNULL以外のタグがあるかどうかに関係なく、TRUEと評価されます。XStreamクライアントのポジティブ・ルール・セットにルールが追加されている場合、XStreamクライアントはタグに関係なくそのアクションを実行します。REDOエントリは、NULL以外のタグがあるかどうかに関係なく、常に取得プロセスによる取得の対象とみなされます。LCRは、REDOエントリまたはLCRにNULL以外のタグがあるかどうかに関係なく、常に適用プロセスによる適用の対象とみなされます。ポジティブ・ルール・セットにルールが追加される場合は、データベースの完全なコピー(スタンバイなど)を作成するときに、このパラメータをTRUEに設定することをお薦めします。XStreamクライアントのネガティブ・ルール・セットにルールが追加される場合は、タグの値に関係なく、データベース変更が破棄されます。Streamsタグがあるときにかぎり、ルールがTRUEと評価される条件が、生成される各ルールに追加されます。XStreamクライアントのポジティブ・ルール・セットにルールが追加される場合、XStreamクライアントは、タグがNULLの場合にのみ、そのアクションを実行します。REDOエントリは、NULLタグがある場合にのみ、取得プロセスによる取得の対象とみなされます。LCRは、NULLタグがある場合にのみ、適用プロセスによる適用の対象とみなされます。ポジティブ・ルール・セットにルールが追加される場合は、変更が頻発する構成でソース・データベースに変更が循環するのを防ぐために、このパラメータをFALSEに設定することをお薦めします。XStreamクライアントのネガティブ・ルール・セットにルールが追加される場合は、NULLのタグがあるときにかぎり、データベース変更を破棄できます。通常、変更が頻発する構成でソース・データベースに変更が循環するのを防ぐには、FALSEの設定が有効です。inclusion_ruleパラメータをFALSEに設定する場合は、通常、このパラメータをTRUEに設定してください。Streamsレプリケーション管理者ガイド』を参照してください。source_databaseソース・データベースのグローバル名。NULLに設定すると、生成されるルールに対してソース・データベースに関する条件が追加されません。取得プロセス・ルールの場合、ソース・データベース上でローカルに取得プロセスを作成するには、NULLを指定するか、ローカル・データベースのグローバル名を指定します。ダウンストリーム・データベース上のダウンストリーム取得プロセスのルール・セットにルールを追加する場合は、変更が取得されるソース・データベースを指定します。適用プロセス・ルールの場合は、適用プロセスによって適用される変更のソース・データベースを指定します。ソース・データベースは、変更が発生したデータベースです。取得されたLCRを適用プロセスで適用する場合、適用プロセスによって適用できるのは、1つのソース・データベースでの1つの取得プロセスによるLCRのみです。CDBでは、ルールに関連するコンテナのグローバル名を指定してください。コンテナは、ルートまたはPDBのいずれでもかまいません。mycdb.example.comまたはhrpdb.example.comが使用できます。XStreamガイド』を参照してください。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。ドメイン名が.NETの場合にDBS1を指定すると、自動的にDBS1.NETが指定されます。dml_rule_nameinclude_dmlがTRUEの場合は、このパラメータでDMLルールの名前を指定します。include_dmlがFALSEの場合は、このパラメータをNULLに設定します。ddl_rule_nameinclude_ddlがTRUEの場合は、このパラメータでDDLルールの名前を指定します。include_ddlがFALSEの場合は、このパラメータをNULLに設定します。inclusion_ruleinclusion_ruleがTRUEの場合、このプロシージャはXStreamクライアントのポジティブ・ルール・セットにルールを追加します。inclusion_ruleがFALSEの場合、ルールはXStreamクライアントのネガティブ・ルール・セットに追加されます。どちらの場合も、ルール・セットが存在しないときは、自動的に作成されます。and_conditionこのパラメータにNULL以外の文字列を指定すると、次に示すようにAND句によって、システム生成されるルール条件の後に指定した条件が追加されます。(and_condition)指定する条件の変数は、必ず:lcrを使用してください。Streamsタグの16進表現が'02'の場合にかぎり、このプロシージャで生成される表ルールをTRUEと評価するには、次のように条件を指定します。HEXTORAW(''02'')指定した条件内の:lcr変数は、生成されるルールのタイプに応じて、:dmlまたは:ddlに変換されます。LCR)に依存するLCRメンバー・サブプログラムを指定する場合は、このプロシージャによって適切なルールのみが生成されるように確認する必要があります。行LCRに対してのみ有効なLCRメンバー・サブプログラムを指定する場合は、include_dmlパラメータをTRUEに、include_ddlパラメータをFALSEに設定します。LCRに対してのみ有効なLCRメンバー・サブプログラムを指定する場合は、include_dmlパラメータをFALSEに、include_ddlパラメータをTRUEに設定します。第275章「論理変更レコードのタイプ」source_root_nameソースCDBのルートのグローバル名。mycdb.example.comです。このパラメータがNULLの場合は、ローカルCDBにあるルートのグローバル名が使用されます。ダウンストリーム取得を構成している場合、このパラメータは非NULL値である必要があり、リモート・ソースCDBにあるルートのグローバル名を指定する必要があります。XStreamガイド』を参照してください。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。DBS1を指定し、ドメインがEXAMPLE.COMである場合、このプロシージャは自動的にDBS1.EXAMPLE.COMを指定します。このパラメータはCDBにのみ適用されます。source_container_nameソース・コンテナの短縮名。コンテナは、ルートまたはPDBのいずれでもかまいません。CDB$ROOTまたはhrpdbです。XStreamガイド』を参照してください。このパラメータはCDBにのみ適用されます。使用上の注意このプロシージャは、include_dmlパラメータ値とinclude_ddlパラメータ値に基づいて、DMLとDDLのルールをそれぞれ自動的に作成します。各ルールには、システム生成のルール名(表名とその後ろに付加される順序番号で構成される)が付けられます。この順序番号によって、名前の競合が回避されます。表名と順序番号を組み合せた名前が長すぎる場合は、表名が切り捨てられます。取得プロセスまたは適用プロセスは、フィルタリングのためのルールを使用します。次に、DMLの変更に関して作成される表ルール条件の例を示します。)ALTER_INBOUNDプロシージャこのプロシージャは、XStreamインバウンド・サーバーを変更します。ALTER_INBOUNDプロシージャのパラメータパラメータ説明server_name変更中のインバウンド・サーバーの名前。既存のインバウンド・サーバーを指定します。所有者を指定しないでください。apply_userインバウンド・サーバーのルール・セットを満たすDMLおよびDDL変更をすべて適用するユーザー、ユーザー定義の適用ハンドラを実行するユーザー、およびインバウンド・サーバーのルール用に構成されたカスタムのルールベース変換を実行するユーザー。クライアント・アプリケーションは、適用ユーザーとしてインバウンド・サーバーに連結する必要があります。ユーザーを指定して、適用ユーザーを変更してください。この場合、ALTER_INBOUNDプロシージャを起動するユーザーにDBAロールを付与する必要があります。apply_userをSYSに設定できるのは、SYSユーザーに限られています。NULLの場合、適用ユーザーは変更されません。適用ユーザーに必要な権限の詳細は、「CREATE_INBOUNDプロシージャ」を参照してください。commentインバウンド・サーバーに関連付けられたオプションのコメント。NULL以外の場合、既存のコメントにかわって指定されたコメントが表示されます。NULLの場合、既存のコメントは変更されません。ALTER_OUTBOUNDプロシージャこのプロシージャは、XStreamアウトバウンド・サーバーの構成を変更します。このプロシージャは、指定されたアウトバウンド・サーバーを常に変更します。次の条件のいずれかが満たされた場合、このプロシージャはアウトバウンド・サーバーの取得プロセスを変更することもできます。取得プロセスがこのパッケージのCREATE_OUTBOUNDプロシージャによって作成されました。取得プロセスで使用されたキューは、CREATE_OUTBOUNDプロシージャによって作成されました。このプロシージャがアウトバウンド・サーバーの取得プロセスを変更できるかどうかを確認するには、ALL_XSTREAM_OUTBOUNDビューのCAPTURE_NAME列を問い合せます。取得プロセスの名前がこのビューのCAPTURE_NAME列に表示される場合、ALTER_OUTBOUNDプロシージャは取得プロセスのルールを管理するか、取得プロセスの取得ユーザーを変更することができます。このビューのCAPTURE_NAME列がNULLの場合、ALTER_OUTBOUNDプロシージャは取得プロセスを管理できません。このプロシージャはオーバーロードされています。1つのtable_namesパラメータは、VARCHAR2タイプで、もう1つのtable_namesパラメータは、DBMS_UTILITY.UNCL_ARRAYタイプです。一方のschema_namesパラメータはVARCHAR2タイプで、もう一方のschema_namesパラメータはDBMS_UTILITY.UNCL_ARRAYタイプです。これらのパラメータを使用して、表とスキーマのリストをそれぞれ別の方法で入力することができます。これらのパラメータは相互に排他的です。(11.2.0.2)から、このプロシージャにstart_scnおよびstart_timeの各パラメータが組み込まれています。ALTER_OUTBOUNDプロシージャのパラメータパラメータ説明server_name変更中のアウトバウンド・サーバーの名前。既存のアウトバウンド・サーバーを指定します。所有者を指定しないでください。Out構成から削除される表。表が追加されるか、または変更されるかは、addパラメータの設定に依存します。表は、次の方法で指定できます。VARCHAR2タイプのカンマ区切りリスト。DBMS_UTILITY.UNCL_ARRAYタイプのPL/SQL連想配列で、表の名前が各要素になります。位置1の最初の表を指定します。最後の位置はNULLにする必要があります。それぞれの表は、[schema_name.]table_nameという形式で指定する必要があります。hr.employeesのように指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。このパラメータの詳細は、「使用上の注意」を参照してください。Out構成から削除されるスキーマ。スキーマが追加されるか、または削除されるかは、addパラメータの設定に依存します。スキーマは、次の方法で指定できます。VARCHAR2タイプのカンマ区切りリスト。DBMS_UTILITY.UNCL_ARRAYタイプのPL/SQL連想配列で、スキーマの名前が各要素になります。位置1の最初のスキーマを指定します。最後の位置はNULLにする必要があります。このプロシージャでは、schema_namesパラメータとtable_namesパラメータは連結されません。表を指定するには、完全修飾された表名をtable_namesパラメータ(schema_name.table_name)に入力します。このパラメータの詳細は、「使用上の注意」を参照してください。Out構成に追加します。Out構成から削除します。capture_userユーザーを指定しますが、このユーザーのセキュリティ・ドメイン内で、取得プロセスは、取得プロセスのルール・セットを満たす変更を取得し、取得プロセス・ルールに対して構成されているカスタム・ルールベースの変換を実行します。ユーザーを指定して、取得ユーザーを変更してください。この場合、ALTER_OUTBOUNDプロシージャを起動するユーザーにDBAロールを付与する必要があります。capture_userをSYSに設定できるのは、SYSユーザーに限られています。NULLの場合、取得ユーザーは変更されません。取得ユーザーを変更すると、取得プロセスで使用されるキューに対するエンキュー権限が新しい取得ユーザーに付与され、その取得ユーザーがセキュアなキュー・ユーザーとして構成されます。取得ユーザーに、その他の必須権限が付与されていることを確認してください。取得ユーザーに必要な権限の詳細は、「CREATE_OUTBOUNDプロシージャ」を参照してください。このパラメータの値を変更すると、取得プロセスは自動的に停止し、再開します。CASCADEを使用して削除されると、取得プロセスも自動的に削除されます。connect_user指定したアウトバウンド・サーバーに連結して変更ストリームを取得できるユーザー。XStreamクライアント・アプリケーションは、指定された接続ユーザーとしてアウトバウンド・サーバーに連結する必要があります。ユーザーを指定して、接続ユーザーを変更してください。この場合、ALTER_OUTBOUNDプロシージャを起動するユーザーにDBAロールを付与する必要があります。SYSユーザーのみがconnect_userをSYSに設定できます。NULLの場合、接続ユーザーは変更されません。接続ユーザーを変更すると、アウトバウンド・サーバーで使用されるキューに対するデキュー権限が新しい接続ユーザーに付与され、そのユーザーがセキュアなキュー・ユーザーとして構成されます。接続ユーザーにその他の必須権限が付与されていることを確認してください。接続ユーザーに必要な権限の詳細は、「CREATE_OUTBOUNDプロシージャ」を参照してください。commentアウトバウンド・サーバーに関連付けられたオプションのコメント。NULL以外の場合、既存のコメントにかわって指定されたコメントが表示されます。NULLの場合、既存のコメントは変更されません。Out構成のポジティブ・ルール・セットに追加されます。Out構成は表とスキーマに対するDMLおよびDDL変更をクライアント・アプリケーションにストリーム・アウトします。Out構成のポジティブ・ルール・セットから削除されます。Out構成のネガティブ・ルール・セットに追加されます。Out構成は表とスキーマに対するDMLおよびDDL変更をクライアント・アプリケーションにストリーム・アウトしません。Out構成のネガティブ・ルール・セットから削除されます。start_scnデータベースの有効なSCNのうち、取得プロセスによる変更の取得の開始時に使用するSCN(開始時SCN)。SCN値を有効にするには、取得プロセスの最初のSCN値以上にする必要があります。有効なSCNが指定された場合、取得プロセスは、再起動したときに指定のSCNから変更を取得します。無効なSCNが指定された場合はエラーが戻されます。NULLで、start_timeパラメータがNULLの場合、開始SCNは変更されません。NULLで、start_timeパラメータがNULL以外の場合、開始SCNは指定された開始時間に一致するように変更されます。start_scnパラメータとstart_timeパラメータは、両方同時には指定できません。取得プロセスが有効な場合、ALTER_OUTBOUNDプロシージャは自動的に停止し、start_scnパラメータがNULL以外のときに取得プロセスを再起動します。取得プロセスが無効な場合、ALTER_OUTBOUNDプロシージャは、start_scnパラメータがNULL以外のときに取得プロセスを自動的に起動します。start_time取得プロセスによる変更の取得の開始時点となる有効な時間。時間を有効にするには、取得プロセスの最初のSCN値以上であるSCN値の時間と一致している必要があります。有効な時間が指定された場合、取得プロセスは再起動したときに指定の時間の変更を取得します。無効な時間が指定された場合はエラーが戻されます。NULLで、start_scnパラメータがNULLの場合、開始時間は変更されません。NULLで、start_scnパラメータがNULL以外の場合、開始時間は指定された開始SCNと一致するように変更されます。start_scnパラメータとstart_timeパラメータは、両方同時には指定できません。取得プロセスが有効な場合、ALTER_OUTBOUNDプロシージャは自動的に停止し、start_timeパラメータがNULL以外のときに取得プロセスを再起動します。取得プロセスが無効な場合、ALTER_OUTBOUNDプロシージャは、start_timeパラメータがNULL以外のときに取得プロセスを自動的に起動します。include_dmlTRUEに設定すると、DMLの変更に関するDMLルールが作成されます。FALSEに設定すると、DMLルールは作成されません。NULLは許可されません。include_ddlTRUEに設定すると、DDLの変更に関するDDLルールが作成されます。FALSEに設定すると、DDLルールは作成されません。NULLは許可されません。source_database指定したtable_namesとschema_namesが配置されているコンテナのグローバル名。source_databaseがNULL以外の場合、ソース・データベースのグローバル名に基づいてLCRをフィルタリングする条件がアウトバウンド・サーバーのルールに追加されます。source_container_nameソース・コンテナの短縮名。コンテナは、ルートまたはPDBのいずれでもかまいません。CDB$ROOTまたはhrpdbです。XStreamガイド』を参照してください。このパラメータはCDBにのみ適用されます。次のリストは、table_namesおよびschema_namesパラメータの様々な組合せにおけるアウトバウンド・サーバーの動作について説明しています。Out構成に対するルールは変更されません。このプロシージャはオーバーロードされています。table_namesおよびschema_namesパラメータのデフォルトはNULLです。同じコールでtable_namesとschema_namesの両方にNULLを指定しないでください。指定した場合は、エラーPLS-00307が戻されます。Out構成から削除されます。Out構成から削除されます。Out構成に対して変更されません。Out構成から削除されます。Out構成に対して変更されません。table_namesおよびschema_namesパラメータでDBMS_UTILITY.UNCL_ARRAYタイプを使用するプロシージャの場合、両方のパラメータを指定する必要があります。表のみを指定するには、schema_namesパラメータを指定して空にする必要があります。スキーマのみを指定するには、table_namesパラメータを指定して空にする必要があります。注意:空の配列には、1つのNULLエントリが含まれています。CREATE_INBOUNDプロシージャこのプロシージャは、XStreamインバウンド・サーバーとそのキューを作成します。注意:1つのクライアント・アプリケーションで複数のセッションを作成できます。各セッションは1つのインバウンド・サーバーにのみ連結でき、各インバウンド・サーバーは一度に1つのセッションのみを処理できます。クライアント・アプリケーションのセッションは、それぞれ異なるインバウンド・サーバーに接続できます。APIリファレンスを参照してください。CREATE_INBOUNDプロシージャのパラメータパラメータ説明server_name作成中のインバウンド・サーバーの名前。NULL指定は許可されていません。所有者を指定しないでください。指定した名前が既存のアウトバウンド・サーバー、インバウンド・サーバー、適用プロセス、またはメッセージ・クライアントの名前と一致しないようにしてください。server_nameの設定が30バイトを超えることはできません。インバウンド・サーバーの作成後に変更することはできません。queue_nameインバウンド・サーバーによって使用され、[schema_name.]queue_nameとして指定されたローカル・キューの名前。指定したキューが存在する場合は、それが使用されます。指定したキューが存在しない場合は、このプロシージャによって作成されます。xstream_queueというキューをxstrmadminスキーマに指定するには、このパラメータにxstrmadmin.xstream_queueと入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。インバウンド・サーバーのキューは、エラー・トランザクションを格納する目的でのみ使用されます。apply_user適用ユーザー。NULLの場合は、現在のユーザーがデフォルトになります。クライアント・アプリケーションは、適用ユーザーとしてインバウンド・サーバーに連結する必要があります。適用ユーザーとは、そのセキュリティ・ドメイン内で、LCRがインバウンド・サーバーのルール・セットを満たしているかどうかをインバウンド・サーバーが評価します。データベース・オブジェクトにDMLおよびDLLの変更を直接適用し、インバウンド・サーバーのルールに対して構成されているカスタム・ルールベースの変換を実行し、インバウンド・サーバーに対して構成されている適用ハンドラを実行するユーザーのことです。このユーザーは、これらのアクションの実行に必要な権限を持っている必要があります。このプロシージャは、インバウンド・サーバーによって使用されるキューに対するデキュー権限を適用ユーザーに付与し、ユーザーをセキュアなキュー・ユーザーとして構成します。このプロシージャによって付与される権限だけでなく、次の権限を適用ユーザーに付与する必要があります。適用オブジェクトのDML変更とDDL変更を実行する際に必要な権限インバウンド・サーバーで使用されるルール・セットに対するEXECUTE権限ルール・セットで使用されるすべてのルールベース変換ファンクションのEXECUTE権限すべての適用ハンドラ・プロシージャのEXECUTE権限これらの権限は適用ユーザーに直接付与することも、ロールを通して付与することもできます。インバウンド・サーバーによって実行されるサブプログラムで起動するすべてのパッケージ(オラクル社が提供するパッケージを含む)に対するEXECUTE権限を、適用ユーザーに付与する必要もあります。これらの権限は、適用ユーザーに直接付与する必要があります。ロールを通して付与することはできません。CASCADEを使用して削除された場合は、インバウンド・サーバーも自動的に削除されます。commentインバウンド・サーバーに関連付けられたオプションのコメント。使用上の注意デフォルトでは、インバウンド・サーバーはルールまたはルール・セットを使用しません。したがって、インバウンド・サーバーは、XStreamクライアント・アプリケーションにより送信されたLCRをすべて適用します。インバウンド・サーバーに送信されたLCRをフィルタリングするために、DBMS_XSTREAM_ADMパッケージとDBMS_RULE_ADMパッケージを使用して、ルールおよびルール・セットをインバウンド・サーバーに追加できます。CDBでは、ルートまたはPDBのどちらでもCREATE_INBOUNDプロシージャを実行できます。インバウンド・サーバーは1つのソース・データベースからのLCRの受信に限定されており、そのソース・データベースのローカル・コンテナにのみ変更を適用します。インバウンド・サーバーがルート・レベルにある場合、適用ユーザーは共通ユーザーである必要があります。XStreamガイドCREATE_OUTBOUNDプロシージャこのプロシージャは、XStreamアウトバウンド・サーバー、キューおよび取得プロセスを作成して、クライアント・アプリケーションがOracleデータベースの変更をストリーム・アウトできるようにします。このプロシージャはオーバーロードされています。1つのtable_namesパラメータは、VARCHAR2タイプで、もう1つのtable_namesパラメータは、DBMS_UTILITY.UNCL_ARRAYタイプです。一方のschema_namesパラメータはVARCHAR2タイプで、もう一方のschema_namesパラメータはDBMS_UTILITY.UNCL_ARRAYタイプです。これらのパラメータを使用して、表とスキーマのリストをそれぞれ別の方法で入力することができます。これらのパラメータは相互に排他的です。注意:1つのクライアント・アプリケーションで複数のセッションを作成できます。各セッションは1つのアウトバウンド・サーバーにのみ連結でき、各アウトバウンド・サーバーは一度に1つのセッションのみを処理できます。クライアント・アプリケーションのセッションは、それぞれ異なるアウトバウンド・サーバーに接続できます。APIリファレンスを参照してください。capture_nameパラメータがNULLの場合は、このプロシージャによって作成される取得プロセスの名前が自動的に生成されます。このプロシージャは、作成したキューの名前を自動的に生成します。このプロシージャは、取得プロセスと、作成したアウトバウンド・サーバーの両方を有効化します。(11.2.0.2)から、このプロシージャにcapture_nameパラメータが組み込まれています。CREATE_OUTBOUNDプロシージャのパラメータパラメータ説明server_name作成中のアウトバウンド・サーバーの名前。NULL指定は許可されていません。所有者を指定しないでください。指定した名前が既存のアウトバウンド・サーバー、インバウンド・サーバー、適用プロセス、またはメッセージ・クライアントの名前と一致しないようにしてください。server_nameの設定は30バイトを超えることはできません。アウトバウンド・サーバーの作成後に変更することはできません。source_databaseソース・データベースのグローバル名。ソース・データベースは、取得対象の変更が発生したデータベースです。NULL以外の場合、ソース・データベースのグローバル名に基づいてLCRをフィルタリングする条件がアウトバウンド・サーバーのルールに追加されます。NULLに設定すると、生成されるルールに対してソース・データベースに関する条件が追加されません。CDBでは、ルールに関連するコンテナのグローバル名を指定してください。コンテナは、ルートまたはPDBのいずれでもかまいません。mycdb.example.comまたはhrpdb.example.comが使用できます。XStreamガイド』を参照してください。CDB以外では、NULL以外の場合、また指定された名前が現在のデータベースのグローバル名と異なる場合、ダウンストリーム取得が想定されます。この場合は、ソース・データベースからダウンストリーム・データベースへのREDOデータの転送を構成してから、CREATE_OUTBOUNDプロシージャを実行します。XStreamガイド』を参照してください。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。DBS1を指定し、ドメインがEXAMPLE.COMである場合、このプロシージャは自動的にDBS1.EXAMPLE.COMを指定します。table_namesDMLおよびDDLの変更がXStreamクライアント・アプリケーションにストリーム・アウトされる表。表は、次の方法で指定できます。VARCHAR2タイプのカンマ区切りリスト。DBMS_UTILITY.UNCL_ARRAYタイプのPL/SQL連想配列で、表の名前が各要素になります。位置1の最初の表を指定します。最後の位置はNULLにする必要があります。それぞれの表は、[schema_name.]table_nameという形式で指定する必要があります。hr.employeesのように指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。このパラメータの詳細は、「使用上の注意」を参照してください。schema_namesDMLとDDLの変更がXStreamクライアント・アプリケーションにストリーム・アウトされるスキーマ。スキーマは、次の方法で指定できます。VARCHAR2タイプのカンマ区切りリスト。DBMS_UTILITY.UNCL_ARRAYタイプのPL/SQL連想配列で、スキーマの名前が各要素になります。位置1の最初のスキーマを指定します。最後の位置はNULLにする必要があります。このプロシージャでは、schema_namesパラメータとtable_namesパラメータは連結されません。表を指定するには、完全修飾された表名をtable_namesパラメータ(schema_name.table_name)に入力します。このパラメータの詳細は、「使用上の注意」を参照してください。capture_userユーザーを指定しますが、このユーザーのセキュリティ・ドメイン内で、取得プロセスは、取得プロセスのルール・セットを満たす変更を取得し、取得プロセス・ルールに対して構成されているカスタム・ルールベースの変換を実行します。NULLの場合は、現在のユーザーがデフォルトになります。このプロシージャは、取得プロセスによって使用されるキューに対するエンキュー権限を取得ユーザーに付与し、ユーザーをセキュアなキュー・ユーザーとして構成します。取得ユーザーには次の権限が必要です。取得プロセスで使用されるルール・セットのEXECUTE権限ポジティブ・ルール・セットで使用されるすべてのルールベース変換ファンクションのEXECUTE権限これらの権限は適用ユーザーに直接付与することも、ロールを通して付与することもできます。取得ユーザーには、取得プロセスによって実行されるルールベース変換で起動されるすべてのパッケージ(オラクル社が提供するパッケージを含む)のEXECUTE権限が付与されている必要があります。これらの権限は、取得ユーザーに直接付与する必要があります。ロールを通して付与することはできません。取得ユーザーを設定できるのは、DBAロールを付与されたユーザーに限られています。capture_userをSYSに設定できるのは、SYSユーザーに限られています。取得ユーザーは、データベース・オブジェクトに対する権限を持っていなくても、データベース・オブジェクトに対する変更を取得できます。取得プロセスでは、データベース・オブジェクトに対する変更をカスタムのルールベース変換ファンクションに渡すことができます。したがって、取得プロセスを構成するときは、セキュリティ問題に留意する必要があります。connect_user指定したアウトバウンド・サーバーに連結して変更ストリームを取得できるユーザー。クライアント・アプリケーションは、指定した接続ユーザーとしてアウトバウンド・サーバーに連結する必要があります。NULLの場合は、現在のユーザーがデフォルトになります。接続ユーザーとは、そのセキュリティ・ドメインでアウトバウント・サーバーがルール・セットを照合してLCRを評価し、アウトバウンド・サーバーのルールに対して構成されているカスタム・ルールベースの変換を実行するユーザーです。このユーザーは、これらのアクションの実行に必要な権限を持っている必要があります。このプロシージャは、アウトバウンド・サーバーによって使用されるキューに対するデキュー権限を接続ユーザーに付与し、ユーザーをセキュアなキュー・ユーザーとして構成します。このプロシージャによって付与された権限だけでなく、次の権限も接続ユーザーに付与します。アウトバウンド・サーバーで使用されるルール・セットに対するEXECUTE権限ルール・セットで使用されるすべてのルールベース変換ファンクションのEXECUTE権限これらの権限は接続ユーザーに直接付与することも、ロールを通して付与することもできます。アウトバウンド・サーバーによって実行されるサブプログラムで起動するすべてのパッケージ(オラクル社が提供するパッケージを含む)に対するEXECUTE権限を、接続ユーザーに付与する必要もあります。これらの権限は、適用ユーザーに直接付与する必要があります。ロールを通して付与することはできません。commentアウトバウンド・サーバーに関連付けられたオプションのコメント。capture_nameアウトバウンド・サーバー用の変更を取得するように構成された取得プロセスの名前。所有者を指定しないでください。取得プロセスは存在してはいけません。指定した名前が既存の取得プロセスの名前と一致する場合、エラーが発生します。名前が既存の取得プロセスの名前と一致しない場合は、指定した名前を付けた取得プロセスが新規に作成されます。NULLの場合は、システム生成の名前を持つ取得プロセスが新規に作成されます。取得プロセスは、作成した後で名前を変更することはできません。include_dmlTRUEに設定すると、DMLの変更に関するDMLルールが作成されます。FALSEに設定すると、DMLルールは作成されません。NULLは許可されません。include_ddlTRUEに設定すると、DDLの変更に関するDDLルールが作成されます。FALSEに設定すると、DDLルールは作成されません。NULLは許可されません。source_root_nameソースCDBのルートのグローバル名。mycdb.example.comです。このパラメータがNULLの場合は、ローカルCDBにあるルートのグローバル名が使用されます。ダウンストリーム取得を構成している場合、このパラメータは非NULL値である必要があり、リモート・ソースCDBにあるルートのグローバル名を指定する必要があります。XStreamガイド』を参照してください。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。DBS1を指定し、ドメインがEXAMPLE.COMである場合、このプロシージャは自動的にDBS1.EXAMPLE.COMを指定します。このパラメータはCDBにのみ適用されます。source_container_nameソース・コンテナの短縮名。コンテナは、ルートまたはPDBのいずれでもかまいません。CDB$ROOTまたはhrpdbです。XStreamガイド』を参照してください。このパラメータはCDBにのみ適用されます。次のリストは、table_namesおよびschema_namesパラメータの様々な組合せにおけるアウトバウンド・サーバーの動作について説明しています。table_namesおよびschema_namesパラメータが両方ともNULLか空の場合、アウトバウンド・サーバーはDMLとDDLのすべての変更をクライアント・アプリケーションにストリームします。このプロシージャはオーバーロードされています。table_namesおよびschema_namesパラメータのデフォルトはNULLです。同じコールでtable_namesとschema_namesの両方にNULLを指定しないでください。指定した場合は、エラーPLS-00307が戻されます。table_namesおよびschema_namesパラメータを両方とも指定した場合、アウトバウンド・サーバーは指定した表とスキーマに対するDMLとDDLの変更をストリームします。table_namesパラメータが指定されていて、schema_namesパラメータがNULLまたは空の場合、アウトバウンド・サーバーは指定した表に対するDMLとDDLの変更をストリームします。table_namesパラメータがNULLまたは空で、schema_namesパラメータが指定されている場合、アウトバウンド・サーバーは指定されたスキーマに対するDMLおよびDLLの変更をストリームします。table_namesおよびschema_namesパラメータでDBMS_UTILITY.UNCL_ARRAYタイプを使用するプロシージャの場合、両方のパラメータを指定する必要があります。表のみを指定するには、schema_namesパラメータを指定して空にする必要があります。スキーマのみを指定するには、table_namesパラメータを指定して空にする必要があります。注意:空の配列には、1つのNULLエントリが含まれています。DELETE_COLUMNプロシージャこのプロシージャは、指定されたルールを満たす行論理変更レコード(LCR)から列を削除する宣言ルールベースの変換を追加または削除します。指定したルールがTRUEと評価されるときに変換を実行する場合、ルールはXStreamクライアントのポジティブ・ルール・セットに入っている必要があります。XStreamクライアントには、取得プロセス、伝播プロセスおよび適用プロセスがあります。Streams取得プロセスでサポートされているデータ・タイプと同じです。DELETE_COLUMNプロシージャは、行LCR内の比較的少ない数の列を削除する場合に役立ちます。行LCR内のほとんどの列を削除し、比較的少ない数の列を保持するには、このパッケージのKEEP_COLUMNSプロシージャの使用を検討してください。宣言的変換では、行LCRのみを変換できます。したがって、このプロシージャを実行する場合は、DMLルールを指定する必要があります。DDLルールを指定した場合は、エラーが発生します。XStreamガイド』を参照してください。DELETE_COLUMNプロシージャのパラメータパラメータ説明rule_name[schema_name.]rule_nameの形式で指定したルールの名前。NULLの場合は、エラーが発生します。hrスキーマ内のemployees12というルールを指定するには、hr.employees12と入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。table_name行LCRで列を削除する表の名前で、[schema_name.]object_nameの形式で指定します。hr.employeesのように指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。column_nameルールを満たす各行LCRから削除する列の名前。value_type行LCRの新しい値から列を削除する場合は、'NEW'を指定します。行LCRの古い値から列を削除する場合は、'OLD'を指定します。行LCRの新しい値と古い値の両方から列を削除する場合は、'*'を指定します。XStreamガイド』を参照してください。operation変換をルールに追加する場合は、'ADD'を指定します。変換をルールから削除する場合は、'REMOVE'を指定します。使用上の注意operationパラメータに'REMOVE'を指定すると、指定したルールに対する列削除の宣言ルールベースの変換のうち、指定したパラメータ(table_name、column_nameおよびstep_number)に一致するすべての変換が削除されます。これらのパラメータにNULLを指定すると、ワイルドカードとして動作します。次の表に、これらのパラメータの1つ以上がNULLの場合の、DELETE_COLUMNプロシージャの動作を示します。指定したルールに対するすべての列削除変換が削除されます。指定したルールに対して指定されているstep_numberのすべての列削除変換が削除されます。指定したルールに対して指定されているcolumn_nameおよびstep_numberのすべての列削除変換が削除されます。指定したルールに対して指定されているtable_nameおよびstep_numberのすべての列削除変換が削除されます。指定したルールに対して指定されているcolumn_nameのすべての列削除変換が削除されます。指定したルールに対して指定されているtable_nameおよびcolumn_nameのすべての列削除変換が削除されます。指定したルールに対して指定されているtable_nameのすべての列削除変換が削除されます。指定したルールに対して指定されているtable_name、column_nameおよびstep_numberのすべての列削除変換が削除されます。DROP_INBOUNDプロシージャこのプロシージャは、インバウンド・サーバーの構成を削除します。このプロシージャでは、指定されたインバウンド・サーバーが常に削除されます。次の条件がすべて満たされている場合は、インバウンド・サーバーのキューも削除されます。CREATE_INBOUNDプロシージャを1回コールして、キューが作成されました。インバウンド・サーバーは、このキューの唯一のサブスクライバです。DROP_INBOUNDプロシージャのパラメータパラメータ説明server_name削除中のインバウンド・サーバーの名前。既存のインバウンド・サーバーを指定します。所有者を指定しないでください。DROP_OUTBOUNDプロシージャこのプロシージャは、アウトバウンド・サーバーの構成を削除します。このプロシージャでは、指定されたアウトバウンド・サーバーが常に削除されます。次の条件が両方とも満たされている場合は、アウトバウンド・サーバーで使用されるキューも削除されます。キューは、このパッケージのCREATE_OUTBOUNDプロシージャにより作成されました。アウトバウンド・サーバーは、このキューの唯一のサブスクライバです。前述の条件のいずれかが満たされていない場合、DROP_OUTBOUNDプロシージャはアウトバウント・サーバーのみを削除します。キューは削除されません。次の条件が両方とも満たされている場合は、アウトバウンド・サーバーの取得プロセスも削除されます。このプロシージャでは、アウトバウンド・サーバーのキューを削除できます。取得プロセスがCREATE_OUTBOUNDプロシージャによって作成されました。このプロシージャがキューを削除できても取得プロセスを管理できない場合には、取得プロセスを削除せずにキューが削除されます。DROP_OUTBOUNDプロシージャのパラメータパラメータ説明server_name削除中のアウトバウンド・サーバーの名前。既存のアウトバウンド・サーバーを指定します。所有者を指定しないでください。Streamsコンポーネントに対してXStream最適化およびパフォーマンス最適化を有効にします。Streamsユーザーを対象としています。Streamsレプリケーション構成に対する最適化を有効にできます。これらの機能と最適化は、アウトバウンド・サーバー、インバウンド・サーバーおよびアウトバウンド・サーバーに変更を送信する取得プロセスなどのXStreamコンポーネントに対して自動的に有効化されます。XStreamコンポーネントに対してこのプロシージャを実行する必要はありません。StreamsコンポーネントはIDキーLCRと順序LCRをストリームすることができます。XStreamパフォーマンス最適化により、次のような様々な領域で効率を向上させることができます。Streamsコンポーネントに対するXStreamパフォーマンス最適化を有効にします。Streamsコンポーネントに対するXStreamパフォーマンス最適化を無効にします。使用上の注意このプロシージャには、次の使用上の注意が適用されます。このプロシージャを実行すると、すべての取得プロセスと適用プロセスが再起動します。Streamsが表示されます。GoldenGate製品のライセンスが必要です。XStreamガイド』の第1章「XStreamの前提条件」GET_MESSAGE_TRACKINGファンクション現在のセッションの追跡ラベルを戻します。VARCHAR2;GET_TAGファンクションこのファンクションは、現行のセッションで生成されるREDOエントリすべてに対してバイナリ・タグを取得します。Streamsレプリケーション管理者ガイド』を参照してください。次の例は、現行の論理変更レコード(LCR)タグを出力として表示する方法を示しています。RAWTOHEX(raw_tag));END;/DUALビューを問い合せて値を表示することもできます。Streamsコンポーネントに対するXStreamパフォーマンス最適化が無効な場合はFALSEを戻します。BOOLEAN;KEEP_COLUMNSプロシージャこのプロシージャは、指定されたルールを満たす行論理変更レコード(LCR)内の列のリストを保持する宣言ルールベースの変換を追加または削除します。リストに含まれていない列は、変換によって行LCRから削除されません。指定したルールがTRUEと評価されるときに変換を実行する場合、ルールはXStreamクライアントのポジティブ・ルール・セットに入っている必要があります。XStreamクライアントには、取得プロセス、伝播プロセスおよび適用プロセスがあります。このプロシージャはオーバーロードされています。column_listパラメータは、VARCHAR2タイプで、column_tableパラメータは、DBMS_UTILITY.LNAME_ARRAYタイプです。これらのパラメータによって、列のリストを異なる方法で入力できますが、これらのパラメータを同時に使用することはできません。Streams取得プロセスでサポートされているデータ・タイプと同じです。KEEP_COLUMNSプロシージャは、行LCR内の比較的少ない数の列を保持する場合に役立ちます。行LCR内のほとんどの列を保持し、比較的少ない数の列を削除するには、このパッケージのDELETE_COLUMNプロシージャの使用を検討してください。宣言的変換では、行LCRのみを変換できます。したがって、このプロシージャを実行する場合は、DMLルールを指定する必要があります。DDLルールを指定した場合は、エラーが発生します。XStreamガイド』を参照してください。KEEP_COLUMNSプロシージャのパラメータパラメータ説明rule_name[schema_name.]rule_nameの形式で指定したルールの名前。NULLの場合は、エラーが発生します。hrスキーマ内のemployees12というルールを指定するには、hr.employees12と入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。table_name行LCRで列を保存する表の名前で、[schema_name.]object_nameの形式で指定します。hr.employeesのように指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。column_listルールを満たす各行LCRで保持される列の名前。VARCHAR2タイプのカンマ区切りリストを指定します。リストに含まれていない列は、変換によって行LCRから削除されません。このパラメータがNULLに設定され、column_tableパラメータもNULLに設定されている場合は、エラーが発生します。column_tableルールを満たす各行LCRで保持される列の名前。DBMS_UTILITY.LNAME_ARRAYタイプのPL/SQL連想配列を指定し、この場合、各要素は表の名前です。最初のスキーマの位置は1です。最後の位置はNULLにする必要があります。表に含まれていない列は、変換によって行LCRから削除されません。このパラメータがNULLに設定され、column_listパラメータもNULLに設定されている場合は、エラーが発生します。value_type行LCRの新しい値に列を保持する場合は、'NEW'を指定します。行LCRの古い値に列を保持する場合は、'OLD'を指定します。行LCRの新しい値と古い値の両方に列を保持する場合は、'*'を指定します。XStreamガイド』を参照してください。operation変換をルールに追加する場合は、'ADD'を指定します。変換をルールから削除する場合は、'REMOVE'を指定します。使用上の注意operationパラメータに'REMOVE'を指定すると、指定したルールに対する列保持の宣言ルールベースの変換のうち、指定したパラメータ(table_name、column_list、column_tableおよびstep_number)に一致するすべての変換が削除されます。これらのパラメータにNULLを指定すると、ワイルドカードとして動作します。次の表に、これらのパラメータの1つ以上がNULLの場合の、KEEP_COLUMNSプロシージャの動作を示します。指定したルールに対するすべての列保持変換が削除されます。指定したルールに対して指定されているstep_numberのすべての列保持変換が削除されます。指定したルールに対して指定されているcolumn_list/column_tableおよびstep_numberのすべての列保持変換が削除されます。指定したルールに対して指定されているtable_nameおよびstep_numberのすべての列保持変換が削除されます。指定したルールに対して指定されているcolumn_list/column_tableのすべての列保持変換が削除されます。指定したルールに対して指定されているtable_nameおよびcolumn_list/column_tableのすべての列保持変換が削除されます。指定したルールに対して指定されているtable_nameのすべての列保持変換が削除されます。指定したルールに対して指定されているtable_name、column_list/column_tableおよびstep_numberのすべての列保持変換が削除されます。MERGE_STREAMSプロシージャこのプロシージャは、1つの取得プロセスからのストリームを別の取得プロセスからのストリームとマージします。このプロシージャは、通常、このパッケージのSPLIT_STREAMSプロシージャを使用して分割された2つのストリームのマージに使用します。SPLIT_STREAMSプロシージャは、ストリームの分割時に元のストリームのコンポーネントをクローニングします。このため、この項では次の用語が使用されています。分割前のストリームには、元のキュー、元の取得プロセスおよび元の伝播があります。SPLIT_STREAMSプロシージャによって分割されたストリームには、クローニングされたキュー、クローニングされた取得プロセスおよびクローニングされた伝播があります。このプロシージャは、MERGE_STREAMS_JOBプロシージャによってコールされます。MERGE_STREAMS_JOBプロシージャは、安全にマージできるようにストリームがユーザー指定のマージしきい値内にあるかどうかを判別します。ストリームがマージしきい値内にない場合、MERGE_STREAMS_JOBプロシージャは何も行いません。通常、MERGE_STREAMSプロシージャを直接実行するのではなく、MERGE_STREAMS_JOBプロシージャを実行することをお薦めします。次の条件を満たす場合は、MERGE_STREAMSプロシージャを直接実行することを選択できます。分割ストリームの宛先での問題が修正されており、宛先キューが変更を受け入れることができる。分割ストリームによって使用されるクローニングされた取得プロセスが開始され、変更を取得している。接続先データベースにある適用プロセスが、クローニングされた取得プロセスによって取得された変更を適用している。クローニングされた取得プロセスのGV$STREAMS_CAPTUREビューのCAPTURE_MESSAGE_CREATE_TIMEが、元の取得プロセスのCAPTURE_MESSAGE_CREATE_TIMEに追いついているか、ほとんど追いついている。クローニングされた取得プロセスは、元の取得プロセスに完全には追いつかない場合があります。そのため、クローニングされた取得プロセスが元の取得プロセスにほとんど追いついている場合、分割ストリームをマージできます。MERGE_STREAMSプロシージャは、次の操作を実行します。クローニングされた取得プロセスを停止します。元の取得プロセスを停止します。クローニングされた伝播を元の伝播にコピーして戻します。コピーして戻した後の伝播の名前は、元の伝播と同じ名前です。次の2つのSCN値の小さいほうのSCN値から元の取得プロセスを開始します。クローニングされた伝播の確認済SCN元の取得プロセスによって取得された変更を伝播する他の伝播の、一番小さい確認済SCN元の取得プロセスを開始すると、すでに取得されている変更が再取得されたり、クローニングされた取得プロセスによってすでに取得されている変更が取得される場合があります。どちらの場合も、重複する変更は、それらを受け取る適用プロセスによって破棄されます。クローニングされた伝播を削除します。クローニングされた取得プロセスを削除します。クローニングされたキューを削除します。MERGE_STREAMSプロシージャのパラメータパラメータ説明cloned_propagation_nameSPLIT_STREAMSプロシージャを使用して元のストリームから分割されたストリームによって使用されるクローニングされた伝播の名前。クローニングされた伝播の名前により、クローニングされた伝播によって使用されるクローニングされたキューおよびクローニングされた取得プロセスも識別されます。既存の伝播名を指定する必要があります。所有者を指定しないでください。propagation_name元のストリームにマージされて戻される伝播の名前。NULLの場合、元のストリーム内の元の伝播の名前が使用されます。SPLIT_STREAMSプロシージャを使用してストリームが分割されている場合にのみ、NULLを指定します。元の伝播名とは異なる名前を使用する場合、またはSPLIT_STREAMSプロシージャによって分割されなかった2つのストリームをマージする場合は、NULL以外の値を指定します。NULL以外の値を指定した場合、次の条件のいずれかに該当するとエラーが発生します。queue_nameパラメータで指定したキューが存在しない。queue_nameパラメータで指定したキューが存在するが、取得プロセスによって使用されていない。queue_nameマージされて戻される伝播のソース・キューであるキューの名前。NULLの場合、既存の元のキューが、マージされて戻される伝播のソース・キューとなります。SPLIT_STREAMSプロシージャを使用してストリームが分割されている場合にのみ、NULLを指定します。SPLIT_STREAMSプロシージャによって分割されなかった2つのストリームをマージする場合、NULL以外の値を指定します。マージされたストリームの変更を取得する取得プロセスによって使用される既存のキューの名前を指定します。perform_actionsTRUEに設定すると、ストリームを直接マージするために必要な処理が実行されます。FALSEに設定すると、ストリームを直接マージするために必要な処理は実行されません。このプロシージャでスクリプトを生成し、そのスクリプトを編集して実行できるようにする場合は、FALSEに設定します。次のいずれかのパラメータがNULLの場合にFALSEに設定すると、エラーが発生します。script_namescript_directory_objectscript_nameこのパラメータがNULL以外の値で、perform_actionsパラメータがFALSEの場合は、指定された名前のスクリプトが生成されます。このスクリプトには、ストリームをマージするために必要なすべての文が記述されています。指定したスクリプト名のファイルが、script_directory_objectパラメータで指定されるディレクトリにすでに存在する場合は、その既存ファイルの末尾に文が追加されます。このパラメータがNULL以外の値で、perform_actionsパラメータがTRUEの場合は、指定のスクリプトが生成され、ストリームを直接分割する処理が実行されます。このパラメータがNULLで、perform_actionsパラメータがTRUEの場合は、ストリームを直接マージする処理が実行され、スクリプトは生成されません。このパラメータがNULLで、perform_actionsパラメータがFALSEの場合は、エラーが発生します。script_directory_object作成されるスクリプトが保存されるローカル・コンピュータ・システムのディレクトリのディレクトリ・オブジェクト。script_nameパラメータがNULLの場合、このパラメータは無視され、スクリプトは生成されません。このパラメータがNULLで、script_nameパラメータがNULL以外の場合は、エラーが発生します。(ASM)ディスク・グループを指定することはできません。使用上の注意MERGE_STREAMSプロシージャを使用して、SPLIT_STREAMSプロシージャを使用して分割されなかった2つのストリームをマージできます。この方法でストリームをマージすることによって、1つのデータベースで複数の取得プロセスを実行しているときに、リソースを節約してパフォーマンスを向上させることができます。DBA_STREAMS_SPLIT_MERGEビューは、分割およびマージ操作に関する情報を示します。MERGE_STREAMS_JOBプロシージャこのプロシージャは、元の取得プロセスおよびクローニングされた取得プロセスが、指定されたマージしきい値内にあるかどうかを判別します。マージしきい値内にある場合、このプロシージャはMERGE_STREAMSプロシージャを実行して2つのストリームをマージします。このプロシージャは、通常、このパッケージのSPLIT_STREAMSプロシージャを使用して分割された2つのストリームのマージに使用します。SPLIT_STREAMSプロシージャは、ストリームの分割時に元のストリームのコンポーネントをクローニングします。このため、この項では次の用語が使用されています。分割前のストリームには、元のキュー、元の取得プロセスおよび元の伝播があります。SPLIT_STREAMSプロシージャによって分割されたストリームには、クローニングされたキュー、クローニングされた取得プロセスおよびクローニングされた伝播があります。ストリームを分割するSPLIT_STREAMSプロシージャでauto_merge_thresholdパラメータが正数に設定された場合、マージ・ジョブはスケジュールに従ってMERGE_STREAMS_JOBプロシージャを自動的に実行します。MERGE_STREAMS_JOBプロシージャが自動的に実行される場合、schedule_nameパラメータにスケジュール名を、merge_job_nameパラメータにマージ・ジョブ名を指定します。マージ・ジョブおよびそのスケジュールは、SPLIT_STREAMSプロシージャによって作成されました。ストリームを分割するSPLIT_STREAMSプロシージャでauto_merge_thresholdパラメータがNULLまたは0(ゼロ)に設定された場合は、MERGE_STREAMS_JOBプロシージャを手動で実行できます。この場合は、自動的には実行されません。Streamsレプリケーション管理者ガイド』を参照してください。MERGE_STREAMS_JOBプロシージャのパラメータパラメータ説明cloned_propagation_nameSPLIT_STREAMSプロシージャを使用して元のストリームから分割されたストリームによって使用されるクローニングされた伝播の名前。クローニングされた伝播の名前により、クローニングされた伝播によって使用されるクローニングされたキューおよびクローニングされた取得プロセスも識別されます。既存の伝播名を指定する必要があります。所有者を指定しないでください。propagation_name元のストリームにマージされて戻される伝播の名前。NULLの場合、元のストリーム内の元の伝播の名前が使用されます。SPLIT_STREAMSプロシージャを使用してストリームが分割されている場合にのみ、NULLを指定します。元の伝播名とは異なる名前を使用する場合、またはSPLIT_STREAMSプロシージャによって分割されなかった2つのストリームをマージする場合は、NULL以外の値を指定します。NULL以外の値を指定した場合、次の条件のいずれかに該当するとエラーが発生します。queue_nameパラメータで指定したキューが存在しない。queue_nameパラメータで指定したキューが存在するが、取得プロセスによって使用されていない。queue_nameマージされて戻される伝播のソース・キューであるキューの名前。NULLの場合、既存の元のキューが、マージされて戻される伝播のソース・キューとなります。SPLIT_STREAMSプロシージャを使用してストリームが分割されている場合にのみ、NULLを指定します。SPLIT_STREAMSプロシージャによって分割されなかった2つのストリームをマージする場合、NULL以外の値を指定します。マージされたストリームの変更を取得する取得プロセスによって使用される既存のキューの名前を指定します。merge_thresholdマージしきい値(秒単位)。GV$STREAMS_CAPTURE動的パフォーマンス・ビューの各取得プロセスのCAPTURE_MESSAGE_CREATE_TIME列の値によって、ストリームがマージされるかどうかが判別されます。具体的には、クローニングされた取得プロセスと元の取得プロセスのCAPTURE_MESSAGE_CREATE_TIMEの差(秒数)がこのパラメータに指定された値以下の場合、このプロシージャはMERGE_STREAMSプロシージャを実行してストリームをマージします。差がこのパラメータで指定された値よりも大きい場合、このプロシージャは何も行いません。schedule_nameマージ・ジョブのスケジュールの名前。NULLに設定すると、スケジュール名は指定されません。通常は、ストリームを分割するSPLIT_STREAMSプロシージャでauto_merge_thresholdパラメータがNULLまたは0(ゼロ)に設定されている場合に、このパラメータをNULLに設定します。このプロシージャを手動で実行する場合は、NULLを指定します。merge_job_nameストリームをマージするジョブの名前。NULLに設定すると、マージ・ジョブ名は指定されません。通常は、ストリームを分割するSPLIT_STREAMSプロシージャでauto_merge_thresholdパラメータがNULLまたは0(ゼロ)に設定されている場合に、このパラメータをNULLに設定します。このプロシージャを手動で実行する場合は、NULLを指定します。使用上の注意MERGE_STREAMS_JOBプロシージャを使用して、SPLIT_STREAMSプロシージャを使用して分割されなかった2つのストリームをマージできます。この方法でストリームをマージすることによって、1つのデータベースで複数の取得プロセスを実行しているときに、リソースを節約してパフォーマンスを向上させることができます。MERGE_STREAMS_JOBプロシージャの完了後、DBA_CAPTUREビューおよびDBA_PROPAGATIONビューを問い合せて、ストリームがマージされたかどうかを判別できます。ストリームがマージされた場合、クローニングされた取得プロセスおよびクローニングされた伝播はこれらのビューに表示されません。ストリームがマージされ、schedule_nameパラメータおよびmerge_job_nameパラメータがNULL以外の場合、指定されたスケジュールおよびマージ・ジョブは自動的に削除されます。DBA_STREAMS_SPLIT_MERGEビューは、分割およびマージ操作に関する情報を示します。Streamsデータ・ディクショナリ情報をローカル・データベースから削除します。Streamsメタデータを削除できます。PURGE_SOURCE_CATALOGプロシージャのパラメータパラメータ説明source_databaseCDB以外では、データベース・オブジェクトが含まれているソース・データベースのグローバル名を指定してください。CDBでは、データベース・オブジェクトが含まれているコンテナのグローバル名を指定してください。コンテナは、ルートまたはPDBのいずれでもかまいません。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。ドメイン名が.NETの場合にDBS1を指定すると、自動的にDBS1.NETが指定されます。source_object_nameオブジェクトの名前で、[schema_name.]table_nameの形式で指定します。hr.employeesのように指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。source_object_typeオブジェクトのタイプ。現在、使用できるオブジェクトのタイプは、TABLEのみです。source_root_nameCDBにオブジェクトが含まれているソース・ルートのグローバル名。ソース・ルートは、CDB内における取得中の変更の発生場所です。ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。DBS1を指定し、ドメインがEXAMPLE.COMである場合、このプロシージャは自動的にDBS1.EXAMPLE.COMを指定します。source_root_nameパラメータがNULLの場合は、ローカル・ルートのグローバル名がデフォルトになります。このパラメータはCDBにのみ適用されます。使用上の注意オブジェクトが存在するソース・データベースのグローバル名をsource_databaseパラメータに指定する必要があります。現行のデータベースがオブジェクトのソース・データベースでない場合、そのオブジェクトに関するデータ・ディクショナリ情報は、ソース・データベースではなく現行のデータベースから削除されます。ソース・データベースdbs1.netのhr.employees表への変更が、接続先データベースdbs2.netのhr.employees表に適用されると仮定します。dbs2.netのhr.employeesは、ソース・データベースではないとします。この場合、この表にdbs2.netをsource_databaseとして指定すると、エラーが発生します。dbs2.netデータベースでのPURGE_SOURCE_CATALOGプロシージャの実行時に、この表にdbs1.netをsource_databaseとして指定すると、dbs2.netにある表に関するデータ・ディクショナリ情報が削除されます。次のいずれかの条件がtrueの場合は、データベースでこのプロシージャを実行しないでください。オブジェクトの取得プロセスで取得した論理変更レコード(LCR)が、オブジェクトの再インスタンス化を行わずにローカルで適用される場合(またはその可能性がある場合)。オブジェクトの取得プロセスで取得したLCRが、オブジェクトの再インスタンス化を行わずにデータベースによって転送される場合(またはその可能性がある場合)。注意:これらの条件は、取得プロセスで作成されていないLCRには適用されません。これらの条件は、ユーザーが作成したLCRには適用されません。RECOVER_OPERATIONプロシージャこのプロシージャは、エラーが発生したために停止した分割およびマージ操作に対してオプションを提供します。このプロシージャは、操作のロールフォワード、操作のロールバック、操作に関するすべてのメタデータのパージのいずれかの処理を実行します。Out環境で実行される場合があります。このプロシージャでは、split_thresholdおよびmerge_threshold取得プロセスの各パラメータをNULL値以外に設定して自動分割および自動マージを有効にした場合にのみ、分割およびマージ操作に対する前述の処理を実行できます。操作に関する情報は、操作の進行中に次のデータ・ディクショナリ・ビューに格納されます。DBA_RECOVERABLE_SCRIPTDBA_RECOVERABLE_SCRIPT_PARAMSDBA_RECOVERABLE_SCRIPT_BLOCKSDBA_RECOVERABLE_SCRIPT_ERRORSデータ・ディクショナリ・ビューは、取得プロセスを含むデータベースで移入されます。操作が正常に完了すると、操作に関するメタデータはDBA_RECOVERABLE_SCRIPTビューからDBA_RECOVERABLE_SCRIPT_HISTビューに移動されます。その他のビュー(DBA_RECOVERABLE_SCRIPT_PARAMS、DBA_RECOVERABLE_SCRIPT_BLOCKS、DBA_RECOVERABLE_SCRIPT_ERRORS)は、30日後に自動的に消去されるまで、操作に関する情報を保持します。これらのいずれかの操作でエラーが発生して操作が停止した場合、操作に関するメタデータはこれらのビューに残ります。この場合、操作に関するメタデータは、RECOVER_OPERATIONプロシージャを使用してロールフォワード、ロールバックまたはパージできます。操作のロールフォワードを選択した場合は、処理を行う前にDBA_RECOVERABLE_SCRIPT_ERRORSに記録されたエラーの原因を解消します。取得プロセスが含まれているデータベースで、RECOVER_OPERATIONプロシージャを実行してください。リリース2以上のデータベースである必要があります。RECOVER_OPERATIONプロシージャのパラメータパラメータ説明script_idロールフォワード中、ロールバック中またはパージ中の操作の操作ID。操作IDを確認するには、DBA_RECOVERABLE_SCRIPTデータ・ディクショナリ・ビューのSCRIPT_ID列を問い合せます。operation_modeFORWARDを指定すると、操作がロールフォワードされます。FORWARDは、操作の完了を試行する場合に指定します。ROLLBACKを指定すると、操作で行われたすべての処理がロールバックされます。ロールバックが成功すると、このオプションは操作に関するメタデータをDBA_RECOVERABLE_SCRIPTビューからDBA_RECOVERABLE_SCRIPT_HISTビューに移動します。その他のビューは、操作に関する情報を30日間保持します。PURGEが設定されている場合、プロシージャは、操作をロールバックすることなく、操作に関するメタデータをDBA_RECOVERABLE_SCRIPTビューからDBA_RECOVERABLE_SCRIPT_HISTビューに移動します。その他のビューは、操作に関する情報を30日間保持します。REMOVE_QUEUEプロシージャこのプロシージャは、指定されたANYDATAキューを削除します。具体的には、このプロシージャは次の操作を実行します。現行のエンキュー・トランザクションとデキュー・トランザクションがすべてコミットされるのを待ちます。キューを停止すると、それ以降、キューに対するエンキュー操作とキューからのデキュー操作が禁止されます。drop_unused_queue_tableパラメータがTRUEに設定されている場合、キュー表が空で、他のキューによって使用されていなければ、キュー表を削除します。cascadeパラメータがTRUEに設定されている場合は、キューを使用しているすべてのXStreamクライアントが削除されます。注意:必ずANYDATAキューを指定してください。REMOVE_QUEUEプロシージャのパラメータパラメータ説明queue_name削除するキューの名前で、[schema_name.]queue_nameの形式で指定します。strmadmin.streams_queueのように指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。cascadeTRUEの場合、このプロシージャはキューを使用するすべてのXStreamクライアントを削除します。FALSEの場合は、キューを使用するXStreamクライアントが存在すると、エラーが発生します。cascadeパラメータをFALSEに設定した状態でこのプロシージャを実行する場合は、キューを現在使用しているXStreamクライアントが存在しないことを事前に確認してください。drop_unused_queue_tableキューのキュー表が空の場合にTRUEに設定すると、キュー表が削除されます。キュー表にメッセージが残っている場合、または他のキューによって使用されている場合、キュー表は削除されません。FALSEに設定すると、キュー表は削除されません。REMOVE_RULEプロシージャこのプロシージャは、指定された取得プロセス、適用プロセスまたは伝播に関連付けられたルール・セットから、指定されたルールまたはすべてのルールを削除します。注意:自動的に作成されたルールを削除する場合は、DBMS_RULE_ADM.DROP_RULEプロシージャではなく、このプロシージャを使用してルールを削除してください。DBMS_RULE_ADM.DROP_RULEプロシージャを使用すると、ルールに関するメタデータの一部が残存する可能性があります。REMOVE_RULEプロシージャのパラメータパラメータ説明rule_name削除するルールの名前で、[schema_name.]rule_nameの形式で指定します。NULLの場合は、指定された取得プロセス、適用プロセスまたは伝播のルール・セットからすべてのルールが削除されます。hrスキーマ内のprop_rule1というルールを指定するには、hr.prop_rule1と入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。streams_typeXStreamクライアントのタイプ:取得プロセスの場合は、capture。伝播の場合は、propagation。適用プロセスの場合は、apply。streams_nameXStreamクライアントの名前。これは、取得プロセス、伝播または適用プロセスのいずれでもかまいません。所有者を指定しないでください。指定したXStreamクライアントは存在しなくても、そのクライアントにルールを関連付けているメタデータがデータ・ディクショナリに存在する場合は、そのメタデータが削除されます。指定されたXStreamクライアントが存在せず、そのクライアントにルールを関連付けているメタデータもデータ・ディクショナリに存在しない場合は、エラーが発生します。drop_unused_ruleルールがルール・セットに属していない場合にTRUEに設定すると、そのルールがデータベースから削除されます。ルールがいずれかのルール・セットに属している場合にTRUEに設定すると、そのルールはデータベースから削除されません。FALSEに設定すると、ルールはデータベースから削除されません。inclusion_ruleinclusion_ruleがTRUEの場合は、XStreamクライアントのポジティブ・ルール・セットからルールが削除されます。inclusion_ruleがFALSEの場合は、XStreamクライアントのネガティブ・ルール・セットからルールが削除されます。REMOVE_SUBSET_OUTBOUND_RULESプロシージャこのプロシージャは、アウトバウンド・サーバーの構成からサブセット・ルールを削除します。指定された挿入、更新、削除ルールの名前は、ADD_SUBSET_OUTBOUND_RULESプロシージャによって生成された名前と一致している必要があります。サブセット・ルールの名前を表示するには、次の問合せを実行します。NULL;注意:このプロシージャでは、削除する各ルールに関連付けられた宣言的なルールベース変換が削除されます。アウトバウンド・サーバーの取得プロセスからルールが削除されることはありません。VARCHAR2);REMOVE_XSTREAM_CONFIGURATIONプロシージャこのプロシージャは、XStream構成をローカル・データベースで削除します。REMOVE_XSTREAM_CONFIGURATIONプロシージャのパラメータパラメータ説明containerCURRENTの場合は、現在のコンテナからXStream構成が削除されます。CURRENTは、ルートまたはCDBのPDBに接続している間に指定できます。ALLの場合は、CDB内のすべてのコンテナからXStream構成が削除されます。ALLを指定するには、このプロシージャをルートから起動する必要があります。コンテナ名の場合は、指定されたコンテナからXStream構成が削除されます。ルートを指定するには、ルートへの接続中にCDB$ROOTを使用します。PDBを指定するには、プロシージャをルートから起動する必要があります。このパラメータはCDBにのみ適用されます。使用上の注意このプロシージャは、ローカル・データベース上で次の処理を実行します。すべての取得プロセスを削除します。インスタンス化のために表が準備されている場合は、DBMS_CAPTURE_ADMパッケージのABORT_TABLE_INSTANTIATIONプロシージャを使用すると、表のインスタンス化の準備が中断されます。インスタンス化のためにスキーマが準備されている場合は、DBMS_CAPTURE_ADMパッケージのABORT_SCHEMA_INSTANTIATIONプロシージャを使用すると、スキーマのインスタンス化の準備が中断されます。インスタンス化のためにデータベースが準備されている場合は、DBMS_CAPTURE_ADMパッケージのABORT_GLOBAL_INSTANTIATIONプロシージャを使用すると、データベースのインスタンス化の準備が中断されます。DBMS_XSTREAM_ADMパッケージまたはDBMS_PROPAGATION_ADMパッケージのいずれかを使用して作成された伝播を削除します。伝播を削除する前に、伝播ジョブを無効にします。DBMS_AQADMパッケージを使用して作成された伝播は削除しません。伝播で使用されるすべての伝播ジョブを無効にします。すべての適用プロセスを削除します。適用プロセスのエラー・キューに適用エラーがある場合は、すべての適用エラーを削除してから、適用プロセスを削除します。適用プロセスで使用されるDDLハンドラの定義を削除します。DDLハンドラによって使用されるPL/SQLプロシージャは削除しません。適用プロセスで使用されるメッセージ・ハンドラの定義を削除します。メッセージ・ハンドラによって使用されるPL/SQLプロシージャは削除しません。適用プロセスで使用されるプリコミット・ハンドラの定義を削除します。プリコミット・ハンドラによって使用されるPL/SQLプロシージャは削除しません。個々の適用オブジェクト用、個々のスキーマ用およびデータベース全体用の、初期化SCNと無視SCNを削除します。メッセージ・クライアントを削除します。DBMS_XSTREAM_ADMパッケージのSET_MESSAGE_NOTIFICATIONプロシージャを使用して設定されたメッセージ通知指定を設定解除します。プロシージャDMLハンドラとエラー・ハンドラの定義を削除します。この削除では、これらのハンドラによって使用されるPL/SQLプロシージャは削除されません。更新競合ハンドラを削除します。適用表の代替キー列の定義を削除します。DBMS_XSTREAM_ADMパッケージを使用して作成されたルール・セットとルールを削除します。取得プロセス、伝播、適用プロセスおよびメッセージ・クライアントによって使用されなかったルール・セットを削除し、それぞれのルール・セット内のルールを削除します。これらのルールおよびルール・セットは、DBMS_XSTREAM_ADMパッケージまたはDBMS_RULE_ADMパッケージを使用して作成されたかどうかに関係なく削除されます。このプロシージャは、取得プロセスと適用プロセスを停止してから、それらのプロセスを削除します。次の両方の条件を満たす場合は、このプロシージャはルール・セットまたはルールを削除しません。ルール・セットまたはルールがDBMS_RULE_ADMパッケージを使用して作成された。ルール・セットまたはルールが、取得プロセス、伝播、適用プロセスまたはメッセージ・クライアントによって使用されていない。注意:このプロシージャの実行には危険が伴います。このプロシージャは、データベースでXStream構成全体を削除する必要がある場合にのみ実行してください。Streams構成全体も削除されます。注意:このプロシージャを繰り返し実行しても、エラーは発生しません。プロシージャが途中で失敗した場合は再実行できます。このプロシージャは複数回コミットされます。RENAME_COLUMNプロシージャこのプロシージャは、指定されたルールを満たす行論理変更レコード(LCR)内の列の名前を変更する宣言ルールベースの変換を追加または削除します。指定したルールがTRUEと評価されるときに変換を実行する場合、ルールはXStreamクライアントのポジティブ・ルール・セットに入っている必要があります。XStreamクライアントには、取得プロセス、伝播プロセスおよび適用プロセスがあります。Streams取得プロセスでサポートされているデータ・タイプと同じです。宣言的変換では、行LCRのみを変換できます。したがって、このプロシージャを実行する場合は、DMLルールを指定する必要があります。DDLルールを指定した場合は、エラーが発生します。XStreamガイド』を参照してください。RENAME_COLUMNプロシージャのパラメータパラメータ説明rule_name[schema_name.]rule_nameの形式で指定したルールの名前。NULLの場合は、エラーが発生します。hrスキーマ内のemployees12というルールを指定するには、hr.employees12と入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。table_name行LCRで列の名前を変更する表の名前で、[schema_name.]object_nameという形式で指定します。hr.employeesのように指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。from_column_nameルールを満たす各行LCR内の名前を変更する列の名前。to_column_nameルールを満たす各行LCR内の列の新しい名前。value_type行LCRの新しい値の列の名前を変更する場合は、'NEW'を指定します。行LCRの古い値の列の名前を変更する場合は、'OLD'を指定します。行LCRの新しい値と古い値の両方の列の名前を変更する場合は、'*'を指定します。XStreamガイド』を参照してください。operation変換をルールに追加する場合は、'ADD'を指定します。変換をルールから削除する場合は、'REMOVE'を指定します。使用上の注意operationパラメータに'REMOVE'を指定すると、指定したルールに対する列名変更の宣言ルールベースの変換のうち、指定したパラメータ(table_name、column_nameおよびstep_number)に一致するすべての変換が削除されます。これらのパラメータにNULLを指定すると、ワイルドカードとして動作します。次の表に、これらのパラメータの1つ以上がNULLの場合の、RENAME_COLUMNプロシージャの動作を示します。指定したルールに対するすべての列名変更変換が削除されます。指定したルールに対して指定されたstep_numberの値を持つすべての列名変更変換が削除されます。指定したルールに対して指定されたto_column_nameおよびstep_numberの値を持つすべての列名変更変換が削除されます。指定したルールに対して指定されたtable_nameおよびstep_numberの値を持つすべての列名変更変換が削除されます。指定したルールに対して指定されたcolumn_nameの値を持つすべての列名変更変換が削除されます。指定したルールに対して指定されたtable_nameおよびcolumn_nameの値を持つすべての列名変更変換が削除されます。指定したルールに対して指定されているtable_nameの値を持つすべての列名変更変換が削除されます。指定したルールに対して指定されたtable_name、column_nameおよびstep_numberの値を持つすべての列名変更変換が削除されます。指定したルールに対して指定されたtable_name、column_nameおよびstep_numberの値を持つすべての列名変更変換が削除されます。指定したルールに対して指定されたtable_name、column_nameおよびstep_numberの値を持つすべての列名変更変換が削除されます。指定したルールに対して指定されたtable_name、column_nameおよびstep_numberの値を持つすべての列名変更変換が削除されます。RENAME_SCHEMAプロシージャこのプロシージャは、指定されたルールを満たす行論理変更レコード(LCR)内のスキーマの名前を変更する宣言ルールベースの変換を追加または削除します。指定したルールがTRUEと評価されるときに変換を実行する場合、ルールはXStreamクライアントのポジティブ・ルール・セットに入っている必要があります。XStreamクライアントには、取得プロセス、伝播プロセスおよび適用プロセスがあります。注意:宣言的変換では、行LCRのみを変換できます。したがって、このプロシージャを実行する場合は、DMLルールを指定する必要があります。DDLルールを指定した場合は、エラーが発生します。XStreamガイド』を参照してください。RENAME_SCHEMAプロシージャのパラメータパラメータ説明rule_name[schema_name.]rule_nameの形式で指定したルールの名前。NULLの場合は、エラーが発生します。hrスキーマ内のemployees12というルールを指定するには、hr.employees12と入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。from_schema_nameルールを満たす各行LCR内の名前を変更するスキーマの名前。to_schema_nameルールを満たす各行LCR内のスキーマの新しい名前。XStreamガイド』を参照してください。operation変換をルールに追加する場合は、'ADD'を指定します。変換をルールから削除する場合は、'REMOVE'を指定します。使用上の注意operationパラメータに'REMOVE'を指定すると、指定したルールに対するスキーマ名変更の宣言ルールベースの変換のうち、指定したパラメータ(from_schema_name、to_schema_nameおよびstep_number)に一致する変換がすべて削除されます。これらのパラメータにNULLを指定すると、ワイルドカードとして動作します。次の表に、これらのパラメータの1つ以上がNULLの場合の、RENAME_SCHEMAプロシージャの動作を示します。指定したルールに対するすべてのスキーマ名変更変換が削除されます。指定したルールに対して指定されたstep_numberの値を持つすべてのスキーマ名変更変換が削除されます。指定したルールに対して指定されたto_schema_nameおよびstep_numberの値を持つすべてのスキーマ名変更変換が削除されます。指定したルールに対して指定されたfrom_schema_nameおよびstep_numberの値を持つすべてのスキーマ名変更変換が削除されます。指定したルールに対して指定されたto_schema_nameの値を持つすべてのスキーマ名変更変換が削除されます。指定したルールに対して指定されたfrom_schema_nameおよびto_schema_nameの値を持つすべてのスキーマ名変更変換が削除されます。指定したルールに対して指定されたfrom_schema_nameの値を持つすべてのスキーマ名変更変換が削除されます。指定したルールに対して指定されたfrom_schema_name、to_schema_nameおよびstep_numberの値を持つすべてのスキーマ名変更変換が削除されます。RENAME_TABLEプロシージャこのプロシージャは、指定されたルールを満たす行論理変更レコード(行LCR)内の表の名前を変更する宣言ルールベースの変換を追加または削除します。指定したルールがTRUEと評価されるときに変換を実行する場合、ルールはXStreamクライアントのポジティブ・ルール・セットに入っている必要があります。XStreamクライアントには、取得プロセス、伝播プロセスおよび適用プロセスがあります。注意:宣言的変換では、行LCRのみを変換できます。したがって、このプロシージャを実行する場合は、DMLルールを指定する必要があります。DDLルールを指定した場合は、エラーが発生します。XStreamガイド』を参照してください。RENAME_TABLEプロシージャのパラメータパラメータ説明rule_name[schema_name.]rule_nameの形式で指定したルールの名前。NULLの場合は、エラーが発生します。hrスキーマ内のemployees12というルールを指定するには、hr.employees12と入力します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。from_table_nameルールを満たす各行LCR内の名前を変更する表の名前で、[schema_name.]object_nameという形式で指定します。hr.employeesのように指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。to_table_nameルールを満たす各行LCR内の表の新しい名前で、[schema_name.]object_nameという形式で指定します。humres.staffのように指定します。この変換では、表のみ、スキーマのみ、または両方の名前を変更できます。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。XStreamガイド』を参照してください。operation変換をルールに追加する場合は、'ADD'を指定します。変換をルールから削除する場合は、'REMOVE'を指定します。使用上の注意operationパラメータに'REMOVE'を指定すると、指定したルールに対する表名変更の宣言ルールベースの変換のうち、指定したパラメータ(from_table_name、to_table_nameおよびstep_number)に一致する変換がすべて削除されます。これらのパラメータにNULLを指定すると、ワイルドカードとして動作します。次の表に、これらのパラメータの1つ以上がNULLの場合の、RENAME_TABLEプロシージャの動作を示します。指定したルールに対するすべての表名変更変換が削除されます。指定したルールに対して指定されたstep_numberの値を持つすべての表名変更変換が削除されます。指定したルールに対して指定されているto_table_nameおよびstep_numberのすべての表名変更変換が削除されます。指定したルールに対して指定されているfrom_table_nameおよびstep_numberのすべての表名変更変換が削除されます。指定したルールに対して指定されているto_table_nameのすべての表名変更変換が削除されます。指定したルールに対して指定されているfrom_table_nameおよびto_table_nameのすべての表名変更変換が削除されます。指定したルールに対して指定されているfrom_table_nameのすべての表名変更変換が削除されます。指定したルールに対して指定されているfrom_table_name、to_table_nameおよびstep_numberのすべての表名変更変換が削除されます。SET_MESSAGE_TRACKINGプロシージャ現在のセッションで生成された論理変更レコード(LCR)の追跡ラベルを設定します。このプロシージャの影響があるのは、現行のセッションのみです。取得されたLCRや永続LCRなど、現在のセッションで生成されたLCRが追跡されます。注意:このプロシージャで設定される追跡ラベルは、非LCRメッセージを追跡しません。SET_MESSAGE_TRACKINGプロシージャのパラメータパラメータ説明tracking_labelセッションで生成されたLCRを追跡するために使用されるラベル。現在のセッションでメッセージ追跡を停止するには、このパラメータをNULLに設定します。ラベルのサイズ制限は、4,000バイトです。actionsDBMS_XSTREAM_ADM.ACTION_MEMORYが指定されている場合は、メモリー内でLCRが追跡され、V$STREAMS_MESSAGE_TRACKING動的パフォーマンス・ビューがLCRに関する情報とともに移入されます。現在、DBMS_XSTREAM_ADM.ACTION_MEMORYはこのパラメータの唯一有効な設定です。このパラメータに指定する値は、列挙定数です。列挙定数にはパッケージ名を接頭辞として付加する必要があります。SET_PARAMETERプロシージャこのプロシージャは、アウトバウンド・サーバー、インバウンド・サーバーまたはアウトバウンド・サーバーの取得プロセスに対してパラメータを設定します。SET_PARAMETERプロシージャのパラメータパラメータ説明streams_typeXStreamクライアントのタイプ:取得プロセスの場合は、capture。アウトバウンド・サーバーまたはインバウンド・サーバーに対してapplyを指定してください。streams_name取得プロセス、アウトバウンド・サーバーまたはインバウンド・サーバーの名前。所有者を指定しないでください。parameter設定するパラメータの名前。取得プロセスのパラメータの詳細は、「取得プロセスのパラメータ」を参照してください。アウトバウンド・サーバーおよびインバウンド・サーバーのパラメータの詳細は、「適用コンポーネントのパラメータ」を参照してください。valueパラメータに設定する値。NULLの場合、パラメータはデフォルト値に設定されます。no_waitTRUEの場合は、パラメータが即時に設定されます。FALSEの場合、パラメータは、実行中の取得プロセス、インバウンド・サーバー、またはアウトバウンド・サーバーとの同期化の後で設定されます。同じプロセスの複数のパラメータを連続して変更する場合、このパラメータをTRUEに設定すると、各コールがスピードアップします。プロセスが現在実行中の場合は、このパラメータをプロシージャの最後にFALSEに設定して、変更されたパラメータ値がプロセスで使用されるようにする必要があります。最後のプロシージャ・コールに対してno_waitパラメータがTRUEに設定されていると、実行中のプロセスはパラメータの変更を検出できない場合があります。source_databaseCURRENTの場合、パラメータは、プロシージャが起動されたコンテナでのみ設定されます。CURRENTは、ルートまたはPDBに接続している間に指定できます。ALLの場合、パラメータは、プロシージャの起動後に作成されたCDB内のすべてのコンテナおよびすべてのPDBで設定されます。ALLを指定するには、このプロシージャをルートから起動する必要があります。コンテナ名の場合、パラメータは指定されたコンテナで設定されます。ルートを指定するには、ルートへの接続中にCDB$ROOTを使用します。PDBを指定するには、プロシージャをルートから起動する必要があります。このパラメータは、CDBのみに適用されます。NULL以外の値を、次のパラメータにのみ指定できます。include_objects取得パラメータexcludetag取得または適用パラメータexcludetransはパラメータを取得および適用します。excludeuser取得または適用パラメータexcludeuserid取得または適用パラメータgetreplicates取得または適用パラメータgetapplops取得または適用パラメータSET_TAGプロシージャこのプロシージャは、現行のセッションで継続して生成されるREDOエントリすべてに対してバイナリ・タグを設定します。現行セッションのDML文またはDDL文によって生成される各REDOエントリには、このタグが含まれます。このプロシージャの影響があるのは、現行のセッションのみです。Streamsレプリケーション管理者ガイド』を参照してください。SET_TAGプロシージャのパラメータパラメータ説明tag現行のセッションで継続して生成されるREDOエントリすべてに対するバイナリ・タグ。RAW値は一連のバイトで、バイトは一連のビットです。デフォルトでは、セッションのタグはNULLです。タグ値のサイズ制限は、2000バイトです。現行のセッションでタグを16進数値の'17'に設定するには、次のプロシージャを実行します。HEXTORAW('17'));SET_TAGプロシージャでは、次の点に注意してください。このプロシージャはトランザクション型ではありません。SET_TAGの結果はロールバックできません。データベースでデータ・ディクショナリの構築を実行する前に、SET_TAGプロシージャを実行してNULL以外のセッション・タグを設定した場合、ディクショナリの構築前に開始したトランザクションのREDOエントリに、セッションに指定したタグ値が含まれないことがあります。そのため、データ・ディクショナリの構築は、セッションでSET_TAGプロシージャを使用する前に実行します。データ・ディクショナリは、DBMS_CAPTURE_ADM.BUILDプロシージャを実行すると構築されます。BUILDプロシージャは、取得プロセスの作成時に自動的に実行できます。関連項目:BUILDプロシージャSET_UP_QUEUEプロシージャこのプロシージャは、キュー表およびANYDATAキューを作成します。SET_UP_QUEUEプロシージャのパラメータパラメータ説明queue_tableキュー表の名前で、[schema_name.]queue_table_nameの形式で指定します。strmadmin.streams_queue_tableのように指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。キュー表の所有者を指定しない場合は、このプロシージャを実行するユーザーがキュー表の所有者として自動的に指定されます。キュー表の名前の最大長は24バイトです。storage_clauseキュー表に対すSTORAGE句。TABLE文に組み込まれます。有効な表のSTORAGE句を任意に指定できます。ここで表領域を指定しない場合は、キュー表およびそのすべての関連オブジェクトが、このプロシージャを実行しているユーザーのデフォルトのユーザー表領域に作成されます。ここで表領域を指定した場合は、キュー表およびそのすべての関連オブジェクトが、STORAGE句で指定された表領域に作成されます。NULLの場合は、キュー表が作成された表領域の記憶特性が使用されます。SQL言語リファレンス』を参照してください。queue_nameANYDATAキューとして機能するキューの名前で、[schema_name.]queue_nameという形式で指定します。strmadmin.streams_queueのように指定します。スキーマを指定しない場合は、キュー表の所有者が使用されます。キュー表の所有者は、キューの所有者でもある必要があります。キューの所有者には、キューに関するすべてのキュー操作を実行するための権限が自動的に付与されます。このパラメータにスキーマが指定されず、queue_tableパラメータにキュー表の所有者が指定されていない場合は、現行のユーザーがデフォルトで使用されます。キューの名前の最大長は24バイトです。queue_userキューに対するENQUEUE権限とDEQUEUE権限が必要なユーザー名。このユーザーは、キューの保護キュー・ユーザーとしても構成されます。キュー・ユーザーにはGRANTオプションが付与されていないため、これらの権限を他のユーザーに付与することはできません。NULLに設定すると、権限は付与されません。DBMS_AQADMパッケージを使用して、キューの権限を適切なユーザーに付与することもできます。commentキューに対するコメント。設定には、次のアクションが含まれます。指定のキュー表が存在していない場合、このプロシージャは、DBMS_AQADMパッケージのCREATE_QUEUE_TABLEプロシージャを実行し、指定のSTORAGE句でキュー表を作成します。このプロシージャでキュー表が作成される場合は、保護キューでありトランザクション・キューでもある、ANYDATAのマルチ・コンシューマ・キューが作成されます。2以上の場合、CREATE_QUEUE_TABLEのsort_list設定はcommit_timeに設定されます。リリース2より前の場合、CREATE_QUEUE_TABLEのsort_list値はenq_timeに設定されます。指定したキュー表が存在する場合は、そのキュー表のプロパティがキューで使用されます。指定したキューの名前が存在していない場合、このプロシージャは、DBMS_AQADMパッケージのCREATE_QUEUEプロシージャを実行して、キューを作成します。このプロシージャは、キューを開始します。キュー・ユーザーが指定されている場合、このプロシージャは、このユーザーをキューの保護キュー・ユーザーとして構成し、キューに対するENQUEUE権限とDEQUEUE権限を指定のキュー・ユーザーに付与します。キュー・ユーザーを保護キュー・ユーザーとして構成するために、このプロシージャは、ユーザー名と同名のアドバンスト・キューイング・エージェントを作成します(エージェントが存在していない場合)。この名前のエージェントが存在し、キュー・ユーザーのみに関連付けられている場合は、そのエージェントが使用されます。SET_UP_QUEUEプロシージャは、次に、DBMS_AQADMパッケージのENABLE_DB_ACCESSプロシージャを実行して、エージェントとユーザーを指定します。注意:SET_UP_QUEUEで作成を試みたエージェントが存在し、そのエージェントがqueue_userで指定されているユーザー以外のユーザーに関連付けられている場合は、エラーが発生します。この場合は、既存のエージェントを変更または削除してから、SET_UP_QUEUEを再試行してください。Streams概要および管理』を参照してください。SPLIT_STREAMSプロシージャこのプロシージャは、取得プロセスからの1つのストリームをその取得プロセスからの他のすべてのストリームから分割します。Streamsレプリケーション環境です。伝播の接続先の1つが取得された変更の受入れを停止した場合、変更は取得プロセス・キューに残ります。Streams環境のパフォーマンスが低下する可能性があります。接続先はいくつかの理由で変更の受入れを停止する場合があります。接続先データベースが停止する場合などです。具体的には、このプロシージャは次の操作を実行します。取得プロセスを実行しているデータベースで新しいキューを作成します。新しいキューは元のストリームで使用されているキューのクローンであるため、クローニングされたキューと呼ばれます。新しいキューはクローニングされた新しい取得プロセスによって使用され、クローニングされた新しい伝播のソース・キューとなります。手順1で作成したソース・キューから既存の宛先キューにLCRを伝播する新しい伝播を作成します。新しい伝播は元のストリームで使用されている伝播のクローンであるため、クローニングされた伝播と呼ばれます。クローニングされた伝播は、元の伝播と同じルール・セットを使用します。取得プロセスを停止します。元の伝播の確認済SCNを問い合せます。確認済SCNとは、伝播によって送信された変更を適用する適用プロセスによって確認された最後のSCNです。新しい取得プロセスを作成します。新しい取得プロセスは元のストリームで使用されている取得プロセスのクローンであるため、クローニングされた取得プロセスと呼ばれます。プロシージャによって、クローニングされた取得プロセスの開始SCNが、手順4で問い合せた確認済SCNの値に設定されます。クローニングされた取得プロセスは、元の取得プロセスと同じルール・セットを使用します。元の伝播を削除します。手順4で問い合せた確認済SCNに設定された開始SCNで元の取得プロセスを開始します。Schedulerジョブを作成します。2つのストリームが指定されたマージしきい値内にある場合、MERGE_STREAMS_JOBプロシージャはMERGE_STREAMSを実行して、ストリームを自動的にマージします。SPLIT_STREAMSプロシージャの実行が終了すると、クローニングされた取得プロセスは無効化されます。接続先データベースで問題が解決され、宛先キューで変更を受け入れることができる場合は、DBMS_CAPTURE_ADMパッケージのSTART_CAPTUREプロシージャを使用して、クローニングされた取得プロセスを開始する必要があります。DBA_STREAMS_SPLIT_MERGEビューは、各クローン・コンポーネントの名前と、分割およびマージ操作に関する情報を示します。注意:元の取得プロセスがダウンストリーム取得プロセスである場合は、クローニングされた取得プロセスを開始する前に、ソース・データベースからREDOログを読み取るようにクローニングされた取得プロセスを構成する必要があります。Streamsレプリケーション管理者ガイド』を参照してください。SPLIT_STREAMSプロシージャのパラメータパラメータ説明propagation_name宛先キューにLCRを送信できない伝播の名前。指定する伝播は、他のストリームから分割されるストリームの伝播です。既存の伝播名を指定する必要があります。所有者を指定しないでください。cloned_propagation_name分割されるストリームに対して、このプロシージャで作成される新しい伝播の名前。NULLの場合、システムによって伝播名が生成されます。cloned_queue_name分割されるストリームに対して、このプロシージャで作成される新しいキューの名前。NULLの場合、システムによってキュー名が生成されます。cloned_capture_name分割されるストリームに対して、このプロシージャで作成される新しい取得プロセスの名前。NULLの場合、システムによって取得プロセス名が生成されます。perform_actionsTRUEに設定すると、ストリームを直接分割するために必要な処理が実行されます。FALSEに設定すると、ストリームを直接分割するために必要な処理は実行されません。このプロシージャでスクリプトを生成し、そのスクリプトを編集して実行できるようにする場合は、FALSEに設定します。次のいずれかのパラメータがNULLの場合にFALSEに設定すると、エラーが発生します。script_namescript_directory_objectscript_nameこのパラメータがNULL以外の値で、perform_actionsパラメータがFALSEの場合は、指定された名前のスクリプトが生成されます。このスクリプトには、ストリームを分割するために必要なすべての文が記述されています。指定したスクリプト名のファイルが、script_directory_objectパラメータで指定されるディレクトリにすでに存在する場合は、その既存ファイルの末尾に文が追加されます。このパラメータがNULL以外の値で、perform_actionsパラメータがTRUEの場合は、指定のスクリプトが生成され、ストリームを直接分割する処理が実行されます。このパラメータがNULLで、perform_actionsパラメータがTRUEの場合は、ストリームを直接分割する処理が実行され、スクリプトは生成されません。このパラメータがNULLで、perform_actionsパラメータがFALSEの場合は、エラーが発生します。script_directory_object作成されるスクリプトが保存されるローカル・コンピュータ・システムのディレクトリのディレクトリ・オブジェクト。script_nameパラメータがNULLの場合、このパラメータは無視され、スクリプトは生成されません。このパラメータがNULLで、script_nameパラメータがNULL以外の場合は、エラーが発生します。(ASM)ディスク・グループを指定することはできません。Schedulerジョブによって、取得プロセスからの他のすべてのストリームに自動的にマージされて戻されます。このジョブによって、スケジュールに従って設定された間隔でMERGE_STREAMS_JOBプロシージャが実行されます。GV$STREAMS_CAPTURE動的パフォーマンス・ビューの各取得プロセスのCAPTURE_MESSAGE_CREATE_TIME列の値によって、ストリームがいつマージされるかが判別されます。具体的には、クローニングされた取得プロセスと元の取得プロセスのCAPTURE_MESSAGE_CREATE_TIMEの差(秒数)がauto_merge_thresholdパラメータに指定された値以下の場合、2つのストリームは自動的にマージされます。分割されたストリームが元のストリームとマージされて戻されるには、クローニングされた取得プロセスが開始されている必要があります。NULLまたは0(ゼロ)を指定した場合、分割されたストリームは自動的に元のストリームとマージされて戻されません。分割されたストリームを元のストリームとマージするには、クローニングされた取得プロセスのCAPTURE_MESSAGE_CREATE_TIMEが、元の取得プロセスのCAPTURE_MESSAGE_CREATE_TIMEに追いついているか、またはほとんど追いついているときに、MERGE_STREAMプロシージャを手動で実行します。CAPTURE_MESSAGE_CREATE_TIMEは、取得された変更がREDOログに記録された時間を記録します。Schedulerスケジュール名で、[schema_name.]schedule_nameの形式で指定します。strmadmin.merge_scheduleのように指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。auto_merge_thresholdがNULL以外の正数の場合、スケジュールは、適切な時間にストリームを自動的にマージするジョブによって使用されます。命名規則に従うか、またはスケジュールの追跡を簡単にするには、スケジュール名を指定します。NULLの場合で、auto_merge_thresholdがNULL以外の正数の場合、システムによってスケジュール名が生成されます。auto_merge_thresholdがNULLまたは0(ゼロ)の場合、このパラメータはNULLに設定する必要があります。このプロシージャによってスケジュールが作成された場合、スケジュールはプロシージャが完了したときに開始されます。スケジュールを変更して、マージ・ジョブの実行頻度を制御できます。既存のスケジュール名を指定すると、エラーが発生します。Schedulerジョブ名で、[schema_name.]merge_job_nameの形式で指定します。strmadmin.merge_jobのように指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。auto_merge_thresholdがNULL以外の正数の場合、ジョブは、適切な時間にストリームを自動的にマージします。命名規則に従う場合やジョブの追跡を簡単にする場合には、マージ・ジョブ名を指定します。NULLの場合で、auto_merge_thresholdがNULL以外の正数の場合、システムによってジョブ名が生成されます。auto_merge_thresholdがNULLまたは0(ゼロ)の場合、このパラメータはNULLに設定する必要があります。既存のジョブ名を指定すると、エラーが発生します。Database管理者ガイド』を参照してください。START_OUTBOUNDプロシージャこのプロシージャにより、XStreamアウトバウンド・サーバーが起動します。アウトバウンド・サーバーは、LCRをXStreamクライアントのアプリケーションにストリーム・アウトします。START_OUTBOUNDプロシージャのパラメータパラメータ説明server_name起動中のアウトバウンド・サーバーの名前。NULL指定は許可されていません。所有者を指定しないでください。STOP_OUTBOUNDプロシージャこのプロシージャにより、XStreamアウトバウンド・サーバーが停止します。アウトバウンド・サーバーは、LCRをXStreamクライアントのアプリケーションにストリーム・アウトします。STOP_OUTBOUNDプロシージャのパラメータパラメータ説明server_name停止中のアウトバウンド・サーバーの名前。NULL指定は許可されていません。所有者を指定しないでください。forceTRUEの場合は、アウトバウンド・サーバーとその取得プロセスをできるだけ早く停止します。FALSEの場合は、適用された一連のトランザクションに不整合がないことが確認された後で、アウトバウンド・サーバーが停止されます。適用コンポーネントの動作は、forceパラメータに指定された設定、およびcommit_serialization適用コンポーネント・パラメータに指定された設定によって決まります。