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

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

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

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

             字符集转换分为两种

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

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

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

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

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

          

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

          

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

        

 

转载于:https://www.cnblogs.com/fameg/p/9856787.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值