ITPub博客

首页 > 数据库 > Oracle > Goldengate 双向复制配置

Goldengate 双向复制配置

原创 Oracle 作者:MOMO鱼 时间:2014-08-26 08:27:31 0 删除 编辑

1、在源数据库gc2(原来的目标数据库)端添加辅助的redolog配置并强记日志

SQL> alter database add supplemental log data;

Database altered.

SQL> alter system switch logfile;

System altered.

SQL> alter database force logging;

Database altered.

2、在ogg环境下,添加日志跟踪

[oracle@gc2 ogg]$./ggsci

Oracle GoldenGate Command Interpreter for Oracle

Version 10.4.0.19 Build 002

Linux, x86, 32bit (optimized), Oracle 10 on Sep 17 2009 23:49:42

Copyright (C) 1995, 2009, Oracle and/or its affiliates.  All rights reserved.

GGSCI (gc2) 1>DBLOGIN USERID ogg, PASSWORD Ogg

Successfully logged into database.

GGSCI (gc2) 2>ADD TRANDATA scott.EMP_OGG

Logging of supplemental redo data enabled for table SCOTT.EMP_OGG.

GGSCI (gc2) 3>ADD TRANDATA scott.DEPT_OGG

Logging of supplemental redo data enabled for table SCOTT.DEPT_OGG.

3、原库gc2配置extract

GGSCI (gc2) 1>EDIT PARAMS EORA_1

EXTRACT EORA_1

SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

USERID ogg, PASSWORD ogg

TRANLOGOPTIONS EXCLUDEUSER ogg

EXTTRAIL ./dirdat/aa

TABLE scott. EMP_OGG

TABLE scott. DEPT_OGG;

GGSCI (gc2) 2>ADD EXTRACT EORA_1, TRANLOG, BEGIN NOW

EXTRACT added.

GGSCI (gc2) 3>ADD EXTTRAIL ./dirdat/aa, EXTRACT EORA_1, MEGABYTES 5

EXTTRAIL added.

GGSCI (gc2) 4>START EXTRACT EORA_1

Sending START request to MANAGER ...

EXTRACT EORA_1 starting

GGSCI (gc2) 5>INFO EXTRACT EORA_1

EXTRACT    EORA_1    Last Started 2014-08-12 14:13   Status RUNNING

Checkpoint Lag       00:00:00 (updated 00:00:03 ago)

Log Read Checkpoint  Oracle Redo Logs

                     2014-08-12 14:13:08  Seqno 8, RBA 184832

4、原库gc2配置pump进程

GGSCI (gc2) 6>EDIT PARAMS PORA_1

EXTRACT PORA_1

SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

PASSTHRU

RMTHOST gc1, MGRPORT 7809

RMTTRAIL ./dirdat/pa

TABLE scott. EMP_OGG

TABLE scott. DEPT_OGG;

GGSCI (gc2) 7>ADD EXTRACT PORA_1, EXTTRAILSOURCE ./dirdat/aa

EXTRACT added.

GGSCI (gc2) 8>ADD RMTTRAIL ./dirdat/pa, EXTRACT PORA_1, MEGABYTES 5

RMTTRAIL added.

GGSCI (gc2) 9>START EXTRACT PORA_1

Sending START request to MANAGER ...

EXTRACT PORA_1 starting

GGSCI (gc2) 10> INFO EXTRACT PORA_1

EXTRACT    PORA_1    Last Started 2014-08-12 14:15   Status RUNNING

Checkpoint Lag       00:00:00 (updated 00:00:01 ago)

Log Read Checkpoint  File ./dirdat/aa000000

                     First Record  RBA 895

5、目标数据库(原来的原数据库gc1)配置checkpoint

GGSCI (gc1) 1>EDIT PARAMS ./GLOBALS

CHECKPOINTTABLE ogg.ggschkpt

GGSCI (gc1) 2>exit

GGSCI (gc1) 1>DBLOGIN USERID ogg, PASSWORD ogg

Successfully logged into database.

GGSCI (gc1) 2> ADD CHECKPOINTTABLE

No checkpoint table specified, using GLOBALS specification (ogg.ggschkpt)...

Successfully created checkpoint table OGG.GGSCHKPT.

6、目标数据库gc1配置replicate

GGSCI (gc1) 3>EDIT PARAM RORA_1

GGSCI (gc1) 4>ADD REPLICAT RORA_1, EXTTRAIL ./dirdat/pa

GGSCI (gc1) 5>START REPLICAT RORA_1

Sending START request to MANAGER ...

REPLICAT RORA_1 starting

GGSCI (gc1) 6>info REPLICAT RORA_1

