最新のタイムスタンプの競合検出および解消の構成
DBMS_GOLDENGATE_ADM
パッケージのADD_AUTO_CDR
プロシージャを使用して、最新タイムスタンプの競合検出および解決を構成します。ADD_AUTO_CDR_COLUMN_GROUP
プロシージャでオプションの列グループを追加します。
Oracle Database 23ai以降では、ACDR
構成表を管理およびメンテナンスするための追加のメソッドが存在します。基礎となるAUTO-CDR
関連の列をUNUSED
列として保持したり、REMOVE_AUTO_CDR
プロシージャをコールした直後に削除することもできます。
ADD_AUTO_CDR
プロシージャを表に適用する場合、AUTO_CDR
が削除されると、その内部列はデフォルトで未使用とマークされます。REMOVE_AUTO_CDR
をコールした後、未使用列は後のステージで手動で削除したり、追加パラメータを使用してすぐに削除することもできます。詳細は、「表からの競合検出および解消の削除」を参照してください。
詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』のADD_AUTO_CDRプロシージャ
を参照してください
最新タイムスタンプの競合検出および解決では、行LCRのタイムスタンプ列が、対応する表の行のタイムスタンプと一致しない場合に、競合が検出されます。タイムスタンプがより遅い場合に行LCRが適用されます。その他の場合は行LCRが破棄され、表の行は変更されません。ADD_AUTO_CDR
プロシージャを実行すると、指定した表の各行に非表示のタイムスタンプ列が追加され、タイムスタンプの競合検出および解決が構成されます。ADD_AUTO_CDR_COLUMN_GROUP
プロシージャを使用して1つ以上の列グループを追加すると、列グループにタイムスタンプが追加され、列グループに対してタイムスタンプの競合検出および解決が構成されます。
DBMS_GOLDENGATE_ADM
パッケージのGRANT_ADMIN_PRIVILEGE
プロシージャを使用して、Oracle GoldenGate管理者を構成できます。
- Oracle GoldenGate管理者としてインバウンド・サーバー・データベースに接続します。
ADD_AUTO_CDR
プロシージャを実行して表を指定し、最新のタイムスタンプの競合検出および解決を構成します。ADD_AUTO_CDR_COLUMN_GROUP
プロシージャを実行して、表に1つ以上の列グループを指定します。- 表をレプリケートする各Oracle Databaseに対して前述のステップを繰り返します。
例9-22 表に対する最新タイムスタンプの競合検出および解決の構成
この例では、hr.employees
表に対して、最新タイムスタンプの競合検出および解決を構成します。
BEGIN
DBMS_GOLDENGATE_ADM.ADD_AUTO_CDR(
SCHEMA_NAME => 'HR',
TABLE_NAME => 'EMPLOYEES');
END;
/
例9-23 列グループの構成
この例では、HR.EMPLOYEES
表に対するタイムスタンプの競合解決のために、次の列グループを構成します。
-
JOB_IDENTIFIER_CG
列グループには、JOB_ID
、DEPARTMENT_ID
およびMANAGER_ID
列が含まれます。 -
COMPENSATION_CG
列グループには、SALARY
およびCOMMISSION_PCT
列が含まれます。
BEGIN
DBMS_GOLDENGATE_ADM.ADD_AUTO_CDR_COLUMN_GROUP(
SCHEMA_NAME => 'HR',
TABLE_NAME => 'EMPLOYEES',
COLUMN_LIST => 'JOB_ID, DEPARTMENT_ID, MANAGER_ID',
COLUMN_GROUP_NAME => 'JOB_IDENTIFIER_CG');
END;
/
BEGIN
DBMS_GOLDENGATE_ADM.ADD_AUTO_CDR_COLUMN_GROUP(
SCHEMA_NAME => 'HR',
TABLE_NAME => 'EMPLOYEES',
COLUMN_LIST => 'SALARY, COMMISSION_PCT',
COLUMN_GROUP_NAME => 'COMPENSATION_CG');
END;
/