oracle:数据库版本问题导致的bug

系统 1941 0

   公司开发出来的系统,由于各现场oracle数据库版本有10.2.0.4、11.2.0.1、11.2.0.3、11.2.0.4;

进而会导致版本不一导致错误问题。下面列举2个:

 

1.wm_concat 函数问题

    由于本地开发、测试环境都是10.2.0.4,该函数运行正常,后来问题现场版本是11g,导致该函数报错。

后来经过排查,wm_concat这个函数中10.2.0.4之前返回都是varchar2类型,到10.2.0.5及以上版本返回为clob类型,

而返回的临时clob类型会时临时表空间一直增长。在11g里面推出了新函数listagg建议替代该函数。

但由于个现场数据库版本不一,即使改成里listagg,又会导致低版本不支持问题;

后来该问题的解决办法是:

从低版本(10.2.0.4一下)的oracle中拷贝如下三个文件到目标库:
$ORACLE_HOME/rdbms/admin/owmctab.plb、
$ORACLE_HOME/rdbms/admin/owmaggrs.plb、
$ORACLE_HOME/rdbms/admin/owmaggrb.plb。

然后删除wmsys用户,drop user wmsys cascade,再执行上述三个脚本。

 

2.sql语句 select * from  tableA where  exists  (条件1) or exists  (条件2) 报错

ORA-01790: expression must have same datatype as corresponding expression

现场环境是11.2.0.1。

该sql在10g环境正常,在11.2.0.3也正常。

后来该问题的解决办法:现场升级到11.2.0.3,问题解决。

 

 

 

oracle:数据库版本问题导致的bug


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论