12
返回列表 发新帖
楼主: zhoujiongfield

[讨论] 关于goldengate在不同数据库间同步的问题

[复制链接]
论坛徽章:
13
生肖徽章2007版:虎
日期:2009-03-14 11:55:56ITPUB社区12周年站庆徽章
日期:2013-10-08 15:00:34灰彻蛋
日期:2013-03-16 23:13:202013年新春福章
日期:2013-02-25 14:51:24紫蛋头
日期:2013-01-23 13:48:22双黄蛋
日期:2011-07-30 15:08:322010年世界杯参赛球队:德国
日期:2010-05-11 21:28:202010年世界杯参赛球队:意大利
日期:2010-01-26 11:28:16生肖徽章2007版:兔
日期:2009-05-13 09:35:07生肖徽章2007版:鸡
日期:2009-04-08 19:14:38
11#
发表于 2010-11-18 23:51 | 只看该作者
只做过db2到oracle的,
保证NLS_LANG变量设置一致才能不出乱码

使用道具 举报

回复
论坛徽章:
47
2011新春纪念徽章
日期:2011-01-04 10:24:02奥迪
日期:2013-11-09 23:09:27保时捷
日期:2013-10-15 20:14:48阿斯顿马丁
日期:2013-10-12 09:11:59三菱
日期:2013-09-14 16:45:56雪铁龙
日期:2013-08-21 12:50:25马自达
日期:2013-08-14 12:51:35ITPUB社区千里马徽章
日期:2013-06-09 10:15:34蓝锆石
日期:2013-04-12 00:10:42劳斯莱斯
日期:2013-11-09 23:09:27
12#
 楼主| 发表于 2010-11-19 09:18 | 只看该作者
原帖由 Toms_zhang 于 2010-11-18 21:16 发表



goldengate到目前版本为止(11.1)对字符集的转换支持有限,只有目标数据库是oracle才可以借助Oracle自身的字符集转换功能进行转换!否则就要保证原和目标的字符集一直才不会出现乱码。


谢谢版主指教~~

使用道具 举报

回复
论坛徽章:
47
2011新春纪念徽章
日期:2011-01-04 10:24:02奥迪
日期:2013-11-09 23:09:27保时捷
日期:2013-10-15 20:14:48阿斯顿马丁
日期:2013-10-12 09:11:59三菱
日期:2013-09-14 16:45:56雪铁龙
日期:2013-08-21 12:50:25马自达
日期:2013-08-14 12:51:35ITPUB社区千里马徽章
日期:2013-06-09 10:15:34蓝锆石
日期:2013-04-12 00:10:42劳斯莱斯
日期:2013-11-09 23:09:27
13#
 楼主| 发表于 2010-11-19 09:21 | 只看该作者
原帖由 shao 于 2010-11-18 23:51 发表
只做过db2到oracle的,
保证NLS_LANG变量设置一致才能不出乱码



测试过Oracle到DB2的同步,
都是GBK时没问题。DB2改为UTF-8就不行了

使用道具 举报

回复
论坛徽章:
0
14#
发表于 2010-11-24 10:57 | 只看该作者
同问一下,如果sybase确定是cp850不能更改,oracle字符集应该设成什么字符集才能不乱码呢?还有oracle是装在linux下的,系统本身字符集是否要设置?设置成什么?

使用道具 举报

回复
论坛徽章:
0
15#
发表于 2010-11-24 19:36 | 只看该作者
rep exc 参数文件中都设置NLS_LANG。
暂时只能对 target是oracle的又作用。

否则建议source target 字符集一致, 不发生数据字符集转换。

使用道具 举报

回复
论坛徽章:
47
2011新春纪念徽章
日期:2011-01-04 10:24:02奥迪
日期:2013-11-09 23:09:27保时捷
日期:2013-10-15 20:14:48阿斯顿马丁
日期:2013-10-12 09:11:59三菱
日期:2013-09-14 16:45:56雪铁龙
日期:2013-08-21 12:50:25马自达
日期:2013-08-14 12:51:35ITPUB社区千里马徽章
日期:2013-06-09 10:15:34蓝锆石
日期:2013-04-12 00:10:42劳斯莱斯
日期:2013-11-09 23:09:27
16#
 楼主| 发表于 2010-11-26 14:40 | 只看该作者
原帖由 caijinrong 于 2010-11-24 19:36 发表
rep exc 参数文件中都设置NLS_LANG。
暂时只能对 target是oracle的又作用。

否则建议source target 字符集一致, 不发生数据字符集转换。


恩,我试过设置NLS_LANG,确实如此。
可惜的是目前的项目环境里不能保证数据字符集都一致,悲剧啊~

使用道具 举报

回复
论坛徽章:
0
17#
发表于 2010-11-27 12:41 | 只看该作者
最早在华为做字符集转换测试的时候,其实最基本的还是数据库的原理,如果两个DB的数据库字符集不匹配,而生产库用的字符又不归属两个字符集的交集范围,这样的DML复制OGG是无法实现的。有时候出现乱玛;

使用道具 举报

回复
论坛徽章:
190
生肖徽章:狗
日期:2006-11-23 04:26:03生肖徽章:羊
日期:2007-09-26 17:08:21生肖徽章:马
日期:2007-09-26 17:08:49授权会员
日期:2007-12-31 19:14:41生肖徽章2007版:牛
日期:2008-03-28 10:02:30奥运会纪念徽章:柔道
日期:2008-04-30 16:28:44奥运会纪念徽章:垒球
日期:2008-05-12 21:28:28奥运会纪念徽章:体操
日期:2008-06-26 10:00:41奥运会纪念徽章:沙滩排球
日期:2008-07-27 12:41:59奥运会纪念徽章:艺术体操
日期:2008-07-30 11:09:47
18#
发表于 2012-6-8 16:01 | 只看该作者
本帖最后由 jieyancai 于 2012-6-8 16:03 编辑

正要问这样的问题
字符集1. 目标数据库的字符集必须是源数据库字符集的超集
2. 数据库字符集必须为客户端应用程序字符集的超集

使用道具 举报

回复
论坛徽章:
0
19#
发表于 2013-7-12 11:22 | 只看该作者
zhoujiongfield 发表于 2010-11-16 22:07
谢谢楼上几位!
目前来看,异构数据库配置一样的字符集没有乱码问题,Mysql除外。
不过在我的测试中似乎字 ...

我测试了oracle到mysql的中文同步,需要将源端oracle的操作系统字符集设置为gbk,将oracle数据库的字符集设置为utf8,然后将目标端的mysql的数据库字符集全部设置为utf8,目标端的操作系统设置gbk或utf8,就可以实现中文同步。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表