您的位置:首页 > 数据库 > SQL

Oracle技术之使用goldengate同步mysql

2013-08-19 10:46 441 查看
一、source端

add extract extl,vam,begin now
ADD EXTTRAIL F:\ogg\mysql\dirdat\rl, EXTRACT EXTL

edit params extl
extract extl
sourcedb test@localhost:3306,userid root,password xifenfei
exttrail F:\ogg\mysql\dirdat\rl
dynamicresolution
gettruncates
table test.t_1;

add EXTRACT pump1, EXTTRAILSOURCE F:\ogg\mysql\dirdat\rl, BEGIN now
add rmttrail /ogg/mysql/dirdat/rl extract pump1

edit params pump1
extract pump1
rmthost 192.168.1.111,mgrport 7808
rmttrail /ogg/mysql/dirdat/rl
PASSTHRU
gettruncates
table test.t_1;

二、target端

edit params ./GLOBALS
dblogin sourcedb test@localhost:3306,userid root,password xifenfei
CHECKPOINTTABLE ogg.chkpoint

ADD CHECKPOINTTABLE ogg.chkpoint

add replicat repl exttrail /ogg/mysql/dirdat/rl,begin now,checkpointtable ogg.chkpoint

edit params repl
replicat repl
DBOPTIONS HOST 127.0.0.1, CONNECTIONPORT 3306
TARGETDB test,userid root,password xifenfei
assumetargetdefs
reperror default,discard
discardfile /tmp/mysql.dsc,append,megabytes 100
gettruncates
map TEST.T_1, target "test.t_1";

三、说明

本实例是win 中的mysql同步到linux中的mysql

有个注意点:

1、add extract extl,vam,begin now 不像oracle中的tranlog

2、注意各个参数中schema.tablename大小写问题

1)win中不区分,全部使用小写会自动转换为大写

2)在replicate参数中,因为map是从win中的data pump中得到,所以map后面的schema.tablename需要大写

3)在replicate参数中,因为table是linux中的对应linux中的数据库名和表名(mysql是以文件形式存储,一般均为小写),所以map后面的schema.tablename需要小写+双引号,防止转为大写

3、注意mysql数据库编码

四、与oracle不同之处

1、登录

dblogin sourcedb dbname@localhost:3306,userid root,password xifenfei

2、Extract中访问mysql

sourcedb dbname@localhost:3306,userid root,password xifenfei

3、Replicat中访问mysql

DBOPTIONS HOST 127.0.0.1, CONNECTIONPORT 3306

TARGETDB dbname,userid root,password xifenfei

oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息