OGG同步序列配置

让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

至此,序列同步完成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值