bdjhx 发表于 2018-9-14 11:48:30

Oracle技术之使用goldengate同步mysql

  一、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

页: [1]
查看完整版本: Oracle技术之使用goldengate同步mysql