天天看點

GoldenGate配置(三)之DDL複制配置DDL複制配置

GoldenGate配置(三)之DDL複制配置

【說明】 此篇續接上一篇:“GoldenGate配置(二)之雙向複制配置”點選打開連結

環境:

Item Source System Target System
Platform

Red Hat Enterprise

Linux Server release 5.4

Red Hat Enterprise

Linux Server release 5.4

Hostname gc1 gc2
Database Oracle 10.2.0.1 Oracle 11.2.0.1
Character Set ZHS16GBK ZHS16GBK
ORACLE_SID PROD EMREP
Listener Name/Port LISTENER/1521 LISTENER/1521
Goldengate User ogg ogg

DDL複制配置

gc1:執行腳本(注意:要到/u01/app/ogg目錄下執行,否則會被hang住,oracle的bug)

SQL>@marker_setup.sql;  --到/u01/app/ogg目錄後登陸sqlplus執行

Marker setup script

You will be prompted for the name of a schema forthe GoldenGate database objects.

NOTE: The schema must be created prior to runningthis script.

NOTE: Stop all DDL replication before startingthis installation.

Enter GoldenGate schema name:ogg

Marker setup table script complete, runningverification script...

Please enter the name of a schema for theGoldenGate database objects:

Setting schema name to OGG

MARKER TABLE

-------------------------------

OK

MARKER SEQUENCE

-------------------------------

OK

Script complete.

SQL> alter system set recyclebin=off scope=spfile;    --關閉資源回收筒

SQL> startup force;                                 --重新開機庫

SQL> @ddl_setup

GoldenGateDDL Replication setup script

Verifyingthat current user has privileges to install DDL Replication...

You willbe prompted for the name of a schema for the GoldenGate database objects.

NOTE:The schema must be created prior to running this script.

NOTE: OnOracle 10g and up, system recycle bin must be disabled.

NOTE:Stop all DDL replication before starting this installation.

EnterGoldenGate schema name:ogg

You willbe prompted for the mode of installation.

Toinstall or reinstall DDL replication, enter INITIALSETUP

Toupgrade DDL replication, enter NORMAL

Entermode of installation:INITIALSETUP

Working,please wait ...

Spoolingto file ddl_setup_spool.txt

UsingOGG as a GoldenGate schema name, INITIALSETUP as a mode of installation.

Working,please wait ...

RECYCLEBINmust be empty.

Thisinstallation will purge RECYCLEBIN for all users.

To proceed,enter yes. To stop installation, enter no.

Enteryes or no:yes

SQL>@role_setup

GGS Role setup script

This script will drop and recreate the roleGGS_GGSUSER_ROLE

To use a different role name, quit this scriptand then edit the params.sql script to change the gg_role parameter to thepreferred name. (Do not run the script.)

You will be prompted for the name of a schema forthe GoldenGate database objects.

NOTE: The schema must be created prior to runningthis script.

NOTE: Stop all DDL replication before startingthis installation.

Enter GoldenGate schema name:ogg

Wrote file role_setup_set.txt

PL/SQL procedure successfully completed.

Role setup script complete

Grant this role to each user assigned to theExtract, GGSCI, and Manager processes, by using the following SQL command:

GRANT GGS_GGSUSER_ROLE TO <loggedUser>

where <loggedUser> is the user assigned tothe GoldenGate processes.

SQL> grant GGS_GGSUSER_ROLE to ogg;

SQL> @ddl_enable

Trigger altered.

gc2:執行腳本(同gc1上操作)

SQL>alter system set recyclebin=off scope=spfile;    --關閉資源回收筒

SQL>startup force;                                        --重新開機庫

SQL>@marker_setup

SQL>@ddl_setup

SQL>@role_setup

SQL>grant GGS_GGSUSER_ROLE to ogg;

SQL>@ddl_enable

gc1:配置Extract程序

GGSCI(gc1) 3> STOP EORA_1

Sending STOP request to MANAGER ...

Request Processed.

GGSCI(gc1) 4> EDIT PARAMS EORA_1 

添加紅字部分:

-- Change Capture parameter file to capture

-- TCUSTMER and TCUSTORD changes

EXTRACT EORA_1

SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)

USERID ogg, PASSWORD Welcome1

EXTTRAIL ./dirdat/aa

DDL INCLUDE OBJNAME "scott.*"

TABLE scott.TCUSTMER;

TABLE scott.TCUSTORD;

GGSCI(gc1) 5> START EORA_1

Sending START request to MANAGER ...

EXTRACT EINI_1 starting

gc2:配置extract

GGSCI(gc2) 3> stop EORA_1          --關閉EORA_1程序

Sending STOP request to MANAGER ...

Request Processed.

GGSCI(gc2) 4> EDIT PARAMS EORA_1   --添加紅字部分

-- Change Capture parameter file to capture

-- TCUSTMER and TCUSTORD changes

EXTRACT EORA_1

SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)

USERID ogg, PASSWORD Welcome1

EXTTRAIL ./dirdat/aa

DDL INCLUDE OBJNAME "scott.*"

TABLE scott.TCUSTMER;

TABLE scott.TCUSTORD;

GGSCI(gc2) 5> START EORA_1

Sending START request to MANAGER ...

EXTRACT EINI_1 starting

gc1:配置Replicat程序

GGSCI(gc1) 9> stop RORA_1

Sending STOP request to REPLICAT RORA_1 ...

Request processed.

GGSCI(gc1) 10> info all

Program    Status      Group       Lag          Time Since Chkpt

MANAGER    RUNNING                                          

EXTRACT    RUNNING     EORA_1      00:00:00      00:00:07   

EXTRACT    RUNNING     PORA_1      00:00:00      00:00:02   

