程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> XA中使用dblink發現的一個oraclebug

XA中使用dblink發現的一個oraclebug

編輯:Oracle教程

XA中使用dblink發現的一個oraclebug


最近監控系統日志時發現出現一個新的錯誤信息,很奇怪,之前沒有過。如下:

ORA-24777:不允許使用不可移植的數據庫鏈路。

跟蹤程序進去發現是通過dblink查詢某個遠程庫表,而且由於使用了XA分布式事務數據庫連接。大家也許都知道XA有不少限制條件,之前也遇到過,都繞著走了。但是最近沒有調整過程序也沒有改變過dblink的配置,怎麼回事呢?只能網上搜索,結果有人遇到過,說是oracle dblink改成shared就行了。個人覺得這個說法靠譜。於是現在測試系統上試了一下,果然有效。

可以為什麼之前沒有這個問題呢?還是問一下應用服務維護人員和dba吧,一會兒應用服務器管理員回信,沒有改變任何設置。到時dba經過咨詢外部oracle專家有了回復,是一個oracle bug引起,目前在oracle 11.2.0.4上存在這個問題(近期遷移了我們訪問的遠程數據服務器,遷移時升級了oracle小版本號,升級後正好是11.2.0.4),而我們的訪問對象正是11.2.0.4的dblink,原來如此,正好踩在雷上。對方提供了兩種方案解決:

1、把oracle服務器模式設置成shared server;

2、把dblink連接設置成shared模式。

顯然第一個沒有人輕易選擇,影響太大,也說不定會有其他問題出現,第二種成本低,對於系統本身影響小。因此也就選擇了方案二。

當然後續可以找個時間升級一下oracle,把補丁打上也可以。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved