oracle 10.2.0.5 平臺上ORA-600錯誤
專案中,客戶執行以下語句,出現ORA-600錯誤,具體如下;
select t1.* from
(select * from A.B where etl_date=20110526) t1
where not exists
(
select * from A.B t2
where etl_date=20110527 and t1.tx_date=t2.tx_date and t1.open_date=t2.open_date and t1.done_no=t2.done_no
)
;
ora-00600: internal error code, arguments:[kcblasm_1],[103],[],[]
通過trace 檔案檢視call stack.
使用call stack命令,從metalink相關文件中查詢符合所發生問題的描述:
在10.2.0.5版本中,所有平臺環境下補丁程式P7612454,該補丁是解決hash
join時候,Direct IO最大限制4096,我們從執行計劃中可以看出,hash join的build
table表的cardinality非常大,這個是造成該問題的罪魁禍首。解決方案如下:
1、11.2版本解決了上述問題
2、升級補丁P7612454,該補丁替換lib中的kcbl.o檔案
3、如果執行計劃中是hash join造成的,在會話層中設定"_hash_join_enable"
=false,如果執行計劃是hash group by 造成的,設定"_gby_hash_aggregation_
enable"=false
4、修改SQL語句,儘量減少build table的cardinality的值,可以避免該問題的生成
select t1.* from
(select * from A.B where etl_date=20110526) t1
where not exists
(
select * from A.B t2
where etl_date=20110527 and t1.tx_date=t2.tx_date and t1.open_date=t2.open_date and t1.done_no=t2.done_no
)
;
ora-00600: internal error code, arguments:[kcblasm_1],[103],[],[]
通過trace 檔案檢視call stack.
使用call stack命令,從metalink相關文件中查詢符合所發生問題的描述:
在10.2.0.5版本中,所有平臺環境下補丁程式P7612454,該補丁是解決hash
join時候,Direct IO最大限制4096,我們從執行計劃中可以看出,hash join的build
table表的cardinality非常大,這個是造成該問題的罪魁禍首。解決方案如下:
1、11.2版本解決了上述問題
2、升級補丁P7612454,該補丁替換lib中的kcbl.o檔案
3、如果執行計劃中是hash join造成的,在會話層中設定"_hash_join_enable"
=false,如果執行計劃是hash group by 造成的,設定"_gby_hash_aggregation_
enable"=false
4、修改SQL語句,儘量減少build table的cardinality的值,可以避免該問題的生成
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/354732/viewspace-697070/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORA-600(kffmXpGet)錯誤
- Oracle 10.2.0.5 opatch報錯Oracle
- Oracle 不完全恢復遇到的ORA-600錯誤Oracle
- oracle ora-600 Ktspgsb-1 錯誤處理案例Oracle
- ORACLE11G ORA-600[kkdcacr ptn_kxcp]錯誤Oracle
- ORA-600(kcbgcur_1)錯誤GC
- ORA-600 [ttcgcshnd-1 ]錯誤GC
- ORA-600(kclgclk_7)錯誤GC
- ORA-600(kcbnew_3)錯誤
- ORA-600(qersqCloseRem-2)錯誤REM
- ORA-600(qctopn1)錯誤
- ORA-600(kcblasm_1)錯誤ASM
- ORA-600(qkaffsindex5)錯誤Index
- ORA-600(kghuclientasp_03)錯誤client
- ORA-600(ttcgcshnd-2)錯誤GC
- ORA-600(kolaslGetLength-1)錯誤
- ORA-600(kghfremptyds)和ORA-600(kghasp1)錯誤REM
- CentOS 5.6 升級 10.2.0.5 錯誤解決CentOS
- ORA-600(kssadd: null parent)錯誤Null
- ORA-600(504)(row cache objects)錯誤Object
- ORA-600(ktrgcm_3)錯誤GC
- ORA-600(krvxdds: duplicated session not)錯誤Session
- ORA-600(kjxgrdecidemem1)錯誤IDE
- ORA-600(kfioUnidentify01)錯誤IDE
- ORA-600(qsmqSetupTableMetadata-2)錯誤MQ
- ORA-600(kcratr_scan_lastbwr)錯誤AST
- ORA-600(ksnpost:ksnigb)錯誤
- ORA-600(evapth : unexpected evaluation)錯誤APT
- ORA-600(qkacon:FJswrwo)錯誤JS
- ORA-600(KSFD_DECAIOPC)和ORA-600(kfioReapIO00)錯誤AIAPI
- ORA-600(kocgor077)錯誤Go
- ora-600內部錯誤的型別型別
- ORA-600(kkoipt:invalid join method)錯誤
- ORA-600[6122]錯誤處理
- ORA-600(krboReadBitmap_badbitmap)錯誤
- ORA-600(kcbchg1_12)和ORA-600(kdifind:kcbget_24)錯誤
- ORA-600(ktfbbsearch-8)和ORA-600(kewrose_1)錯誤ROS
- ORA-600(kjbrchkpkeywait:timeout)和ORA-600(kclcls_8)錯誤AI