OGG-Postgres实时同步到MySQL
(一)数据库信息
名称 |
源端数据库 |
目标端数据库 |
数据库类型 |
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的更多相关文章
- 实战:sqlserver 数据实时同步到mysql
1.安装安装mysqlconnector 2.配置mysqlconnector ODBC数据管理器->系统DSN->加入->mysql ODBC 5.3 ANSI driver-&g ...
- mysql实时同步到mssql的解决方案
数据库在应用程序中是必不可少的部分,mysql是开源的,所以很多人它,mssql是微软的,用在windows平台上是非常方便的,所以也有很多人用它.现在问题来了,如何将这两个数据库同步,即数据内容保持 ...
- 基于OGG的Oracle与Hadoop集群准实时同步介绍
版权声明:本文由王亮原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/220 来源:腾云阁 https://www.qclou ...
- 使用Logstash来实时同步MySQL数据到ES
上篇讲到了ES和Head插件的环境搭建和配置,也简单模拟了数据作测试 本篇我们来实战从MYSQL里直接同步数据 一.首先下载和你的ES对应的logstash版本,本篇我们使用的都是6.1.1 下载后使 ...
- Mysql数据实时同步
企业运维的数据库最常见的是 mysql;但是 mysql 有个缺陷:当数据量达到千万条的时候,mysql 的相关操作会变的非常迟缓; 如果这个时候有需求需要实时展示数据;对于 mysql 来说是一种灾 ...
- goldengate 12.3 实现mysql数据及DDL实时同步
以下环境在mysql 5.7上完成. set mysql_home=mysql安装路径 set path=%mysql_home%\bin;%path% 首先要准备mysql的启动,可参考:http: ...
- Mysql 到 Hbase 数据如何实时同步,强大的 Streamsets 告诉你
很多情况大数据集群需要获取业务数据,用于分析.通常有两种方式: 业务直接或间接写入的方式 业务的关系型数据库同步到大数据集群的方式 第一种可以是在业务中编写代码,将觉得需要发送的数据发送到消息队列,最 ...
- logstash-input-jdbc实现mysql 与elasticsearch实时同步(ES与关系型数据库同步)
引言: elasticsearch 的出现使得我们的存储.检索数据更快捷.方便.但很多情况下,我们的需求是:现在的数据存储在mysql.oracle等关系型传统数据库中,如何尽量不改变原有数据库表结构 ...
- mysql数据实时同步到Elasticsearch
业务需要把mysql的数据实时同步到ES,实现低延迟的检索到ES中的数据或者进行其它数据分析处理.本文给出以同步mysql binlog的方式实时同步数据到ES的思路, 实践并验证该方式的可行性,以供 ...
- 基于Canal和Kafka实现MySQL的Binlog近实时同步
前提 近段时间,业务系统架构基本完备,数据层面的建设比较薄弱,因为笔者目前工作重心在于搭建一个小型的数据平台.优先级比较高的一个任务就是需要近实时同步业务系统的数据(包括保存.更新或者软删除)到一个另 ...
随机推荐
- 无法连接uniCloud本地调试服务,请检查当前客户端是否与主机在同一局域网
- vmware超融合基础安装与配置
目录 vmware超融合 安装配置ESXI 安装VMware vCenter Server 安装vCenter插件 安装vCenter 使用VMware Vsphere Client登录Vcenter ...
- Liunx快捷命令(别名)与快捷方式(软/硬链接)
一.快捷命令(别名)-临时生效1.命令:alias 别名='原命令' 2.举例:给检查防火墙的命令设置别名 [root@localhost ~]# alias fhq='firewall-cmd -- ...
- Nacos源码 (3) 注册中心
本文将从一个服务注册示例入手,通过阅读客户端.服务端源码,分析服务注册.服务发现原理. 使用的2.0.2的版本. 客户端 创建NacosNamingService对象 NacosNamingServi ...
- Redis服务端辅助的客户端缓存机制
一.背景和问题 二.Redis6 的解决方案及原理 2.1 服务端支持客户端缓存的两种模式 1. 默认模式 2. 广播模式 2.2 客户端实现的两种连接模式 1. 使用同一连接 2. 使用不同连接 3 ...
- 使用requests爬虫遇到的一个奇葩的问题:UnicodeEncodeError: 'latin-1' codec can't encode character
每一位成功的程序员,背后也许都站着无数的秃头的男人--为其提供各种开发工具&代码库,当然也包括-- 各种玄学bug-- 玄学的开端 最近在用Python做一个爬虫项目的时候遇到一个很奇怪的问题 ...
- [转帖]TiKV 缩容不掉如何解决?
TiKV节点缩容不掉,通常遇到的情况: 1.经常遇到的情况是:3个节点的tikv集群缩容肯定会一直卡着,因为没有新节点接受要下线kv的region peer. 2.另外就是除缩容tikv外,剩下的KV ...
- [转帖]clickHouse单机模式安装部署(RPM安装)
关于版本和系统的选择 操作系统:Centos-7 ClickHouse: rpm 在安装,20.x 安装前的准备 CentOS7 打开文件数限 在 /etc/security/limits.conf ...
- [转帖] mysql的timestamp会存在时区问题?
我感觉 这样理解也有点不对 timestamp 应该是不带时区 只是 UTC1970-1-1 的时间戳 但是展示时会根据时区做一下计算 date time 就不会做转换而已. 原创:打码日记(微信 ...
- 银河麒麟v10 安装 virt-manager 的过程
上个月公司购置一台飞腾2000+ 银河麒麟v10的机器. 想着能够利用虚拟化 安装一下虚拟机 提高测试灵活度 找了一下原厂要了一下相关的命令 在这里进行一下测试工作. 第一步: 安装必备的包 yum ...