(一)数据库信息

名称

源端数据库

目标端数据库

数据库类型

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)

修改后,重启PostgreSQL数据库。

(二)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.启动PG的ggsci

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.启动MySQL的ggsci

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  进程名

OGG-Postgres实时同步到MySQL的更多相关文章

  1. 实战:sqlserver 数据实时同步到mysql

    1.安装安装mysqlconnector 2.配置mysqlconnector ODBC数据管理器->系统DSN->加入->mysql ODBC 5.3 ANSI driver-&g ...

  2. mysql实时同步到mssql的解决方案

    数据库在应用程序中是必不可少的部分,mysql是开源的,所以很多人它,mssql是微软的,用在windows平台上是非常方便的,所以也有很多人用它.现在问题来了,如何将这两个数据库同步,即数据内容保持 ...

  3. 基于OGG的Oracle与Hadoop集群准实时同步介绍

    版权声明:本文由王亮原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/220 来源:腾云阁 https://www.qclou ...

  4. 使用Logstash来实时同步MySQL数据到ES

    上篇讲到了ES和Head插件的环境搭建和配置,也简单模拟了数据作测试 本篇我们来实战从MYSQL里直接同步数据 一.首先下载和你的ES对应的logstash版本,本篇我们使用的都是6.1.1 下载后使 ...

  5. Mysql数据实时同步

    企业运维的数据库最常见的是 mysql;但是 mysql 有个缺陷:当数据量达到千万条的时候,mysql 的相关操作会变的非常迟缓; 如果这个时候有需求需要实时展示数据;对于 mysql 来说是一种灾 ...

  6. goldengate 12.3 实现mysql数据及DDL实时同步

    以下环境在mysql 5.7上完成. set mysql_home=mysql安装路径 set path=%mysql_home%\bin;%path% 首先要准备mysql的启动,可参考:http: ...

  7. Mysql 到 Hbase 数据如何实时同步,强大的 Streamsets 告诉你

    很多情况大数据集群需要获取业务数据,用于分析.通常有两种方式: 业务直接或间接写入的方式 业务的关系型数据库同步到大数据集群的方式 第一种可以是在业务中编写代码,将觉得需要发送的数据发送到消息队列,最 ...

  8. logstash-input-jdbc实现mysql 与elasticsearch实时同步(ES与关系型数据库同步)

    引言: elasticsearch 的出现使得我们的存储.检索数据更快捷.方便.但很多情况下,我们的需求是:现在的数据存储在mysql.oracle等关系型传统数据库中,如何尽量不改变原有数据库表结构 ...

  9. mysql数据实时同步到Elasticsearch

    业务需要把mysql的数据实时同步到ES,实现低延迟的检索到ES中的数据或者进行其它数据分析处理.本文给出以同步mysql binlog的方式实时同步数据到ES的思路, 实践并验证该方式的可行性,以供 ...

  10. 基于Canal和Kafka实现MySQL的Binlog近实时同步

    前提 近段时间,业务系统架构基本完备,数据层面的建设比较薄弱,因为笔者目前工作重心在于搭建一个小型的数据平台.优先级比较高的一个任务就是需要近实时同步业务系统的数据(包括保存.更新或者软删除)到一个另 ...

随机推荐

  1. 基于 SpringBoot + magic-api + Vue3 + Element Plus + amis3.0 快速开发管理系统

    Tansci-Boot 基于 SpringBoot2 + magic-api + Vue3 + Element Plus + amis3.0 快速开发管理系统 Tansci-Boot 是一个前后端分离 ...

  2. C#设计模式15——观察者模式的写法

    是什么: 观察者模式是一种设计模式,它定义了对象之间的一种一对多的依赖关系,使得当一个对象状态发生改变时,它的所有依赖者都能够得到相应的通知并作出相应的反应.观察者模式也被称为发布-订阅模式. 为什么 ...

  3. 电脑面试两道问题(python+shell)

    最近面试电脑代码面试遇到两个问题,供大家参考一下一.python脚本: 手写一个函数,实现两个数相加,并使用unittest与pytest工具测试函数正确性. 1.unnitest进行测试: impo ...

  4. ReentrantLock 可重入锁总结

    本文为博主原创,未经允许不得转载: ReentrantLock 是一种内置锁,也叫可重入锁(ReentrantLock),它允许线程再次获取已持有的同步锁,这样防止死锁的发生.在使用Reentrant ...

  5. Go-性能测试-benchmark

  6. linux-帮助-man和help

  7. Git-历史版本切换-log-reset

  8. [转帖]Docker最佳实践:5个方法精简镜像

    https://juejin.cn/post/6844903880526921741   精简Docker镜像的好处很多,不仅可以节省存储空间和带宽,还能减少安全隐患.优化镜像大小的手段多种多样,因服 ...

  9. Windows 挂载minio 到本地磁盘

    Windows 挂载minio 到本地磁盘 背景 新公司建议使用minio 进行一些业务操作 已经在各位领导同事的帮助下找到了linux本地s3fs挂载和k8s使用csi方式挂载到pod内的方式. 今 ...

  10. [转帖]Linux下使用 ipset 封大量IP及ipset参数说明

    https://www.cnblogs.com/xiaofeng666/p/10952627.html Linux使用iptables封IP,是常用的应对网络攻击的方法,但要封禁成千上万个IP,如果添 ...