HP-UX平臺下11.2.0.1資料庫 JDBC連線bug問題

yezhibin發表於2011-11-15
錯誤描述:

 某金融客戶生產環境中,進行查詢訪問出現如下錯誤:
 ”OALL8處於不一致狀態;nested exception is java.sql.SQL Exception:OALL8處於不一致Caused by: java.sql.sql Exception: OALL8 處於不一致“
  
後臺alert.log日誌中錯誤:
 “ORA-03137: TTC 協議內部錯誤: [12333] [6] [48] [51]”

trace檔案中可以知道正在進行如下操作:
       select count(*) from XXXXXX t1,XXXXXXXX t2
       where t1.appl_flow_id = t2.appl_flow_id
        and   t2.CUR_DEAL_ID = :1
       AND   t1.old_manager_id is null
       and   t2.approval_state = :2     

客戶資料庫版本為11.2.0.1,作業系統為HP-UX 11.3.1

基本分析:

1、OALL8是客戶端通過JDBC傳送給服務端的包,具體傳送的內容和引數值可以通過10046跟蹤檢視。主要是用於捆綁資料的傳遞,因此,可以猜測是捆綁資料沒有有效傳遞出去,與捆綁變數相關。

2、從11.2.0.1中補丁集描述中,我們可以知道bug 9703463和bug 9243912都有可能造成捆綁變數資料傳遞問題。

解決辦法:

1、以上提到的bug沒有相應的補丁,在11.2.0.2都得到解決,因此建議客戶升級資料庫至少11.2.0.2版本以上;

2、如果暫時無法升級,可先將內部引數"_optim_peek_user_binds"設定成false,該設定造成優化器不能窺探使用者捆綁變數值,可能造成共享記憶體負擔。






來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/354732/viewspace-710954/,如需轉載,請註明出處,否則將追究法律責任。

相關文章