Streamsパッケージの1つであるDBMS_CAPTURE_ADMパッケージは、取得プロセスの開始、停止および構成を実行するためのサブプログラムを提供します。 取得した変更のソースはREDOログで、取得した変更のリポジトリはキューです。
|
関連項目: このパッケージおよび取得プロセスの詳細は、『Oracle Streams概要および管理』および『Oracle Streamsレプリケーション管理者ガイド』を参照してください。 |
この章では、次の項目について説明します。
表20-1 DBMS_CAPTURE_ADMパッケージのサブプログラム
| サブプログラム | 説明 |
|---|---|
|
ABORT_GLOBAL_INSTANTIATIONプロシージャ |
|
|
ABORT_SCHEMA_INSTANTIATIONプロシージャ |
|
|
ABORT_TABLE_INSTANTIATIONプロシージャ |
|
|
|
取得プロセスを変更します。 |
|
|
現行のデータベースのデータ・ディクショナリをREDOログに抽出し、すべての主キー列と一意キー列についてデータベースのサプリメンタル・ロギングを自動的に指定します。 |
|
|
取得プロセスを作成します。 |
|
|
取得プロセスを削除します。 |
|
|
指定した取得プロセスによって取得される論理変更レコード(LCR)に追加属性を記録するかどうかを指示します。 |
|
PREPARE_GLOBAL_INSTANTIATIONプロシージャ |
別のデータベースで、データベース内のすべての表をインスタンス化するために必要な同期化を行い、表内のキー列またはすべての列でサプリメンタル・ロギングを有効にできます。 |
|
PREPARE_SCHEMA_INSTANTIATIONプロシージャ |
別のデータベースで、スキーマ内のすべての表をインスタンス化するために必要な同期化を行い、表内のキー列またはすべての列でサプリメンタル・ロギングを有効にできます。 |
|
PREPARE_TABLE_INSTANTIATIONプロシージャ |
別のデータベースで、表をインスタンス化するために必要な同期化を行い、表内のキー列またはすべての列でサプリメンタル・ロギングを有効にできます。 |
|
|
取得プロセス・パラメータを指定した値に設定します。 |
|
|
取得プロセスを開始します。取得プロセスは、REDOログを調査し、取り出したREDO情報を関連キューにエンキューします。 |
|
|
取得プロセスを停止してREDOログの調査を中断します。 |
|
注意: 特に指定がないかぎり、すべてのサブプログラムがコミットされます。 |
このプロシージャは、PREPARE_GLOBAL_INSTANTIATION、PREPARE_SCHEMA_INSTANTIATIONおよびPREPARE_TABLE_INSTANTIATIONプロシージャの実行効果を元に戻します。
具体的には、このプロシージャは次の操作を実行します。
データベース、スキーマおよび表のインスタンス化に関連するデータ・ディクショナリ情報を削除します。
PREPARE_GLOBAL_INSTANTIATION、PREPARE_SCHEMA_INSTANTIATIONおよびPREPARE_TABLE_INSTANTIATIONプロシージャで有効にしたサプリメンタル・ロギングを削除します。
構文
DBMS_CAPTURE_ADM.ABORT_GLOBAL_INSTANTIATION();
このプロシージャは、PREPARE_SCHEMA_INSTANTIATIONプロシージャの実行結果を元に戻します。 また、指定したスキーマ内にある表のPREPARE_TABLE_INSTANTIATIONプロシージャの実行結果も元に戻します。
具体的には、このプロシージャは次の操作を実行します。
スキーマのインスタンス化およびスキーマ内の表のインスタンス化に関連するデータ・ディクショナリ情報を削除します。
PREPARE_SCHEMA_INSTANTIATIONプロシージャで有効にしたサプリメンタル・ロギングを削除します。
指定したスキーマ内にある表のPREPARE_TABLE_INSTANTIATIONプロシージャで有効にしたサプリメンタル・ロギングを削除します。
構文
DBMS_CAPTURE_ADM.ABORT_SCHEMA_INSTANTIATION( schema_name IN VARCHAR2);
パラメータ
このプロシージャは、PREPARE_TABLE_INSTANTIATIONプロシージャの実行結果を元に戻します。
具体的には、このプロシージャは次の操作を実行します。
表のインスタンス化に関連するデータ・ディクショナリ情報を削除します。
PREPARE_TABLE_INSTANTIATIONプロシージャで有効にしたサプリメンタル・ロギングを削除します。
構文
DBMS_CAPTURE_ADM.ABORT_TABLE_INSTANTIATION( table_name IN VARCHAR2);
パラメータ
表20-3 ABORT_TABLE_INSTANTIATIONプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
準備中のインスタンス化の結果を元に戻す表の名前。 |
このプロシージャは、取得プロセスを変更します。
|
関連項目: 取得プロセスの変更の詳細は、『Oracle Streams概要および管理』を参照してください。 |
構文
DBMS_CAPTURE_ADM.ALTER_CAPTURE( capture_name IN VARCHAR2, rule_set_name IN VARCHAR2 DEFAULT NULL, remove_rule_set IN BOOLEAN DEFAULT FALSE, start_scn IN NUMBER DEFAULT NULL, use_database_link IN BOOLEAN DEFAULT NULL, first_scn IN NUMBER DEFAULT NULL, negative_rule_set_name IN VARCHAR2 DEFAULT NULL, remove_negative_rule_set IN BOOLEAN DEFAULT FALSE, capture_user IN VARCHAR2 DEFAULT NULL, checkpoint_retention_time IN NUMBER DEFAULT NULL);
パラメータ
表20-4 ALTER_CAPTUREプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
変更する取得プロセスの名前。 既存の取得プロセス名を指定する必要があります。 所有者を指定しないでください。 |
|
|
取得プロセスに対するポジティブ・ルール・セットの名前。 ポジティブ・ルール・セットには、変更の取得を取得プロセスに指示するためのルールが含まれています。 取得プロセスに対してポジティブ・ルール・セットを使用する場合は、既存のルール・セットを 指定したルール・セットが存在しない場合は、エラーが戻されます。 ルール・セットを作成し、そのルール・セットにルールを追加するには、
関連項目: 取得プロセスによって取得可能な変更の詳細は、『Oracle Streams概要および管理』を参照してください。 |
|
|
取得プロセスのネガティブ・ルール・セットが存在するときに、取得プロセスに対するポジティブ・ルール・セットを削除すると、取得プロセスは、ネガティブ・ルール・セットによって破棄されない、サポートされているすべての変更を取得します。
|
|
|
データベースの有効なSCNのうち、取得プロセスによる変更の取得の開始時に使用するSCN(開始時SCN)。 このパラメータで指定するSCN値は、取得プロセスの最初のSCN値以上にする必要があります。 無効なSCNが指定された場合はエラーが戻されます。 |
|
|
|
|
|
REDOログ内の最小(最初の)SCN値を指定します。取得プロセスでは、このSCN値から変更の取得を開始できます。 取得プロセスに対して新たに最小SCNを指定する場合、その最小SCNは次の条件を満たす必要があります。
指定した最小SCNがこれら3つの条件を満たさない場合は、エラーが戻されます。 これらのすべての条件を満たすSCN値を決定する方法は、「使用上の注意」を参照してください。 最小(最初の)SCNを変更すると、以前のSCNからの取得プロセス再開に必要な情報が取得プロセスのLogMinerデータ・ディクショナリからパージされます。 また、指定された最小SCNが取得プロセスに対する現行の開始時SCNより大きい場合は、現行の開始時SCNが自動的に新しい最小SCNに変更されます。 |
|
|
取得プロセスに対するネガティブ・ルール・セットの名前。 ネガティブ・ルール・セットには、変更の破棄を取得プロセスに指示するためのルールが含まれています。 取得プロセスに対してネガティブ・ルール・セットを使用する場合は、既存のルール・セットを 指定したルール・セットが存在しない場合は、エラーが戻されます。 ルール・セットを作成し、そのルール・セットにルールを追加するには、
1つの取得プロセスに対してポジティブ・ルール・セットとネガティブ・ルール・セットの両方を指定した場合は、常にネガティブ・ルール・セットが最初に評価されます。 |
|
|
取得プロセスのポジティブ・ルール・セットが存在するときに、取得プロセスに対するネガティブ・ルール・セットを削除すると、取得プロセスは、ポジティブ・ルール・セットによって破棄されない、サポートされているすべての変更を取得します。
|
|
|
ユーザーを指定します。このユーザーのセキュリティ・ドメイン内で、取得プロセスは、取得プロセスのルール・セットを満足する変更を取得し、取得プロセス・ルールに対して構成されているカスタム・ルールベースの変換を実行します。 取得ユーザーを変更するには、 取得ユーザーを変更すると、取得プロセスで使用されるキューに対するエンキュー権限が新しい取得ユーザーに付与され、その取得ユーザーがキューの保護キュー・ユーザーとして構成されます。 なお、取得ユーザーには次の権限が必要です。
これらの権限は、取得ユーザーに直接付与する必要があります。 ロールを通して付与することはできません。 デフォルトでは、このパラメータは取得プロセスを作成したユーザーに設定されます。取得プロセスを作成するには、このパッケージ内の
注意: 指定したユーザーが |
|
|
取得プロセスで自動的にパージが行われるまでチェックポイントが保存される日数。チェックポイントを自動的にパージしない場合は、 日数を指定すると、チェックポイントが取得されてから指定した日数後に、取得プロセスによってチェックポイントがパージされます。 小数値を使用して時間単位で指定することもできます。 たとえば、6時間は、 チェックポイントがパージされると、そのチェックポイントに対応するアーカイブREDOログ・ファイルのLogMinerデータ・ディクショナリ情報もパージされ、取得プロセスの 関連項目: チェックポイントの保存期間の詳細は、『Oracle Streams概要および管理』を参照してください。 |
使用上の注意
取得プロセスの最初の(最小)SCNを変更する場合は、first_scnパラメータで説明した条件を満たすSCN値を指定する必要があります。 データベース内の個々の取得プロセスについて、最初のSCN、適用されているSCNおよび必要とされるチェックポイントSCNの現行の値を確認するには、次のような問合せを使用します。
SELECT CAPTURE_NAME, FIRST_SCN, APPLIED_SCN, REQUIRED_CHECKPOINT_SCN FROM DBA_CAPTURE;
なお、取得プロセスは、ALTER_CAPTUREプロシージャのパラメータ値を1つ以上変更すると、自動的に停止および再開します。
start_scn
capture_user
このプロシージャは、現行のデータベースのデータ・ディクショナリをREDOログに抽出し、次のSQL文を実行して、データベースのサプリメンタル・ロギングを自動的に指定します。
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
このプロシージャはオーバーロードされています。 このプロシージャの一方のバージョンには、OUTパラメータfirst_scnがあり、他方のバージョンにはこのパラメータがありません。
構文
DBMS_CAPTURE_ADM.BUILD( first_scn OUT NUMBER); DBMS_CAPTURE_ADM.BUILD();
パラメータ
表20-5 BUILDプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
REDOログに抽出されるデータ・ディクショナリに対応する最初の(最小)SCN値を指定します。この値は、取得プロセスの最初のSCNとして指定できます。 |
使用上の注意
このプロシージャは、ソース・データベースで繰り返し実行できます。
ソース・データベースで発生する変更を取得プロセスによって取得する場合は、このプロシージャをソース・データベースで少なくとも1回は実行する必要があります。 ローカル・ソース・データベースまたはダウンストリーム・データベースで取得プロセスを起動すると、REDOログに抽出された情報に基づいて、LogMinerデータ・ディクショナリが作成されます。
このプロシージャを実行した後、DICTIONARY_BEGIN列の値がYESであるという条件式を指定して、V$ARCHIVED_LOGダイナミック・パフォーマンス・ビューのFIRST_CHANGE#列の値を問い合せると、データベースの最小SCNの値がわかります。この最小SCNの値は、取得プロセスに対する最初のSCNとして指定できます。 取得プロセスに対する最初のSCNは、REDOログ内にある最小のSCNです。取得プロセスでは、この最小SCNから変更の取得を開始できます。DBMS_CAPTURE_ADMパッケージ内のCREATE_CAPTUREプロシージャまたはALTER_CAPTUREプロシージャを実行するときは、取得プロセスに対する最初のSCNを指定できます。
このプロシージャは、取得プロセスを作成します。
構文
DBMS_CAPTURE_ADM.CREATE_CAPTURE( queue_name IN VARCHAR2, capture_name IN VARCHAR2, rule_set_name IN VARCHAR2 DEFAULT NULL, start_scn IN NUMBER DEFAULT NULL, source_database IN VARCHAR2 DEFAULT NULL, use_database_link IN BOOLEAN DEFAULT FALSE, first_scn IN NUMBER DEFAULT NULL, logfile_assignment IN VARCHAR2 DEFAULT 'implicit', negative_rule_set_name IN VARCHAR2 DEFAULT NULL, capture_user IN VARCHAR2 DEFAULT NULL, checkpoint_retention_time IN NUMBER DEFAULT 60);
パラメータ
表20-6 CREATE_CAPTUREプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
取得プロセスが変更をエンキューするキューの名前。 既存のキューを 注意: |
|
|
作成する取得プロセスの名前。 注意: |
|
|
取得プロセスに対するポジティブ・ルール・セットの名前。 ポジティブ・ルール・セットには、変更の取得を取得プロセスに指示するためのルールが含まれています。 取得プロセスに対してポジティブ・ルール・セットを使用する場合は、既存のルール・セットを 指定したルール・セットが存在しない場合は、エラーが戻されます。 ルール・セットを作成し、そのルール・セットにルールを追加するには、
取得プロセスのネガティブ・ルール・セットが存在するときに 関連項目: 取得プロセスによって取得可能な変更の詳細は、『Oracle Streams概要および管理』を参照してください。 |
|
|
データベースの有効なSCNのうち、取得プロセスによる変更の取得の開始時に使用するSCN(開始時SCN)。 現行のソース・データベースのSCNよりも小さい値を指定する場合は、
無効なSCNが指定された場合はエラーが戻されます。 |
|
|
ソース・データベースのグローバル名。 ソース・データベースは、取得対象の変更が発生したデータベースです。 ドメイン名を指定しない場合は、自動的にドメイン名がデータベース名に追加されます。 たとえば、ドメイン名が このパラメータに |
|
|
|
|
|
REDOログ内の最小(最初の)SCN値を指定します。取得プロセスでは、このSCN値から変更の取得を開始できます。 このパラメータに ソース・データベースで |
|
|
デフォルト値である
ローカル取得プロセス用のこのパラメータに対して 関連項目: REDOログ・ファイルを手動で追加する方法は、「使用上の注意」を参照してください。 |
|
|
取得プロセスに対するネガティブ・ルール・セットの名前。 ネガティブ・ルール・セットには、変更の破棄を取得プロセスに指示するためのルールが含まれています。 取得プロセスに対してネガティブ・ルール・セットを使用する場合は、既存のルール・セットを
取得プロセスのポジティブ・ルール・セットが存在するときに 指定したルール・セットが存在しない場合は、エラーが戻されます。 ルール・セットを作成し、そのルール・セットにルールを追加するには、 1つの取得プロセスに対してポジティブ・ルール・セットとネガティブ・ルール・セットの両方を指定した場合は、常にネガティブ・ルール・セットが最初に評価されます。 |
|
|
ユーザーを指定します。このユーザーのセキュリティ・ドメイン内で、取得プロセスは、取得プロセスのルール・セットを満足する変更を取得し、取得プロセス・ルールに対して構成されているカスタム・ルールベースの変換を実行します。 取得ユーザーを設定できるのは、 注意: 指定したユーザーが |
|
|
取得プロセスで自動的にパージが行われるまでチェックポイントが保存される日数。チェックポイントを自動的にパージしない場合は、 日数を指定すると、チェックポイントが取得されてから指定した日数後に、取得プロセスによってチェックポイントがパージされます。 小数値を使用して時間単位で指定することもできます。 たとえば、6時間は、 チェックポイントがパージされると、そのチェックポイントに対応するアーカイブREDOログ・ファイルのLogMinerデータ・ディクショナリ情報もパージされ、取得プロセスの 関連項目: チェックポイントの保存期間の詳細は、『Oracle Streams概要および管理』を参照してください。 |
使用上の注意
このプロシージャを実行するユーザーには、DBAロールを付与する必要があります。
capture_userパラメータでは、取得プロセスのルール・セットを満たす変更を取得するユーザーを指定します。 このユーザーには、変更を取得するためのいくつかの権限が必要です。 このプロシージャを実行すると、取得プロセスで使用されるキューに対するエンキュー権限が取得ユーザーに付与され、その取得ユーザーがキューの保護キュー・ユーザーとして構成されます。
なお、取得ユーザーには次の権限が必要です。
取得プロセスで使用されるルール・セットのEXECUTE権限
ルール・セットで使用されるすべてのルールベース変換ファンクションのEXECUTE権限
取得プロセスによって実行されるルールベース変換の内部で呼び出されるすべてのパッケージ(オラクル社が提供するパッケージを含む)のEXECUTE権限
これらの権限は、取得ユーザーに直接付与する必要があります。 ロールを通して付与することはできません。
|
注意:
|
logfile_assignmentパラメータにexplicitを指定した場合は、次のSQL文を使用して、ダウンストリーム・データベースに手動でREDOログ・ファイルを追加します。
ALTER DATABASE REGISTER LOGICAL LOGFILE file_name FOR capture_process;
ここで、file_nameは追加するREDOログ・ファイルの名前であり、capture_processはダウンストリーム・データベースでREDOログ・ファイルを使用する取得プロセスの名前です。 capture_processには、logminer_session_nameと同じ名前を必ず指定してください。 REDOログ・ファイルは、ダウンストリーム・データベースが実行されるサイトに存在する必要があります。 ダウンストリーム・データベースが実行されるサイトに手動でREDOログ・ファイルを転送する場合は、DBMS_FILE_TRANSFERパッケージ、FTPまたはその他の転送手法を使用する必要があります。
|
関連項目: ALTER DATABASE文の詳細は、『Oracle Database SQLリファレンス』を、REDOログ・ファイルの登録方法の詳細は、『Oracle Data Guard概要および管理』を参照してください。 |
このプロシージャは、取得プロセスを削除します。
|
注意: 取得プロセスを削除するには、その取得プロセスを事前に停止する必要があります。 |
構文
DBMS_CAPTURE_ADM.DROP_CAPTURE( capture_name IN VARCHAR2, drop_unused_rule_sets IN BOOLEAN DEFAULT FALSE);
パラメータ
表20-7 DROP_CAPTUREプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
削除する取得プロセスの名前。 既存の取得プロセス名を指定します。 所有者を指定しないでください。 |
|
|
|
使用上の注意
このプロシージャを使用して取得プロセスを削除すると、その取得プロセスに対してDBMS_STREAMS_ADMで作成したルールに関する情報は、Streamsルールのデータ・ディクショナリ・ビューから削除されます。 そのようなルールが取得プロセスのどのルール・セットに含まれているかに関係なく、ルールに関する情報は削除されます。
Streamsルールのデータ・ディクショナリ・ビューは次のとおりです。
ALL_STREAMS_GLOBAL_RULES
DBA_STREAMS_GLOBAL_RULES
ALL_STREAMS_MESSAGE_RULES
DBA_STREAMS_MESSAGE_RULES
ALL_STREAMS_SCHEMA_RULES
DBA_STREAMS_SCHEMA_RULES
ALL_STREAMS_TABLE_RULES
DBA_STREAMS_TABLE_RULES
ALL_STREAMS_RULES
DBA_STREAMS_RULES
|
関連項目: Streamsデータ・ディクショナリ・ビューの詳細は、『Oracle Streams概要および管理』を参照してください。 |
このプロシージャは、指定した取得プロセスによって取得される論理変更レコード(LCR)に追加属性を記録するかどうかを指示します。
構文
DBMS_CAPTURE_ADM.INCLUDE_EXTRA_ATTRIBUTE( capture_name IN VARCHAR2, attribute_name IN VARCHAR2, include IN BOOLEAN DEFAULT TRUE);
パラメータ
表20-8 INCLUDE_EXTRA_ATTRIBUTEプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
取得プロセスの名前。 既存の取得プロセス名を指定します。 所有者を指定しないでください。 |
|
|
取得プロセスによって取得される論理変更レコード(LCR)に記録する属性名、またはLCRから除外する属性名を指定します。 指定できる属性名は次のとおりです。
|
|
|
|
使用上の注意
REDOログにはデータベースに対する個々の変更に関しての情報が記録されますが、この中には、このプロシージャを使用して取得プロセスに指示しないと取得プロセスによって取得されない情報もあります。 このプロシージャを使用すると、取得プロセスが取得するREDOログ内の追加情報を指定できます。 取得プロセスによって取得された情報から特定の追加属性を除外する場合は、目的の属性を指定し、includeパラメータをFALSEに設定します。
このプロシージャは、別のデータベースで、データベース内のすべての表をインスタンス化するために必要な同期化を行い、表内のキー列またはすべての列でサプリメンタル・ロギングを有効にできます。
このプロシージャは、インスタンス化のためにデータベース内の各オブジェクトの最小SCNを記録します。 オブジェクトに対する最小SCNの次のSCNをオブジェクトのインスタンス化に使用できます。 このプロシージャを実行すると、データベース内のすべての現行オブジェクトと将来のオブジェクトのインスタンス化が準備されます。
|
関連項目: インスタンス化およびサプリメンタル・ロギングの詳細は、『Oracle Streamsレプリケーション管理者ガイド』を参照してください。 |
構文
DBMS_CAPTURE_ADM.PREPARE_GLOBAL_INSTANTIATION supplemental_logging IN VARCHAR2 DEFAULT 'keys');
パラメータ
表20-9 PREPARE_GLOBAL_INSTANTIATIONプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
|
使用上の注意
このプロシージャは、ソース・データベースで実行します。
データベースに対するすべての変更を取得プロセスによって取得する場合は、取得プロセスを構成した後、このプロシージャを使用してデータベース内の表をインスタンス化する準備を行ってください。
このプロシージャは、別のデータベースで、スキーマ内のすべての表をインスタンス化するために必要な同期化を行い、表内のキー列またはすべての列でサプリメンタル・ロギングを有効にできます。
このプロシージャは、インスタンス化のためにスキーマ内の各オブジェクトの最小SCNを記録します。 オブジェクトに対する最小SCNの次のSCNをオブジェクトのインスタンス化に使用できます。 このプロシージャを実行すると、スキーマ内のすべての現行オブジェクトと将来のオブジェクトのインスタンス化が準備されます。
|
関連項目: インスタンス化およびサプリメンタル・ロギングの詳細は、『Oracle Streamsレプリケーション管理者ガイド』を参照してください。 |
構文
DBMS_CAPTURE_ADM.PREPARE_SCHEMA_INSTANTIATION( schema_name IN VARCHAR2, supplemental_logging IN VARCHAR2 DEFAULT 'keys');
パラメータ
表20-10 PREPARE_SCHEMA_INSTANTIATIONプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
スキーマの名前。 たとえば、 |
|
|
|
使用上の注意
このプロシージャは、ソース・データベースで実行します。 スキーマに対するすべての変更を取得プロセスによって取得する場合は、取得プロセスを構成した後、このプロシージャを使用してスキーマ内の表をインスタンス化する準備を行ってください。
このプロシージャは、別のデータベースで、表をインスタンス化するために必要な同期化を行い、表内のキー列またはすべての列でサプリメンタル・ロギングを有効にできます。
このプロシージャは、インスタンス化のために表の最小SCNを記録します。 オブジェクトに対する最小SCNの次のSCNをオブジェクトのインスタンス化に使用できます。
|
関連項目: インスタンス化およびサプリメンタル・ロギングの詳細は、『Oracle Streamsレプリケーション管理者ガイド』を参照してください。 |
構文
DBMS_CAPTURE_ADM.PREPARE_TABLE_INSTANTIATION( table_name IN VARCHAR2, supplemental_logging IN VARCHAR2 DEFAULT 'keys');
パラメータ
表20-11 PREPARE_TABLE_INSTANTIATIONプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
表の名前。 |
|
|
|
使用上の注意
このプロシージャは、ソース・データベースで実行します。 表に対するすべての変更を取得プロセスによって取得する場合は、取得プロセスを構成した後、このプロシージャを使用して表をインスタンス化する準備を行ってください。
このプロシージャは、取得プロセス・パラメータを指定した値に設定します。
構文
DBMS_CAPTURE_ADM.SET_PARAMETER( capture_name IN VARCHAR2, parameter IN VARCHAR2, value IN VARCHAR2);
パラメータ
表20-12 SET_PARAMETERプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
取得プロセスの名前。 所有者を指定しないでください。 |
|
|
設定するパラメータの名前。 これらのパラメータのリストについては、「取得プロセスのパラメータ」を参照してください。 |
|
|
パラメータに設定する値。 |
使用上の注意
パラメータ値を変更したとき、パラメータの新しい値が有効になるまでに時間がかかる場合があります。
取得プロセスのパラメータ
次の表に、取得プロセスのパラメータを示します。
表20-13 取得プロセスのパラメータ
| パラメータ名 | 設定可能な値 | デフォルト | 説明 |
|---|---|---|---|
|
|
|
|
|
|
|
|
このパラメータは、ローカル取得プロセスでは無視されます。 |
|
|
有効なSCN値または |
|
取得プロセスは、指定された値以上のSCNを持つ変更レコードの取得前に無効化されます。
|
|
|
正の整数または |
|
取得プロセスは、指定した数のメッセージを取得した後停止します。
|
|
|
正の整数 |
|
REDOログを同時に調査できるパラレル実行サーバーの数。
注意: このパラメータの値を変更すると、取得プロセスは自動的に停止し、再開します。 |
|
|
|
|
同じ取得プロセスの別のインスタンス化が終了するのを待機する最大秒数。 同じ取得プロセスの別のインスタンス化がこの時間内に終了しない場合、取得プロセスは開始しません。 このパラメータが有用になるのは、取得プロセスを手動で起動する場合に限られます。
|
|
|
正の整数または |
|
取得プロセスは、開始してから指定秒数が経過した後、可能なかぎり早く停止します。
|
|
|
|
|
Oracleサポート・サービスから指示がないかぎり、このパラメータは設定しないでください。 |
|
|
|
|
メッセージには、取得プロセスの停止理由が示されます。 |
|
注意:
|
このプロシージャは、取得プロセスを開始します。取得プロセスは、REDOログを調査し、取り出したREDO情報を関連キューにエンキューします。
開始ステータスは永続的に記録されます。 したがって、ステータスがENABLEDの場合、取得プロセスはデータベース・インスタンスの起動時に開始されます。
取得プロセスはバックグラウンドのOracleプロセスであり、接頭辞cが付加されます。
DBMS_AQADM.START_QUEUEおよびDBMS_AQADM.STOP_QUEUEのエンキューとデキューの状態は、取得プロセスの開始ステータスには影響を与えません。
構文
DBMS_CAPTURE_ADM.START_CAPTURE( capture_name IN VARCHAR2);
パラメータ
表20-14 START_CAPTUREプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
取得プロセスの名前。 所有者を指定しないでください。 取得プロセスは、LogMinerを使用してREDO情報内の変更を取得します。 |
使用上の注意
取得プロセスのステータスは永続的に記録されます。 したがって、ステータスがENABLEDの場合、取得プロセスはデータベース・インスタンスの起動時に開始されます。 取得プロセス(cnnn)はOracleバックグラウンド・プロセスです。
このプロシージャは、取得プロセスを停止してREDOログの調査を中断します。
停止ステータスは永続的に記録されます。 したがって、ステータスがDISABLEDの場合、取得プロセスはデータベース・インスタンスの起動時に開始されません。
DBMS_AQADM.START_QUEUEおよびDBMS_AQADM.STOP_QUEUEのエンキューとデキューの状態は、取得プロセスの停止ステータスには影響を与えません。
構文
DBMS_CAPTURE_ADM.STOP_CAPTURE( capture_name IN VARCHAR2, force IN BOOLEAN DEFAULT FALSE);
パラメータ
表20-15 STOP_CAPTUREプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
取得プロセスの名前。 |
|
|
このパラメータは、将来使用するために予約されています。 現在、有効な |
使用上の注意
取得プロセスのステータスは永続的に記録されます。 したがって、ステータスがDISABLEDまたはABORTEDの場合、取得プロセスはデータベース・インスタンスの起動時に開始されません。 取得プロセス(cnnn)はOracleバックグラウンド・プロセスです。