REPLICAT    STOPPED     RORA_1     00:00:00      00:00:31    

GGSCI(gc1) 11> EDIT PARAMS RORA_1   --添加紅色部分

DDLERROR DEFAULT IGNORE RETRYOP

--

-- Change Delivery parameter file to apply

-- TCUSTMER and TCUSTORD Changes

--

REPLICAT RORA_1

SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

USERID ogg, PASSWORD Ogg

HANDLECOLLISIONS

ASSUMETARGETDEFS

DISCARDFILE ./dirrpt/RORA_aa.DSC, PURGE

DDL INCLUDE ALL

DDLERROR DEFAULT IGNORE RETRYOP MAXRETRIES 3 RETRYDELAY 5

DDLERROR DEFAULT DISCARD

DDLERROR DEFAULT IGNORE RETRYOP

MAP scott.tcustmer, TARGET scott.tcustmer;

MAP scott.tcustord, TARGET scott.tcustord;

~

"dirprm/rora_1.prm" 16L, 458C written

GGSCI(gc1) 12> start RORA_1

Sending START request to MANAGER ...

REPLICAT RORA_1 starting

GGSCI(gc1) 13> info all

Program    Status      Group       Lag          Time Since Chkpt

MANAGER    RUNNING                                           

EXTRACT    RUNNING     EORA_1      00:00:00      00:00:06   

EXTRACT    RUNNING     PORA_1      00:00:00      00:00:02   

REPLICAT    RUNNING     RORA_1     00:00:00      00:00:02    

gc2:配置Replicate程序

配置過程,同gc1

驗證ddl:create操作

gc1:

SQL>create table test1 as select * from emp;

Table created.

gc2:

SQL>select * from test1;

     EMPNOENAME      JOB              MGR HIREDATE            SAL       COMM    DEPTNO

---------- ---------- --------- ---------------------- ---------- ---------- ----------

      7369SMITH      CLERK           7902 17-DEC-80           800                    20

      7499ALLEN      SALESMAN        7698 20-FEB-81          1600        300         30

      ......

      7902FORD       ANALYST         7566 03-DEC-81          3000                    20

      7934MILLER     CLERK           7782 23-JAN-82          1300                    10

14 rows selected.

gc2:

SQL>create table test2 as select * from emp;

Table created.

gc1:

SQL>select * from test2;

     EMPNOENAME      JOB              MGR HIREDATE            SAL       COMM    DEPTNO

---------- ---------- --------- ---------------------- ---------- ---------- ----------

      7369SMITH      CLERK           7902 17-DEC-80           800                    20

      7499 ALLEN      SALESMAN        7698 20-FEB-81          1600        300         30

      ......

      7902FORD       ANALYST         7566 03-DEC-81          3000                    20

      7934MILLER     CLERK           7782 23-JAN-82          1300                    10

14 rows selected.

驗證ddl:alter操作

gc1:

SQL>alter table test1 rename column mgr to manager;

Table altered.

gc2:

SQL>select * from test1;

     EMPNOENAME      JOB          MANAGER HIREDATE            SAL       COMM    DEPTNO

---------- ---------- --------- ---------------------- ---------- ---------- ----------

      7369SMITH      CLERK           7902 17-DEC-80           800                    20

      7499ALLEN      SALESMAN        7698 20-FEB-81          1600        300         30

      7521WARD       SALESMAN        7698 22-FEB-81          1250        500         30

      ......

gc2:

SQL>alter table test1 rename column manager to mgr;

Table altered.

gc1:

SQL>select * from test1;

     EMPNOENAME      JOB              MGR HIREDATE            SAL       COMM    DEPTNO

---------- ---------- --------- ---------------------- ---------- ---------- ----------

      7369SMITH      CLERK           7902 17-DEC-80           800                    20

      7499ALLEN      SALESMAN        7698 20-FEB-81          1600        300         30

      7521WARD       SALESMAN        7698 22-FEB-81          1250        500         30

      7566JONES      MANAGER         7839 02-APR-81          2975                    20

      ......

驗證ddl:drop操作

gc2:

SQL>select * from tab;

TNAME                          TABTYPE  CLUSTERID

------------------------------ ------- ----------

BONUS                          TABLE

DEPT                           TABLE

EMP                            TABLE

SALGRADE                       TABLE

TCUSTMER                       TABLE

TCUSTORD                       TABLE

TEST1                         TABLE

TEST2                          TABLE

8 rows selected.

gc1:

SQL> drop table test1;

Table dropped.

gc2:

SQL>select * from tab;

TNAME                          TABTYPE  CLUSTERID

------------------------------ ------- ----------

BONUS                          TABLE

DEPT                           TABLE

EMP                            TABLE

SALGRADE                       TABLE

TCUSTMER                       TABLE

TCUSTORD                       TABLE

TEST2                          TABLE

7 rows selected.

gc1:

SQL>select * from tab;

TNAME                          TABTYPE  CLUSTERID

------------------------------ ------- ----------

DEPT                           TABLE

EMP                            TABLE

BONUS                          TABLE

SALGRADE                       TABLE

TCUSTMER                       TABLE

TCUSTORD                       TABLE

TEST2                          TABLE

7 rows selected.

gc2:

SQL>drop table test2;

Table dropped.

SQL>select * from tab;

TNAME                          TABTYPE  CLUSTERID

------------------------------ ------- ----------

DEPT                           TABLE

EMP                            TABLE

BONUS                          TABLE

SALGRADE                       TABLE

TCUSTMER                       TABLE

TCUSTORD                       TABLE

6 rows selected.

聲明:

         原創作品,出自 “深藍的blog” 部落格,允許轉載,轉載時請務必注明出處(http://blog.csdn.net/huangyanlong)。

         關于涉及版權事宜,作者有權追究法律責任。