zengmuansha 发表于 2014-1-14 12:37:28

ORACLE 11G R2数据库字符集转换从AL32UTF8到ZHS16GBK

版本是11G R2 11.2.0.0.0.1
是套RAC集群!
这个集群是前任DBA搭建的.他把字符集设置成了AL32UTF8 . 应用系统原来是ZHS16GBK. 一个汉字占两个字节,现在变成了占4个字节.导致WEB页面用户输入固定长度的汉字被报错!
  JAVA开发人员开会说字符集可以被修改,我坚持说修改很困难,除非重新搭建RAC,然后导进去,这里面有风险.超字符集转变小字符集.很可能不成功.  要求他们检查下把可能引起的长度错误的字段都扩大一倍! 他们觉得工作量大. 又提出把VARCHAR2批量转成NVARCHAR2.我未有此经验,不知可否.
后来GOOGLE查了下 确实可以把AL32UTF8转成ZHS16GBK 只是要跳过ORACLE检验! 当不知这样会带来什么潜在风险.可有人成功转换过,尤其是生产库上.经过时间的检验!

Liu Maclean(刘相兵 发表于 2014-1-14 20:54:28

你没必要担这个事, 直接说ORACLE 官方不支持这么做,坚持下去!

licharles 发表于 2014-1-15 10:38:17

转换其实是不是官方支持的。

weiranth 发表于 2014-1-15 11:36:18

Liu Maclean(刘相兵 发表于 2014-1-14 20:54 static/image/common/back.gif
你没必要担这个事, 直接说ORACLE 官方不支持这么做,坚持下去!

Oracle 不支持!经典!~

echo 发表于 2014-1-15 14:17:23

企业里面一直存在字符集使用上的问题。其实就是要统一化,规范化问题,一旦发生数据库字符集不一致就存在说要更改表结构。或者前台代码。这个存在的工作量还是满大。
页: [1]
查看完整版本: ORACLE 11G R2数据库字符集转换从AL32UTF8到ZHS16GBK