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
至此,序列同步完成!
源端:
在设置支持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
至此,序列同步完成!
相关文章推荐
- OGG同步序列配置
- OGG "Loading data from file to Replicat"table静态数据同步配置过程
- 【OGG】RAC环境下配置OGG单向同步 (四)
- 【Oracle】Oracle到PostgreSQL的OGG同步配置
- OGG12实时同步oracle到mysql基础配置
- RAC环境下配置OGG同步
- OGG运维优化脚本(十七)-信息同步类--配置备份
- ogg单向DML同步配置
- RAC环境下配置OGG同步
- OGG "Loading data from file to Replicat"table数据的静态同步配置过程
- ogg单向同步配置
- OGG_GoldenGate数据库配置DDL同步(案例)
- 【OGG】RAC环境下配置OGG单向同步 (四)
- 两台ORACLE之间配置OGG-未配置同步DDL
- OGG同构(ORACLE-ORACLE)、异构(ORACLE-MYSQL)同步配置及错误解析
- RAC环境下配置OGG同步
- OGG同构(ORACLE-ORACLE)、异构(ORACLE-MYSQL)同步配置及错误解析
- rac与单实例ogg同步配置
- OGG同步配置ORACLE至ORACLE
- linux下rocketmq部署,两主两从同步写模式配置