単方向トポロジでのビジネス・レポートで使用される共通のファイルおよびスクリプト

単方向レプリケーションでのExtractパラメータ・ファイル

OBEYスクリプトで管理クライアント・コマンドを使用する場合、ビジネス・レポート・ユースケースを構成するには、次のExtractパラメータ・ファイルを使用します。パラメータ・ファイルを編集またはetc/conf/ogg/にコピーする必要があるため、これは必須です。
このパラメータ・ファイルで使用されるExtract名はEXTNです:
EXTRACT extn
USERIDALIAS ggnorth
EXTTRAIL north/ea

DDL INCLUDE MAPPED
DDLOPTIONS REPORT

REPORTCOUNT EVERY 10 MINUTES, RATE
WARNLONGTRANS 15MINUTES, CHECKINTERVAL 5MINUTES

TABLE hr.*;

単方向レプリケーションでのReplicatパラメータ・ファイル

OBEYスクリプトで管理クライアント・コマンドを使用する場合、ビジネス・レポート・ユースケースを構成するには、次のReplicatパラメータ・ファイルを使用します。パラメータ・ファイルを編集または/etc/conf/ogg/にコピーする必要があるため、これは必須です。
このパラメータ・ファイルで使用されるReplicat名はREPNです:
REPLICAT repn
USERIDALIAS ggsouth DOMAIN OracleGoldenGate

DDLOPTIONS REPORT
DDLERROR DEFAULT, DISCARD

REPORTCOUNT EVERY 10 MINUTES, RATE

REPERROR (DEFAULT, DISCARD)
MAP hr.*, TARGET hr.*;

ソースDML操作

#!/usr/bin/bash

sqlplus -s ggadmin/ggadmin@dbnorth << EOF
set lines 100
col firstname     format a30
col last_name     format a30
col employee_id   format 9999
col salary        format 999999.99
col department_id format 999

select employee_id, first_name, last_name, salary, department_id
  from hr.employees 
  where department_id = 60;

PROMPT Run DML operations on source table HR.EMPLOYEES

begin
  for i in 1..10 loop
    update hr.employees set salary = 0.95 * salary where department_id = 60;
    dbms_lock.sleep(1);
    commit;
  end loop;
end;
/

select employee_id, first_name, last_name, salary, department_id
  from hr.employees
  where department_id = 60;

EOF
exit

ソースPDBおよびターゲットPDBのSELECT文の例

#!/usr/bin/bash

sqlplus -s  /nolog  << EOF

set lines 100
col firstname     format a30
col last_name     format a30
col employee_id   format 9999
col salary        format 999999.99
col department_id format 999

-- Connect to DBNorth
connect  ggadmin/ggadmin@dbnorth

PROMPT
PROMPT Source Database:

select employee_id, first_name, last_name, salary, department_id
  from hr.employees 
  where department_id = 60;

-- Connect to DBSouthh
connect  ggadmin/ggadmin@dbsouth

PROMPT Target Database:

select employee_id, first_name, last_name, salary, department_id
  from hr.employees
  where department_id = 60;

EOF
exit