ogg同步oracle字符集问题,部署OGG时字符集转换问题--oracle to oracle已验证,其他异构环境应当也适用...

博客详细介绍了在Oracle GoldenGate(OGG)中解决多源到单一目标端字符集问题的两种方案:目标端转换和源端转换。作者通过实际案例分享了当源端无法设置NLS_LANG时,如何在目标端进行字符集转换的经验,强调了整个过程遵循Oracle数据库服务端-客户端的字符集转换原理。
摘要由CSDN通过智能技术生成

之前在安装OGG总是遇到字符集问题,尤其是多源端对一个目标端时,源端字符集不同,导致出现字符集问题

无法同步数据,查阅了大量的园子资料,都说要设置复制或抽取进程中SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK),设置为和源端或者目标端一致即可,经过大量测出一对一的复制没有问题,但是多对一的复制仍存在问题,后经大量阅读资料,完成链路的设计。

最近刚好项目需要,刚好整理出来。

字符集转换分为两种

7e8ea2e8c0a90c91ac6248c34d9b062c.png(ps:图片有误,方案二是,在oracle服务器新建操作系统用户安装OGG)

方案一是将字符集的转换交给目标端复制进程解析队列写入数据库时进行转换。即目标端复制进程解析的队列文件中的数据字符集还是源端的字符集。

方案二是将字符集的转换交给源端抽取进程抽取时进行转换。即源端传递到目标端的队列文件中数据的字符集已经是目标端字符集。

具体过程如下:整个过程完全遵照oracle数据库服务端-客户端的字符集转换过程。

方案一:红色箭头为字符集转换过程

10290f3ca60b427b75b836cb7f5faa91.png

方案二:红色箭头为字符集转换过程

f3a5dbffdda4a5fde7cff19dd7d11817.png

我做的一个实际例子如下:当时因为源端无法设置环境变量NLS_LANG的字符集,因此两个源端库的数据都选择在目标端进行字符集转换。

4e55adfcd449366a7673c079149f7741.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值