最近測試環境運作一個存儲過程,資料庫報出600錯誤,在csdn 查到http://blog.itpub.net/4227/viewspace-1060644/
以下為原文:
客戶11.2.0.3 RAC for Aix上出現的錯誤。
[@more@]
在客戶環境中,上述兩個錯誤都出現了:
Sun May 19 01:20:41 2013
Errors in file /oracle/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_j003_32468.trc (incident=1002135):
ORA-00600: 内部錯誤代碼, 參數: [kdifind:kcbget_24], [5296768], [1], [0], [1], [], [], [], [], [], [], []
ORA-06512: 在 "CP_TMS.TMP_P_TMS_MAIL_AGENCY_OUT", line 386
ORA-06512: 在 line 2
Incident details in: /oracle/app/oracle/diag/rdbms/orcl/orcl1/incident/incdir_1002135/orcl1_j003_32468_i1002135.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
.
.
Thu May 23 05:46:23 2013
Errors in file /oracle/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_j020_622.trc (incident=1006416):
ORA-00600: 内部錯誤代碼, 參數: [kcbchg1_12], [], [], [], [], [], [], [], [], [], [], []
ORA-06512: 在 "CP_TMS.TMP_P_TMS_MAIL_AGENCY_OUT", line 384
ORA-06512: 在 line 2
Incident details in: /oracle/app/oracle/diag/rdbms/orcl/orcl1/incident/incdir_1006416/orcl1_j020_622_i1006416.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
可以看到,兩個錯誤都發生在JOB調用過程中,且錯誤發生在同一個過程上。根據MOS文檔,Bug 13464002 - ORA-600 [kcbchg1_12] or ORA-600 [kdifind:kcbget_24] [ID 13464002.8],Oracle在嘗試進行非連續性的多塊讀時可能碰到這個錯誤。
确認影響的版本包括11.1.0.7、11.2.0.1、11.2.0.2和11.2.0.3,Oracle在11.2.0.3.4、11.2.0.4和12.1中修正了這個bug。此外還可以通過設定隐含參數“_db_file_no_contig_mblock_read_count”=0來避免這個錯誤的産生。
通過此文以系統alert log确定為bug ,然後通過13464002在metalink 下載下傳相應的更新檔包
alert log
下載下傳patch
patch 包:p13464002_112030_AIX64-5L.zip
1.打patch 包,首先确認此patch是否己經打過
$ORACLE_HOME/OPatch/opatch lsinventory
2.将此補放到OPatch 目錄,并解壓,檢視目錄中README.txt(13464002)
unzip p13464002_112030_AIX64-5L.zip
3.因為測試環境為單機環境比較簡單,是以直接進入目錄打patch就行
4.打完patch,需要重新開機資料庫,然後重新執行此存儲過程,己經能成功執行