警示:Oracle 12.1.2.0與Oracle 11.2.0.4通過DB Link查詢觸發BUG 17890099

在Oracle 12.1 版本通過 DB Link 連接 11.2.0.4 的數據庫時,可能會因爲特定原因觸發BUG,引起數據庫實例因 ORA-00600 錯誤而導致實例重啓。

案例的現象和過程範例

1.RAC節點因爲 ORA-600 k2gteget: pdbid 而出現異常,級聯錯誤 qsmmixGetIdxKeyStats-1,異常是由存儲過程中基於 DB Link的查詢觸發:

在跟蹤文件中可以找到更詳細的信息

2.同樣的問題在其他實例發生引發實例重啓

跟蹤文件中同樣拋出了 DB Link 信息:

 

 

分析定位和解決:

通過對SQL的分析,結合錯誤信息,最終定位的BUG是:

Bug 17890099 : ORA-2072 AND ORA-2063 ON QUERY VIA DBLINK

Bug 17890099: After upgrade to 11.2.0.4; receiving Error ORA-02072: Distributed Database Network Protocol Mismatch (Doc ID 1671956.1)

 

這個BUG的描述是:

在一個分佈式環境,如果一個數據庫升級到11.2.0.4 ,通過DB Link 和低版本的數據相連,可能出現如下錯誤:

ERROR at line 1:
ORA-02072: distributed database network protocol mismatch
ORA-02063: preceding line from <DB Link>

 

這個BUG幾經轉折,在12.1 和 11.2.0.4的互聯中同樣存在:其核心原因是優化器的成本評估,核心BUG是:

Bug 17890099 - Wrong cardinality estimation for "is NULL" predicate on a remote table (Doc ID 17890099.8)

大家已經看到不同階段,BUG的主題都是不同的。我們整理這則案例,提示大家,在通過DB Link互聯不同版本,在SQL解析時可能遇到這一問題。

案例數據庫在應用補丁後,問題消除。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章