REPLICAT   RORA_1    Last Started 2014-08-12 14:19   Status RUNNING

Checkpoint Lag       00:00:00 (updated 00:00:02 ago)

Log Read Checkpoint  File ./dirdat/pa000000

                     First Record  RBA 0

二、支持DDL复制配置

1、在两个节点执行执行DDL同步脚本命令:

先进入goldengate软件安装目录,以SYSDBA身份登录oracle执行以下脚本,执行脚本过程中,需要输入的用户全部是ogg,安装模式为INITIALSETUP,如果数据字典或者某些内部的包有错误,则需要运行catalog.sql和catproc.sql脚本。

SQL> alter system set recyclebin=off scope=both;

SQL> shutdown immediate;

SQL> startup;

SQL> show parameter recyclebin;

 

NAME                                 TYPE        VALUE

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

recyclebin                           string      OFF

SQL>@marker_setup

SQL>@ddl_setup

SQL>@role_setup

SQL>grant GGS_GGSUSER_ROLE to ogg;

SQL>@ddl_enable

 

      如果某项脚本执行错误,需要重新执行时,先要执行清除的脚本:ddl_remove.sql和marker_remove.sql

 

2、配置两个节点的extract

目标库:

GGSCI (gc1) 1>edit  PARAMS EORA_1

 

EXTRACT EORA_1

SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

USERID ogg, PASSWORD Ogg

EXTTRAIL ./dirdat/aa

DDL INCLUDE OBJNAME " scott.EMP_OGG , scott.DEPT_OGG "

TABLE scott.EMP_OGG;

TABLE scott.DEPT_OGG;

GGSCI (gc1) 2>stop EXTRACT EORA_1

EXTRACT EORA_1 is already stopped.

GGSCI (gc1) 3>start EXTRACT EORA_1

Sending START request to MANAGER ...

EXTRACT EORA_1 starting

GGSCI (gc1) 4>info EXTRACT EORA_1

EXTRACT    EORA_1    Last Started 2014-08-12 14:41   Status RUNNING

Checkpoint Lag       00:15:00 (updated 00:00:08 ago)

Log Read Checkpoint  Oracle Redo Logs

                     2014-08-12 14:26:22  Seqno 423, RBA 25022976

源库:

GGSCI (gc2) 1>edit  PARAMS EORA_1

EXTRACT EORA_1

SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

USERID ogg, PASSWORD ogg

TRANLOGOPTIONS EXCLUDEUSER ogg

DDL INCLUDE OBJNAME " scott.EMP_OGG , scott.DEPT_OGG "

EXTTRAIL ./dirdat/aa

TABLE scott.EMP_OGG;

TABLE scott.DEPT_OGG;

GGSCI (gc2) 2>stop EXTRACT EORA_1

EXTRACT EORA_1 is already stopped.

GGSCI (gc2) 3>start EXTRACT EORA_1

Sending START request to MANAGER ...

EXTRACT EORA_1 starting

GGSCI (gc2) 4>info EXTRACT EORA_1

EXTRACT    EORA_1    Last Started 2014-08-12 14:42   Status RUNNING

Checkpoint Lag       00:09:44 (updated 00:00:08 ago)

Log Read Checkpoint  Oracle Redo Logs

                     2014-08-12 14:32:17  Seqno 8, RBA 407040

 

3、配置两个节点的replicat

GGSCI (gc2) 1>DBLOGIN USERID ogg, PASSWORD Ogg

Successfully logged into database.

GGSCI (gc2) 2> add checkpointtable ogg.checkpoint

Successfully created checkpoint table OGG.CHECKPOINT.

GGSCI (gc1) 1>DBLOGIN USERID ogg, PASSWORD Ogg

Successfully logged into database.

GGSCI (gc1) 2>add checkpointtable ogg.checkpoint

Successfully created checkpoint table OGG.CHECKPOINT.

4、配置REPLICAT进程参数文件

源库:

GGSCI (gc2) 1>stop REPLICAT RORA_1

REPLICAT RORA_1 is already stopped.

GGSCI (gc2) 2>EDIT PARAM RORA_1

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.emp_ogg, TARGET scott.emp_ogg;

MAP scott.dept_ogg, TARGET scott.dept_ogg;

GGSCI (gc2) 3>start REPLICAT RORA_1

Sending START request to MANAGER ...

REPLICAT RORA_1 starting

GGSCI (gc2) 4>info REPLICAT RORA_1

REPLICAT   RORA_1    Last Started 2014-08-12 15:04   Status RUNNING

Checkpoint Lag       00:00:00 (updated 00:00:06 ago)

Log Read Checkpoint  File ./dirdat/pa000001

                     2014-08-12 15:02:46.557139  RBA 2173

