您的位置:首页 > 其它

OGG同步序列配置

2013-03-01 19:14 120 查看
让GG支持序列同步的配置:

源端:

在设置支持DDL同步后,进入OGG目录,以SYS用户登录数据库:

sqlplus "/as sysdba"

执行 sequence脚本:

SQL>@sequence.sql

输入gg的DDL同步用户,即之前创建的ggt,完成后,授权:
GRANT EXECUTE on ggt.updateSequence TO ggt;

GRANT EXECUTE on ggt.updateSequence TO gg_test;

目标端:

sqlplus "/as sysdba"

执行 sequence脚本:

SQL>@sequence.sql

输入gg的DDL同步用户,即之前创建的ggt,完成后,授权:

GRANT EXECUTE on ggt.replicateSequence TO ggt;

GRANT EXECUTE on ggt.replicateSequence TO gg_test;

回到源端:

EDIT PARAMS ./GLOBALS

加入:

GGSCHEMA ggt --目标端最好也这样做,但官方没说

然后exit,再ggsci登录才生效 --这步不做该GLOBALS参数是不能生效!

设置抽取进程,传输进程和复制进程分别加入红色部分:

抽取进程:

extract e003

SETENV (ORACLE_HOME = "/opt/app/oracle/product/11.2.0/dbhome_1")

USERID ggt3, PASSWORD ggt3

exttrail /gglog/dirdat/e003/ex

tranlogoptions altarchivelogdest instance molarac1 +ORAFRA/MOLARAC/ARCHIVELOG,altarchivelogdest instance molarac2 +ORAFRA/MOLARAC/AR

CHIVELOG

TRANLOGOPTIONS ASMUSER sys@ASM, ASMPASSWORD 1qazWSX654

EOFDELAYCSECS 1

FLUSHCSECS 10

DDL INCLUDE ALL objname gg_test3.*

dynamicresolution

SEQUENCE gg_test3.seq3;

table gg_test3.*;

传输进程:

extract p003

rmthost 10.0.31.100, mgrport 7809

passthru

FLUSHCSECS 10

EOFDELAYCSECS 10

rmttrail /gglog/dirdat/r003/re

SEQUENCE gg_test3.seq3;

table gg_test3.*;

复制进程:

replicat r003

SETENV (ORACLE_HOME = "/opt/app/oracle/product/11.2.0.2/dbhome_1")

userid ggt3, password ggt3

handlecollisions

discardfile /gglog/dirrpt/rep003.dsc,append, megabytes 10

EOFDELAYCSECS 10

assumetargetdefs

dynamicresolution

DDL INCLUDE ALL objname gg_test3.*

map gg_test3.*, target gg_test3.*;

map gg_test3.seq3, target gg_test3.seq3;

注:红色部分是测试一个序列同步的设置,一般情况下可用通配符表示,例如:SEQUENCE gg_test3.*

源端创建序列:

create sequence seq3

minvalue 1

maxvalue 999999999999999999999999999

start with 1

increment by 1

nocache

order;

这里只能用nocache方式,如果用cache方式,两端的预分配会不一致,例如默认源端取号是1-20,目标端取号会是21-40,而order与noorder都可以同步,但为了避免rac冲突问题,推荐用order

然后进入GGSCI模式:

GGSCI (oracle03) 1> DBLOGIN userid ggt3,password ggt3

Successfully logged into database.

GGSCI (oracle03) 2> FLUSH SEQUENCE gg_test3.seq3

Successfully flushed 1 sequence(s) GG_TEST3.SEQ3

测试:

源端:

SQL> select seq3.nextval from dual;

NEXTVAL

----------

2

1 row selected.

SQL>

SQL> select seq3.nextval from dual;

NEXTVAL

----------

3

1 row selected.

SQL> select seq3.nextval from dual;

NEXTVAL

----------

4

1 row selected.

SQL> select seq3.nextval from dual;

NEXTVAL

----------

5

1 row selected.

目标端:

SQL> select seq3.nextval from dual;

NEXTVAL

----------

6

至此,序列同步完成!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: