? ?公司開發出來的系統,由于各現場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,問題解決。
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
