OGG-Postgres同步到MySQL

发布时间 2023-09-11 18:11:25作者: 业余砖家

(一)数据库信息

名称

源端数据库

目标端数据库

数据库类型

Postgresql 12.4

MySQL 5.7

IP地址

20.2.127.23

20.2.127.24

端口

5432

3306

数据库

testpdb

test

用户

ogguser

root

密码

ogguserP2021

Root@1234

 

postgreSQL

vi postgresql.conf

wal_level = logical     # minimal, replica, or logical

                        # (change requires restart)

 

max_wal_senders = 10    # max number of walsender processes

                        # (change requires restart)

 

max_replication_slots = 10  # max number of replication slots

                            # (change requires restart)

 

(二)OGG安装信息

名称

源端OGG

目标端OGG

OGG版本

213000_ggs_Linux_x64_PostgreSQL_64bit.zip

213000_ggs_Linux_x64_MySQL_64bit.zip

安装服务器IP

20.2.127.24

20.2.127.24

OGG_HOME

/data/ogg_pg/

/data/ogg_mysql/

MGR进程

mgr

mgr

EXTRACT进程

ext1

PUMP进程

pump1

REPLICAT进程

rep1

 

编辑变量:

vi  /etc/profile

export LD_LIBRARY_PATH=/data/ogg_pg/lib:/data/ogg_mysql/lib:$LD_LIBRARY_PATH

alias pg_ggsci='cd /data/ogg_pg; ./ggsci'

alias mysql_ggsci='cd /data/ogg_mysql; ./ggsci'

source  /etc/profile

(三)OGG源端配置

1.启动PGggsci

pg_ggsci

 

2.PG 创建目录

create subdirs

 

3.配置并启动MGR

--编辑MGR

edit  param  mgr

 

port 2031

dynamicportlist 2032-2040

purgeoldextracts ./dirdat/*, usecheckpoints,minkeephours 24

AUTORESTART ER *, RETRIES 3, WAITMINUTES 2,RESETMINUTES 10

 

--启动MGR

start  mgr

 

--查看MGR状态

Info  mgr

 

4.登录PG数据库

编辑 odbc.ini

[ODBC Data Sources]

PGDSN=DataDirect 12.4 PostgreSQL Wire Protocol

postgres=DataDirect 12.4 PostgreSQL Wire Protocol

scott=DataDirect 12.4 PostgreSQL Wire Protocol

[ODBC]

IANAAppCodePage=106

InstallDir=/data/ogg_pg

 

[TESTPDB]

Driver=/data/ogg_pg/lib/GGpsql25.so

Description=DataDirect 12.4 PostgreSQL Wire Protocol

Database=testpdb

HostName=20.2.127.23

PortNumber=5432

LogonID=ogguser

Password=ogguserP2021

TransactionErrorBehavior=2

 

--登录

dblogin sourcedb testpdb, userid ogguser, password ogguserP2021

 

5.配置抽取进程

 

--注册抽取

register extract ext1

 

--增加抽取进程日志

add ext ext1, tranlog , begin now

add exttrail ./dirdat/e1, ext ext1

 

--编辑抽取参数

edit param ext1

 

extract ext1

setenv(PGCLIENTENCODING = "UTF8")

setenv(ODBCINI="/data/ogg_pg/odbc.ini" )

sourcedb testpdb, userid ogguser, password ogguserP2021

exttrail ./dirdat/e1

discardfile ./dirrpt/ext1.dsc

cachemgr  cachesize 1G

container  mem_limit  8G

table public.*;

 

 

--启动抽取进程

start  ext1

 

 

--查看进程状态

info  ext1  

 

--查看统计信息

stats ext1, total

 

 

6.配置投递进程

--编辑投递参数

edit  param  pump1

 

extract pump1

rmthost 20.2.127.24, mgrport 7809

rmttrail ./dirdat/e1

passthru

cachemgr  cachesize 1G

container  mem_limit 8G

table public.*;

 

--添加投递进程日志

add extract pump1, exttrailsource ./dirdat/e1

add rmttrail  ./dirdat/e1, extract  pump1

 

--启动投递进程

start  pump1  

 

--查看投递进程状态

Info  pump1

 

7.配置源端OGG异构mapping文件

edit params defgen1

 

defsfile ./dirdef/defgen1.def  

sourcedb testpdb, userid ogguser, password ogguserP2021

table public.*;

 

--将默认生成的文件保存到OGG目录的dirdef目录下

shell ./defgen  paramfile  dirprm/defgen1.prm

 

将生成的def传输到目标端  

shell  scp  ./dirdef/defgen1.def   root@20.2.127.24:/data/ogg_mysql/dirdef/

 

如果出现提示:说明/data/ogg_mysql/dirdef/这个目录不存在,需要在OGG目标端创建目录后才能会自动生成。

 

 

(四)OGG目标端配置

1.启动MySQLggsci

mysql_ggsci

 

 

2.MySQL 创建目录

create subdirs

 

3.配置并启动MGR

edit  param  mgr

 

PORT 7809

DYNAMICPORTLIST 7810-7909

AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3

PURGEOLDEXTRACTS ./dirdat/*,USECHECKPOINTS, MINKEEPDAYS 3

 

--启动MGR

start  mgr  

 

--查看MGR状态

Info  mgr

4.目标端检查日志表(checkpoint)配置

--登录数据库

dblogin sourcedb test@20.2.127.24:3306 userid root password Root@1234

 

--添加检查日志表

add  checkpointtable  test.ggs_checkpoint

5.回放(Replicat)进程配置

--添加一个回放进程并与源端pump进程传输过来的trail文件关联,并使用checkpoint表确保数据不丢失

add  replicat rep1, exttrail  ./dirdat/e1, checkpointtable test.ggs_checkpoint

 

--添加/编辑回放进程配置文件

edit  param  rep1

 

replicat rep1

targetdb test@20.2.127.24:3306,userid root,password Root@1234

sourcedefs  ./dirdef/defgen1.def

discardfile ./dirrpt/rep1.dsc,append,megabytes 1024

handlecollisions

cachemgr  cachesize  1G

container  mem_limit  8G

map public.*, target test.*;

 

--启动回放进程

start  rep1

 

--查看进程状态

info  rep1

 

 

(五)常用命令总结

--查看所有OGG进程

info  all

 

--查看某个OGG进程

info  进程名

info  进程名  detail

 

--管理OGG进程

start/stop/delete  进程名

 

 

--查看进程日志报告

view  report  进程名

 

--修改进程参数

edit  params  进程名  

 

--修改全局参数

edit  params  ./GLOBAL

 

--查看统计信息,列出处理的所有记录数

stats  进程名,total  

 

--查看详细处理过的事务记录

info  进程名 showch

 

--查看进程中最长的10个交易

send  extract  进程名 ,showtrans  thread 1 count 10

 

--查看当前GoldenGate环境信息

show

 

--历史命令

history

 

--执行本地shell

shell  ls  

 

--查看告警日志信息

view  ggsevt

 

--查看延时,以及文件抽取应用情况

lag  进程名