目标库:

GGSCI (gc1) 1>EDIT PARAM RORA_1

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.emp_ogg, TARGET scott.emp_ogg;

MAP scott.dept_ogg, TARGET scott.dept_ogg;

GGSCI (gc1) 2>stop REPLICAT RORA_1

REPLICAT RORA_1 is already stopped.

GGSCI (gc1) 3>start REPLICAT RORA_1

Sending START request to MANAGER ...

REPLICAT RORA_1 starting

GGSCI (gc1) 4>info REPLICAT RORA_1

REPLICAT   RORA_1    Last Started 2014-08-12 14:52   Status RUNNING

Checkpoint Lag       00:00:00 (updated 00:00:05 ago)

Log Read Checkpoint  File ./dirdat/pa000000

                     2014-08-12 14:42:02.470375  RBA 986

 

三、验证两节点双向的DML操作同步情况

源库为gc2,目标库为gc1:

1、插入操作:

源库gc2:

SQL> insert into emp_ogg values(222,'SMITH','CLERK',7902,'12-DEC-80',800,100,20);

1 row created.

SQL> commit;

Commit complete.

目标库gc1:

SQL> select * from emp_ogg;

 

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO

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

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

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

      7566 JONES      MANAGER         7839 02-APR-81       2975                    20

      7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30

      7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30

      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10

      7788 CUUG       ANALYST         7566 19-APR-87       3000                    20

      7839 KING       PRESIDENT            17-NOV-81       5000                    10

      7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30

      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20

      7900 JAMES      CLERK           7698 03-DEC-81        950                    30

 

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO

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

      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20

      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10

        11 SMITH      CLERK           7902 12-DEC-80        800        100         20

       222 SMITH      CLERK           7902 12-DEC-80        800        100         20

 

15 rows selected.

2、更新操作:

源库gc2:

SQL> update emp_ogg set ename='BBBBB' where empno=7788;

SQL> commit;

目标库gc1:

SQL> select * from emp_ogg;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO

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

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

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

      7566 JONES      MANAGER         7839 02-APR-81       2975                    20

      7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30

      7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30

      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10

      7788 BBBBB      ANALYST         7566 19-APR-87       3000                    20

      7839 KING       PRESIDENT            17-NOV-81       5000                    10

      7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30

      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20

      7900 JAMES      CLERK           7698 03-DEC-81        950                    30

 

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO

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

      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20

      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10

        11 SMITH      CLERK           7902 12-DEC-80        800        100         20

       222 SMITH      CLERK           7902 12-DEC-80        800        100         20

15 rows selected.

3、删除操作:

源库gc2:

SQL> delete from emp_ogg where empno=11;

SQL> commit;

目标库gc1:

SQL>  select * from emp_ogg;

 

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO

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

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

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

      7566 JONES      MANAGER         7839 02-APR-81       2975                    20

      7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30

      7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30

      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10

      7788 BBBBB      ANALYST         7566 19-APR-87       3000                    20

      7839 KING       PRESIDENT            17-NOV-81       5000                    10

      7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30

      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20

      7900 JAMES      CLERK           7698 03-DEC-81        950                    30

 

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO

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

      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20

      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10

       222 SMITH      CLERK           7902 12-DEC-80        800        100         20

 

14 rows selected.

源库为gc1,目标库为gc2:

1、delete操作

源库gc1:

SQL> delete from emp_ogg where empno=7900;

SQL> commit;

目标库gc2:

SQL> select * from emp_ogg;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO

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

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

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

      7566 JONES      MANAGER         7839 02-APR-81       2975                    20

      7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30

      7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30

      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10

      7788 BBBBB      ANALYST         7566 19-APR-87       3000                    20

      7839 KING       PRESIDENT            17-NOV-81       5000                    10

      7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30

      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20

      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20

 

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO

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

      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10

       222 SMITH      CLERK           7902 12-DEC-80        800        100         20

 

13 rows selected.

2、update操作

源库gc1:

SQL> update emp_ogg set ename='BBKKKKKK' where empno=7788;

SQL> commit;

目标库gc2:

SQL> select * from emp_ogg;

 

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO

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

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

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

      7566 JONES      MANAGER         7839 02-APR-81       2975                    20

      7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30

      7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30

      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10

      7788 BBKKKKKK   ANALYST         7566 19-APR-87       3000                    20

      7839 KING       PRESIDENT            17-NOV-81       5000                    10

      7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30

      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20

      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20

 

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO

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

      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10

       222 SMITH      CLERK           7902 12-DEC-80        800        100         20

 

13 rows selected.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29827680/viewspace-1257707/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-08-26

  • 博文量
    11
  • 访问量
    32014