天天看點

報錯:ORA-07445: exception encountered: core dump [kkqtnloCbk()+111] [SIGSEGV]

今天QQ有問個問題,說有個應用報錯3113,按照正常,讓其檢查了:

1、使用者profile是否設定了idle_time參數,沒有。

2、應用與資料庫之間有防火牆逾時設定,沒有。

于是又問他是所有應用都報錯,還是某個報錯,回報說是一個SQL,用到了full join。我覺得這個是SQL文法問題,和3113連接配接斷開應該沒有關系啊?于是又讓他看alert檔案有什麼記錄,回報說有個報錯:“ORA-07445: exception encountered: core dump [kkqtnloCbk()+111] [SIGSEGV] [unknown code] [0x000000000] [] []”。

沒見過這種錯誤,于是搜尋MOS,有兩篇文章:

<a>ORA-7445 (kkqtnlocbk) (文檔 ID 406737.1)</a>

<a>在10.2.0.4, 11.1.0.6, 10.2.0.2.P08, 10.2.0.3.P05中修複。</a>

ORA-07445: exception encountered: core dump [kkqtnloCbk()+111] [SIGSEGV] [unknown code] [0x000000000] [] []

說明在使用子查詢的ANSI外連接配接文法時産生一個dump(但這隻是一個總體的描述,實際現象可能不同)。臨時的解決方法是設定_optimizer_cost_based_transformation值改為off。

描述這個bug在以下版本已經修複:

<a>10.2.0.2 Patch 8 on Windows Platforms</a>

<a>10.2.0.3 Patch 5 on Windows Platforms</a>

<a>10.2.0.4 (Server Patch Set)</a>

<a>11.1.0.6 (Base Release)</a>

<a></a>

<a>他的錯誤資料庫版本正是10.2.0.1,是以有理由懷疑這是由于資料庫的bug導緻的。解決方法就是上述要麼臨時設定參數值,要麼隻能通過打更新檔修複。</a>