ORA-7445(kkfipbr)錯誤
在客戶的10.2.0.4 RAC for X86-64環境中碰到了這個錯誤。
錯誤資訊為:
Fri Apr 27 13:40:20 2012
Errors in file /opt/app/oracle/admin/ora/udump/ora1_ora_1851.trc:
ORA-07445: exception encountered: core dump [kkfipbr()+8] [SIGSEGV] [Address
not mapped to object] [0x000000000] [] []
對應的TRACE檔案內容為:
*** 2012-04-27 13:40:20.422
ksedmp: internal or fatal error
ORA-07445: exception encountered: core dump [kkfipbr()+8] [SIGSEGV] [Address
not mapped to object] [0x000000000] [] []
Current SQL statement for this session:
select * from (select pagetable.*,rownum recordid from (select s.id sid,p.id
pid,p.name pname, … where rownum <= 7) where recordid >0
----- Call Stack Trace -----
calling call entry argument values in hex
location type
point (? means
dubious value)
-------------------- -------- -------------------- ----------------------------
ksedst()+31 call ksedst1() 000000000 ? 000000001 ?
2A97153D50 ? 2A97153DB0 ?
2A97153CF0 ? 000000000 ?
ksedmp()+610 call ksedst() 000000000 ? 000000001 ?
2A97153D50 ? 2A97153DB0 ?
2A97153CF0 ? 000000000 ?
ssexhd()+629 call ksedmp() 000000003 ? 000000001 ?
2A97153D50 ? 2A97153DB0 ?
2A97153CF0
? 000000000 ?
__funlockfile()+64 call ssexhd() 00000000B ? 2A97154D70 ?
2A97154C40 ? 2A97153DB0 ?
2A97153CF0 ? 000000000 ?
kkfipbr()+8 signal __funlockfile() 2A976A69B8 ? 000000000 ?
7FBFFF7C10 ? 000000038 ?
000000000 ? 000000000 ?
kkfiPatchQbc()+235 call kkfipbr() 2A976A69B8 ? 000000000 ?
7FBFFF7C10 ? 000000038 ?
000000000 ? 000000000 ?
qkadrv()+554 call kkfiPatchQbc() 2A976A69B8 ? 000000000 ?
7FBFFF7C10 ? 000000038 ?
000000000 ? 000000000 ?
qkadrv()+6219 call qkadrv() 2A972E9D08 ? 000000001 ?
7FBFFF7C10 ? 000000038 ?
000000000 ? 000000000 ?
opitca()+1875 call qkadrv() 2A972EAAB8 ? 000000001 ?
7FBFFF7C10 ? 000000038 ?
000000000 ? 000000000 ?
kksLoadChild()+9360 call opitca() 2A9779FF20 ? 319327A70 ?
7FBFFF7C10 ? 000000038 ?
000000000 ? 000000000 ?
kxsGetRuntimeLock() call kksLoadChild() 0067B4700 ? 259299DD8 ?
+1353 7FBFFFA4D0
? 000000000 ?
30DD70C10 ? 2A9779FF20 ?
kksfbc()+15084 call kxsGetRuntimeLock() 0067B4700 ? 2A9779FF20 ?
7FBFFFA4D0 ? 000000000 ?
30DD70C10 ? 2A9779FF20 ?
kkspsc0()+1548 call kksfbc() 2A9779FF20 ? 000000003 ?
000000108 ? 2A975D2188 ?
00000070D ? 000000000 ?
kksParseCursor()+14 call kkspsc0() 2A97311D08 ? 2A975D2188 ?
2
00000070D ? 000000003 ?
300A400000006 ?
0000300A4 ?
opiosq0()+1641 call kksParseCursor() 7FBFFFAF18 ? 2A975D2188 ?
00000070D ? 000000003 ?
300A400000006 ? 0000300A4 ?
kpooprx()+315 call opiosq0() 000000003 ? 00000000E ?
7FBFFFB108 ? 0000000A4 ?
300A400000006 ? 0000300A4 ?
kpoal8()+799 call kpooprx() 7FBFFFE2B4 ? 2A975D2188 ?
00000070C ? 000000001 ?
000000000 ? 0000300A4 ?
opiodr()+984 call kpoal8() 00000005E ? 000000017 ?
7FBFFFE2B0 ? 000000001 ?
000000001 ? 0000300A4 ?
ttcpip()+1012 call opiodr() 00000005E ? 000000017 ?
7FBFFFE2B0 ? 000000000 ?
0059DF750 ? 0000300A4 ?
opitsk()+1322 call ttcpip() 0067BC3D0 ? 000000003 ?
7FBFFFE2B0 ? 000000000 ?
7FBFFFDDA8 ? 7FBFFFE418 ?
opiino()+1026 call opitsk() 000000003 ? 000000000 ?
7FBFFFE2B0
? 000000001 ?
000000000 ? 683197600000001 ?
opiodr()+984 call opiino() 00000003C ? 000000004 ?
7FBFFFF478 ? 000000000 ?
000000000 ? 683197600000001 ?
opidrv()+547 call opiodr() 00000003C ? 000000004 ?
7FBFFFF478 ? 000000000 ?
0059DF200 ? 683197600000001 ?
sou2o()+114 call opidrv() 00000003C ? 000000004 ?
7FBFFFF478 ? 000000000 ?
0059DF200
? 683197600000001 ?
opimai_real()+163 call sou2o() 7FBFFFF450 ? 00000003C ?
000000004 ? 7FBFFFF478 ?
0059DF200 ? 683197600000001
?
main()+116 call opimai_real() 000000002 ? 7FBFFFF4E0 ?
000000004 ? 7FBFFFF478 ?
0059DF200 ? 683197600000001 ?
__libc_start_main() call main() 000000002 ? 7FBFFFF4E0 ?
+219
000000004 ? 7FBFFFF478 ?
0059DF200 ?
683197600000001 ?
_start()+42 call __libc_start_main() 0007139F8 ? 000000002 ?
7FBFFFF628 ? 0052B4BD0 ?
000000000 ? 000000002 ?
--------------------- Binary Stack Dump ---------------------
導致錯誤的原因是由於SQL語句中出現了ROWNUM,因此Oracle嘗試使用FIRST_ROW_N最佳化模式來進行CBO執行計劃的評估,並導致了錯誤。Oracle在文件Bug 7378625 - Assorted Dumps and Wrong Results from first_rows_k optimization [ID 7378625.8]對這個問題進行了描述。
該問題確認影響10.2.0.4和11.1.0.7版本,並在11.2.0.1和10.2.0.5中進行了解決。除了按照補丁外,對於出現ROWNUM的查詢情況,可以考慮設定隱含引數_optimizer_rownum_pred_based_fkr為FALSE來解決。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-747856/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORA-7445(opipls)錯誤
- ORA-7445(_kkqtnloCbk)錯誤QT
- ORA-7445(kglLockIterator)錯誤
- ORA-7445(qerixGetKey)錯誤
- ORA-7445(opitca)錯誤
- ORA-7445(kqlSubheapPin)錯誤APP
- ORA-7445(ksxpsigosderr)錯誤Go
- ORA-7445(_intel_fast_memcpy.A)錯誤IntelASTmemcpy
- 儲存故障時的ORA-7445錯誤
- ORA-7445(dbgrmqmqpk_query_pick_key)錯誤MQ
- 同一個SQL引發多個ORA-7445錯誤SQL
- 插入排序雜湊CLUSTER表出現ORA-7445錯誤排序
- ORA-600(kcblasm_1)和ORA-7445(kxhfNewBuffer)錯誤ASM
- ORA-600(1403)和ORA-7445($cold_kslgetsl)錯誤
- ORA-600(kcbshlc_1)和ORA-7445(kggchk)錯誤GC
- ORA-7445(ACCESS_VIOLATION)(unable_to_trans_pc)(UNABLE_TO_WRITE)錯誤
- ORA-7445(jtc_active_clint_init_ncomp_slots)錯誤
- sql出現結果集錯誤以及出現ora-600或者ora-7445錯誤的解決方法思路SQL
- Windows環境下的ORA-7445(ACCESS_VIOLATION)和ORA-4030錯誤Windows
- [重慶思莊每日技術分享]-建立物化檢視時出現ORA-7445錯誤
- 資料字典不一致造成大量ORA-600和ORA-7445錯誤
- Troubleshoot an ORA-7445 Error Using the ORA-7445 Lookup ToolError
- ORACLE 異常錯誤 錯誤號大全Oracle
- nginx 錯誤除錯Nginx除錯
- rac錯誤除錯除錯
- PbootCMS錯誤提示:執行SQL發生錯誤!錯誤:no such column: def1bootSQL
- ORACLE 錯誤Oracle
- 前端錯誤前端
- JAVA 錯誤Java
- JavaFx 錯誤Java
- 記錄一次根據錯誤資訊無法定位錯誤的錯誤
- Promise基礎(消化錯誤和丟擲錯誤)Promise
- ora-600 / ora-7445 loopOOP
- 錯誤和異常 (一):錯誤基礎知識
- vsftpd 錯誤:530 and 500 錯誤解決方法FTP
- JavaScript錯誤資訊JavaScript
- PHP捕捉錯誤PHP
- 錯誤處理