当前位置:首页 > OGG11g同构(GoldenGate-ORACLE)、异构(GoldenGate-MYSQL)同步配置及错误解析
Table altered. --target
SQL> desc test2;
Name Null? Type
----------------------------------------- -------- ---------------------------- ID NUMBER NAME VARCHAR2(10) 3.1.6.3 tuncate table --source
SQL> truncate table test2; Table truncated. --target
SQL> select * from test2; no rows selected 3.1.6.4 drop table --source
SQL> drop table test2; Table dropped. --target SQL> desc test2 ERROR:
ORA-04043: object test2 does not exist
至此,不设置本地trail和pump抽取进程的DML,DDL都可以顺利复制到目标端 3.2 双向复制
双向复制,其实就是再配置一条目标端到源端的复制通道,分别在源端和目的端各配置一个extract和replicat进程就可以了 3.2.1 配置源端抽取组ext1
GGSCI (zlm2) 1> add extract ext1, tranlog, begin now GGSCI (zlm2) 2> add rmttrail ./dirdat/rt, extract ext1 GGSCI (zlm2) 3> edit params ext1 extract ext1
userid ogg, password ogg
rmthost zlm1, mgrport 7809 --注意主机名要修改一下,别的参数和之前的一致就可以了 rmttrail ./dirdat/rt
ddl include mapped objname sender.*; table sender.*;
GGSCI (zlm2) 4> info all 3.2.2 配置目标端同步组
3.2.2.1 在目标端添加checkpoint表 [ogg@zlm gg11]$ ./ggsci
GGSCI (zlm) 1> edit params ./GLOBAL
GGSCHEMA ogg --DDL同步必须指定,DML同步不需要 CHECKPOINTTABLE ogg.ckpt
GGSCI (zlm) 2> dblogin userid ogg password ogg GGSCI (zlm) 3> add checkpointtable ogg.ckpt 3.2.2.2 创建同步组rep1
GGSCI (zlm) 4> add replicat rep1, exttrail ./dirdat/rt, checkpointtable ogg.ckpt GGSCI (zlm) 5> edit params rep1 replicat rep1
ASSUMETARGETDEFS userid ogg,password ogg reperror default,discard
discardfile ./dirrpt/rep1.dsc, append, megabytes 5 DDL
map sender.*, target sender.*;
3.2.3 源端(原目标端)开启抽取组ext1,目标端(原源端)开启同步组rep1 --source
GGSCI (zlm2) 1> start mgr GGSCI (zlm2) 2> start extract ext1 GGSCI (zlm2) 3> info all --target
GGSCI (zlm) 1> start mgr GGSCI (zlm) 2> start replicat rep1 GGSCI (zlm) 3> info all
具体测试内容和之前配置的单向复制一样,步骤略,DML,DDL都顺利复制到目标端,和之前一样,第一次同步的时候会比较慢,之后就快了,可能是第一次同步需要创建文件的缘故。另外,这里要特别注意,此时因为配置了双向复制,当两边各自的ext1和rep1进程都是running状态,如果此时源端和目标端对同一个表进行DML操作,如insert一条记录,那么这条记录会不断地在两端来回复制,永不停歇,如下所示: SQL> insert into test values(6); 1 row created.
SQL> select *from test; ID ---------- 1 2
3 4 5 6 6 6 6 6
这条插入id=6的数据就会不断地插入test表,要解决这个问题,就需要在两端的任意一个extract进程ext1里添加一条TRANLOGOPTIONS EXCLUDEUSER ogg就可以了 四、使用PUMP抽取进程的单向复制(ORACLE-ORACLE) 4.1 添加本地trail路径,修改源端extract抽取组ext1参数 GGSCI (zlm) 1> add extract ext1,tranlog, begin now GGSCI (zlm) 2> add exttrail ./dirdat/lt,extract ext1 GGSCI (zlm) 3> edit params ext1 extract ext1
userid ogg, password ogg --rmthost zlm2, mgrport 7809 --rmttrail ./dirdat/rt exttrail ./dirdat/lt
ddl include mapped objname sender.*; table sender.*;
注释掉2行和远程连接有关的参数,再添加一行本地trail路径即可 4.2 添加pump抽取组epp1
GGSCI (zlm) 1> add extract epp1,exttrailsource ./dirdat/lt GGSCI (zlm) 2> add rmttrail ./dirdata/rt,extract epp1 GGSCI (zlm) 3> edit params epp1 extract epp1
userid ogg,password ogg rmthost zlm2, mgrport 7809 rmttrail ./dirdat/rt
ddl include mapped objname sender.*; table sender.*;
相当于把原来配置在ext1里的远程配置参数搬过来了,因为现在是通过pump与远端连接, replicat复制组rep1参数不用修改,直接使用就可以 4.2 DML和DDL测试(参考3.1.5和3.1.6的步骤,方法一致) (略)…
注意:测试同步的时候要多开启一个pump进程,即源端运行ext1,epp1
五、异构数据库之间的单向复制(ORACLE-MYSQL) 5.1下载并安装介质 OGG FOR MYSQL:
官网链接:https://edelivery.oracle.com/EPD/Download/get_form
介质名称:Oracle GoldenGate V11.1.1.1.1 for MySQL 5.x on Linux x86-64 MYSQL DATABASE:
官网链接:https://edelivery.oracle.com/EPD/Search/handle_go
介质名称:MySQL Database 5.6.13 RPM for Oracle Linux / RHEL 5 x86 (64bit) 5.1.1目标端安装OGG软件并配置环境
因为MYSQL默认是以root用户登录并使用的,所以只要配置root的环境变量就可以了 在root用户的.bash_profile文件中添加以下内容: export GGHOME=/ggmysql export PATH=$PATH:$GGHOME
拷贝OGG FOR MYSQL介质到/rpm目录下并解压缩,然后再一次解压缩到/ggmysql [root@zlm2 ~]# cd /rpm [root@zlm2 rpm]# ls V27808-01.zip
[root@zlm2 rpm]# unzip V27808-01.zip Archive: V27808-01.zip
inflating: ggs_Linux_x64_MySQL_64bit.tar inflating: OGG_WinUnix_Rel_Notes_11.1.1.1.1.pdf inflating: Oracle_GoldenGate_11.1.1.1_README.txt [root@zlm2 rpm]# ls
ggs_Linux_x64_MySQL_64bit.tar Oracle_GoldenGate_11.1.1.1_README.txt OGG_WinUnix_Rel_Notes_11.1.1.1.1.pdf V27808-01.zip [root@zlm2 rpm]# mkdir /ggmysql [root@zlm2 rpm]# cd /ggmysql
[root@zlm2 ggmysql]# tar -xvf /rpm/ggs_Linux_x86_MySQL_32bit.tar (略)...
进入OGG界面,添加OGG目录 [root@zlm2 ggmysql]# ./ggsci GGSCI (zlm2) 1> create subdirs
5.1.2 目标端安装配置MYSQL数据库软件
把从官网下载的MYSQL数据库软件也拷贝到/rpm下并解压 [root@zlm2 rpm]# ls [root@zlm2 rpm]# ls
ggs_Linux_x64_MySQL_64bit.tar V27808-01.zip OGG_WinUnix_Rel_Notes_11.1.1.1.1.pdf V39097-01.zip
共分享92篇相关文档