当前位置: 首页 > news >正文

使用oracle goldengate同步postgresql到postgresql

使用oracle goldengate同步postgresql到postgresql

在之前的文档中,有测试验证postgresql到oracle的同步。如果想了解更多,请参考连接:
https://blog.csdn.net/bing_yuan/article/details/129613238?sharetype=blogdetail&sharerId=129613238&sharerefer=PC&sharesource=bing_yuan&spm=1011.2480.3001.8118

在这篇文章中将测试验证从postgresql到postgresql的同步,同步工具使用的是oracle goldengate(OGG)。

测试环境:
ogg 21.3
postgresql 9.4.1
目标端postgresql 12.14

测试的同步是从postgresql的备库同步数据到目标库
|192.168.56.11 |pg主库
|192.168.56.12 |pg只读备库
|192.168.56.101 |pg目标库 ogg端

软件的安装过程在这篇文章中忽略,具体请参考上面的链接。

以下是具体的的测试过程

GGSCI (oradb1) 2> dblogin sourcedb pg_src userid postgres password postgres2025-05-09 09:37:53  WARNING OGG-00552  Database operation failed: Couldn't connect to pg_src. ODBC error: 
SQLSTATE IM002 native database error 0. [DataDirect][ODBC lib] Driver Manager Message file not found. 
Please check for the value of InstallDir in your odbc.ini.
Error: Database operation failed: Couldn't connect to pg_src. ODBC error: SQLSTATE IM002 native database error 0. 
[DataDirect][ODBC lib] Driver Manager Message file not found. Please check for the value of InstallDir in your 
odbc.ini.Failed to open data source pg_src for user postgres处理方法:
Description=DataDirect 10.3 PostgreSQL Wire Protocol
修改为
Description=DataDirect 9.4 PostgreSQL Wire ProtocolGGSCI (oradb1) 2> dblogin sourcedb pg_src userid postgres password postgres2025-05-09 10:17:53  WARNING OGG-00552  Database operation failed: Executing query: 
SET idle_in_transaction_session_timeout=0. Called from execute:2008. 
ODBC error: SQLSTATE 37000 native database error 6820852. [Oracle][ODBC PostgreSQL Wire Protocol driver][PostgreSQL]
ERROR: unrecognized configuration parameter "idle_in_transaction_session_timeout"(File guc.c; Line 5558; Routine set_config_option;.
Error: Failed to execute SQL statement 'SET idle_in_transaction_session_timeout=0'Failed to open data source pg_src for user postgres主库创建数据库同步用户
create user ggadmin with password 'Bai_yun123';
ALTER USER ggadmin WITH REPLICATION;
ALTER USER ggadmin WITH SUPERUSER;
GRANT USAGE ON SCHEMA public TO ggadmin;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO ggadmin;
GRANT INSERT, UPDATE, DELETE, TRUNCATE ON TABLE tbl_test TO ggadmin;
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO ggadmin;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO ggadmin;
GRANT ALL PRIVILEGES ON DATABASE testdb TO ggadmin;
GRANT CONNECT ON DATABASE testdb TO ggadmin;
GRANT CREATE ON DATABASE testdb TO ggadmin;create user ogguser superuser login password 'ogguserP2021';dblogin sourcedb pg_src userid ggadmin password Bai_yun123尝试更换用户重新登录。问题仍然出现。经过查询 idle_in_transaction_session_timeout 参数在 postgres 9.6版本开始提供。测试版本是postgresql 9.4.1

https://postgresqlco.nf/doc/zh/param/idle_in_transaction_session_timeout/9.6/
在这里插入图片描述
目标端登录成功。

dblogin sourcedb pg_tgt userid ggadmin password Bai_yun123GGSCI (oradb1) 2> dblogin sourcedb pg_tgt userid ggadmin password Bai_yun1232025-05-09 10:38:18  WARNING OGG-00552  Database operation failed: Couldn't connect to pg_tgt. 
ODBC error: SQLSTATE 08001 native database error 0. [Oracle][ODBC PostgreSQL Wire Protocol driver]Connection refused. 
Verify Host Name and Port Number.
Error: Database operation failed: Couldn't connect to pg_tgt. ODBC error: SQLSTATE 08001 native database error 0. 
[Oracle][ODBC PostgreSQL Wire Protocol driver]Connection refused. 
Verify Host Name and Port Number.Failed to open data source pg_tgt for user ggadmin检查ODBC.INI配置发现是端口不对,修改数据库端口之后重新登录正常。GGSCI (oradb1) 3> dblogin sourcedb pg_tgt userid ggadmin password Bai_yun1232025-05-09 10:39:28  INFO    OGG-03036  Database character set identified as UTF-8. Locale: en_US.utf8.2025-05-09 10:39:28  INFO    OGG-03037  Session character set identified as UTF-8.
Successfully logged into database.

尝试更换OGG版本,ogg从21.3版本才开始有postgresql版本。目前出了一个最新的版本23.4.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
后续。。

相关文章:

  • Eclipse SWT 1 等比缩放
  • Web端项目系统访问页面很慢,后台数据返回很快,网络也没问题,是什么导致的呢?
  • 文件包含2
  • OpenCV的 ccalib 模块用于自定义标定板的检测和处理类cv::ccalib::CustomPattern()----函数calibrate
  • 火山引擎火山云主推产品
  • wpf UserControl 更换 自定义基类
  • PX4开始之旅(一)自动调参
  • Windows10 本地部署 IPFS(go-ipfs)
  • NX884NX891美光固态闪存NX895NX907
  • 汽车租赁|基于Java+vue的汽车租赁系统(源码+数据库+文档)
  • 【日撸 Java 三百行】Day 7(Java的数组与矩阵元素相加)
  • RT-Thread 深入系列 Part 1:RT-Thread 全景总览
  • Xterminal(或 X Terminal)通常指一类现代化的终端工具 工具介绍
  • 自定义装饰器
  • 使用AES-CBC + HMAC-SHA256实现前后端请求安全验证
  • P11369 [Ynoi2024] 弥留之国的爱丽丝(操作分块,DAG可达性trick)
  • 太阳能板结构及发电原理与输出特性分析——以杭州 5V 太阳能板为例
  • 北斗导航 | RTKLib中模糊度解算详解,公式,代码
  • [计算机科学#12]:高级编程语言基本元素,迅速上手编程
  • WebSocket:实时通信的新时代
  • 印度一战机在巴基斯坦旁遮普省被击落,飞行员被俘
  • 比特币价格重返10万美元,哪些因素使然?
  • 国家主席习近平在莫斯科出席红场阅兵式
  • 异域拾异|大脚怪的形状:一项神秘社会学研究
  • 习近平同瑞典国王卡尔十六世·古斯塔夫就中瑞建交75周年互致贺电
  • 范志毅跨界归来做青训,探索中国足球人才培养新模式