ogg同步mysql(mariadb5.5)数据到oracle

本文详细介绍了如何解决从MARIADB5.5版本到ORACLE版本使用GoldenGate进行数据同步时遇到的问题,包括配置参数的调整、错误解决方法以及最终实现数据成功传输的技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前同步oracle到mariadb5.5,mariadb到mariadb,ogg版本都是12.1,比较顺利。这次将mariadb5.5的数据同步到oracle,因为源使用的ogg12.1,而目标使用的ogg11.2,两个不同版本,所以搞了很长时间。因为是从高版本到低版本,需要在抽取进程和传递进程中分别添加:format release 11.2,如下:

view param odce1
extract odce1
sourcedb o2m-uc@10.128.31.92:3306 userid ogg password ogg
exttrail /home/goldengate/dirdat/d2,format release 11.2
discardfile  /home/goldengate/dirrpt/odce1.dsc,append
TranLogOptions AltLogDest /home/mariadb/data/binlogs.index
table o2m-uc.GMDZQY;

view param odcp1
extract odcp1
passthru
sourcedb o2m-uc@10.128.31.92:3306 userid ogg password ogg
rmthost  10.128.11.91,mgrport 7809,compress
rmttrail  /home/oracle/goldengate/dirdat/p2,format release 11.2
dynamicresolution
numfiles 3000
table o2m-uc.GMDZQY;


否则报错:

ERROR   OGG-01332  Oracle GoldenGate Delivery for Oracle, odcr1.prm:  File /home/oracle/goldengate/dirdat/p2000000, with compatibility level 4, is not compatible with the current software version's compatibility level of 3. Modify the file writer's parameter file to generate the appropriate format using the FORMAT LEVEL 3 option.
ERROR   OGG-01668  Oracle GoldenGate Delivery for Oracle, odcr1.prm:  PROCESS ABENDING.

三个进程都启动后,测试报错:

ERROR   OGG-00303  Oracle GoldenGate Delivery for Oracle, odcr1.prm:  Problem at line 37.  Expecting file, table, or record definition: TimeZone: US/Eastern.
ERROR   OGG-01668  Oracle GoldenGate Delivery for Oracle, odcr1.prm:  PROCESS ABENDING.
网上找到解决方案

1、Use a defgen paramfile with NOEXTATTR option(即:./defgen NOEXTATTR paramfile ./dirprm/defgen.prm)
2、generate definition file with the same OGG version as the OGG target site version.
因为方法1比较方便,就偷懒使用方法1,于是报错解决。数据可以传输到目标目录,但不应用SQL。于是采用方法2,单独下载ogg11.2formysql来生成def文件,最后解决。

说明:服务器上开启11.2的mgr进程时,注意其端口。


### MariaDB 5.5 的安装 MariaDB 5.5MariaDB 发展历程中一个重要版本,它为后续版本奠定了基础。对于希望使用 MariaDB 5.5 的用户来说,安装过程通常涉及从官方或镜像站点下载源代码包,然后通过编译安装的方式完成。具体步骤包括但不限于安装必要的依赖库和工具链,如 `bison`, `zlib-devel`, `libcurl-devel` 等,这些工具对于编译 MariaDB 源代码至关重要[^2]。例如,在 CentOS 系统上,可以通过执行 `yum install` 命令来安装这些依赖项。 ### MariaDB 5.5 的配置 安装完成后,配置 MariaDB 5.5 主要涉及到编辑配置文件(通常是 `my.cnf` 或 `my.ini`),设置合适的参数以优化性能或满足特定需求。这可能包括调整缓冲池大小、设置最大连接数等。配置文件的位置取决于安装方式和操作系统,但在大多数 Linux 发行版中,它通常位于 `/etc/my.cnf` 或 `/etc/mysql/my.cnf`。 ### MariaDB 5.5 的更新 更新 MariaDB 5.5 至更高版本通常需要从官方网站下载最新的源代码包,再次执行编译安装的过程。需要注意的是,在进行更新前,应该备份现有的数据库和配置文件,以防更新过程中出现意外情况导致数据丢失或配置失效。此外,更新过程中还应仔细阅读发行说明,了解新版本中引入的变化和潜在的不兼容性。 ### MariaDB 5.5 的版本特性 MariaDB 5.5 在多个方面进行了增强和改进,旨在提供一个更加稳定、高效且功能丰富的数据库解决方案。其中,一些显著的特性包括但不限于对 MySQL 的完全兼容性,这意味着用户可以无缝迁移至 MariaDB 而无需担心兼容性问题。此外,MariaDB 还引入了一系列新特性,如性能优化、安全增强以及对新硬件的支持等,这些都使得 MariaDB 成为了 MySQL 的一个极具吸引力的替代品[^3]。 ### 示例配置文件片段 以下是一个简单的 MariaDB 5.5 配置文件示例,展示了如何设置一些基本的配置选项: ```ini [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd user=mysql group=mysql # Semisynchronous Replication plugin-load-add=semisync_master.so plugin-load-add=semisync_slave.so rpl_semi_sync_master_enabled=1 rpl_semi_sync_slave_enabled=1 ``` 此配置文件片段启用了半同步复制功能,这对于提高主从复制的可靠性和性能非常有用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

隔壁老王156

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值