首页 / 数据库 / MySQL / Oracle技术之使用goldengate同步mysql
Oracle技术之使用goldengate同步mysql2014-06-30 51cto Oracle小混子一、source端add extract extl,vam,begin nowADD EXTTRAIL F:oggmysqldirdatrl, EXTRACT EXTLedit params extlextract extlsourcedb test@localhost:3306,userid root,password xifenfeiexttrail F:oggmysqldirdatrldynamicresolutiongettruncatestable test.t_1;add EXTRACT pump1, EXTTRAILSOURCE F:oggmysqldirdatrl, BEGIN nowadd rmttrail /ogg/mysql/dirdat/rl extract pump1edit params pump1extract pump1rmthost 192.168.1.111,mgrport 7808rmttrail /ogg/mysql/dirdat/rlPASSTHRUgettruncatestable test.t_1;二、target端edit params ./GLOBALSdblogin sourcedb test@localhost:3306,userid root,password xifenfeiCHECKPOINTTABLE ogg.chkpointADD CHECKPOINTTABLE ogg.chkpointadd replicat repl exttrail /ogg/mysql/dirdat/rl,begin now,checkpointtable ogg.chkpointedit params replreplicat replDBOPTIONS HOST 127.0.0.1, CONNECTIONPORT 3306TARGETDB test,userid root,password xifenfeiassumetargetdefsreperror default,discarddiscardfile /tmp/mysql.dsc,append,megabytes 100gettruncatesmap TEST.T_1, target "test.t_1";三、说明本实例是win 中的mysql同步到linux中的mysql有个注意点:1、add extract extl,vam,begin now 不像oracle中的tranlog2、注意各个参数中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 xifenfei2、Extract中访问mysqlsourcedb dbname@localhost:3306,userid root,password xifenfei3、Replicat中访问mysqlDBOPTIONS HOST 127.0.0.1, CONNECTIONPORT 3306TARGETDB dbname,userid root,password xifenfei