程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> ORA-00600: internal error code, arguments: [kcblasm_1], [103], [], [], [], [], [], [],ora-00600kcblasm_1

ORA-00600: internal error code, arguments: [kcblasm_1], [103], [], [], [], [], [], [],ora-00600kcblasm_1

編輯:Oracle教程

ORA-00600: internal error code, arguments: [kcblasm_1], [103], [], [], [], [], [], [],ora-00600kcblasm_1


告警日志裡這兩天一直顯示這個錯誤:

ORA-00600: internal error code, arguments: [kcblasm_1], [103], [], [], [], [], [], []

Tue Aug 12 09:20:17 CST 2014

Errors in file /u01/app/oracle/admin/orcl/udump/orcl_ora_29974.trc:

ORA-00600: internal error code, arguments: [kcblasm_1], [103], [], [], [], [], [], []

Tue Aug 12 09:30:17 CST 2014

Errors in file /u01/app/oracle/admin/orcl/udump/orcl_ora_30084.trc:

ORA-00600: internal error code, arguments: [kcblasm_1], [103], [], [], [], [], [], []

Tue Aug 12 09:40:17 CST 2014

Errors in file /u01/app/oracle/admin/orcl/udump/orcl_ora_29919.trc:

ORA-00600: internal error code, arguments: [kcblasm_1], [103], [], [], [], [], [], []

網上查的解決辦法:

1:臨時的解決方法
如果執行計劃中是hash join造成的,在會話層中設置"_hash_join_enable"=false,如:alter session set "_hash_join_enabled" = false亦可;  

如果執行計劃是hash group by 造成的,設置"_gby_hash_aggregation_enabled"=false
2:根本的解決方法
   2.1.優化sql語句,避免遇到bug;
   2.2.升級
     (1)將數據庫升級psu到10.2.0.5.4和11.2可以修正該問題
     (2)對於10.2.0.5.0到10.2.0.5.3的版本,打PATCH 7612454來避免改錯誤(該補丁替換lib中的kcbl.o文件)。 

通過臨時解決辦法解決問題示例:

追蹤報警日志裡提示的trace文件,找到導致出現此錯誤的sql語句

ORA-00600: internal error code, arguments: [kcblasm_1], [103], [], [], [], [], [], []

Current SQL statement for this session:

格式化後的sql語句如下:

SELECT INDENTDATE,

       INDENTGROUP,

       TRANSDATE,

       TRANSBY,

       TRANSGROUP,

       FEEDBACKBY,

       FEEDBACKGROUP,

       FINANCEDATE,

       FINANCEBY,

       FINANCEGROUP,

       TOTALCOST,

       A.TOTALPAY,

       PAY_CASH,

       PAY_POINTS,

       PAY_ADVANCE1,

       PAY_ADVANCE2,

       PAY_TYPE,

       TRANS_PAY,

       DISCOUNT_STAFF,

       DISCOUNT_SPECIAL,

       GAIN_CASH,

       GAIN_POINTS,

       GAIN_ADVANCE1,

       GAIN_ADVANCE2,

       TRANS_CUSTNAME,

       TRANS_TEL,

       TRANS_PROVINCE,

       TRANS_CITY,

       TRANS_ADDRESS,

       TRANS_ZIPCODE,

       TRANS_WEIGHT,

       TRANS_COMMENTS,

       INDENT_COMMENTS,

       INDENT_ID,

       A.PARTNER_GUID,

       A.PROXY_GUID,

       TRANS_TEL2,

       CUST_MEDIA_ID,

       CUST_PARTNER_GUID,

       CUST_PROXY_GUID,

       PARTNER_VALUE,

       PROXY_VALUE,

       CUST_PARTNER_VALUE,

       CUST_PROXY_VALUE,

       DEALBY,

       A.FAILREASON,

       ISFOOT,

       S_REASONID,

       DEALFAILREASON,

       A.PRE_FUND,

       MEDIA_CALLTYPE,

       PRE_ADVANCE,

       WEB_FLAG,

       NEED_INVOICE,

       INVOICE_TITLE,

       TRANS_AREA,

       ORDERTYPE,

       PAY_POINTSPRICE,

       A.MEDIA,

       USERDEFINEDSTATUS,

       CUSTOMERNAME,

       CUSTOMERID

  FROM ELITE.TABCINDENT A

  LEFT JOIN ELITE.OBJECTIVE B

    ON A.RELATION_ID = B.OBJECTIVE_GUID

  LEFT JOIN ELITE.CUSTOMER C

    ON A.CUSTOMER_GUID = C.CUSTOMER_GUID

 WHERE (INDENTDATE BETWEEN :1 AND :2 OR B.MODIFIEDDATE BETWEEN :3 AND :4);

 

將變量:1,:2,:3,:4替換成具體的值執行:

SELECT INDENTDATE,

       INDENTGROUP,

       TRANSDATE,

       TRANSBY,

       TRANSGROUP,

       FEEDBACKBY,

       FEEDBACKGROUP,

       FINANCEDATE,

       FINANCEBY,

       FINANCEGROUP,

       TOTALCOST,

       A.TOTALPAY,

       PAY_CASH,

       PAY_POINTS,

       PAY_ADVANCE1,

       PAY_ADVANCE2,

       PAY_TYPE,

       TRANS_PAY,

       DISCOUNT_STAFF,

       DISCOUNT_SPECIAL,

       GAIN_CASH,

       GAIN_POINTS,

       GAIN_ADVANCE1,

       GAIN_ADVANCE2,

       TRANS_CUSTNAME,

       TRANS_TEL,

       TRANS_PROVINCE,

       TRANS_CITY,

       TRANS_ADDRESS,

       TRANS_ZIPCODE,

       TRANS_WEIGHT,

       TRANS_COMMENTS,

       INDENT_COMMENTS,

       INDENT_ID,

       A.PARTNER_GUID,

       A.PROXY_GUID,

       TRANS_TEL2,

       CUST_MEDIA_ID,

       CUST_PARTNER_GUID,

       CUST_PROXY_GUID,

       PARTNER_VALUE,

       PROXY_VALUE,

       CUST_PARTNER_VALUE,

       CUST_PROXY_VALUE,

       DEALBY,

       A.FAILREASON,

       ISFOOT,

       S_REASONID,

       DEALFAILREASON,

       A.PRE_FUND,

       MEDIA_CALLTYPE,

       PRE_ADVANCE,

       WEB_FLAG,

       NEED_INVOICE,

       INVOICE_TITLE,

       TRANS_AREA,

       ORDERTYPE,

       PAY_POINTSPRICE,

       A.MEDIA,

       USERDEFINEDSTATUS,

       CUSTOMERNAME,

       CUSTOMERID

  FROM ELITE.TABCINDENT A

  LEFT JOIN ELITE.OBJECTIVE B

    ON A.RELATION_ID = B.OBJECTIVE_GUID

  LEFT JOIN ELITE.CUSTOMER C

ON A.CUSTOMER_GUID = C.CUSTOMER_GUID

WHERE (INDENTDATE BETWEEN '2012-06-19' AND '2012-08-19' OR B.MODIFIEDDATE BETWEEN '2012-06-19' AND '2012-08-1');

執行報錯:

 

解決辦法:

alter session set "_hash_join_enabled"=false;

 

alter session set  "_gby_hash_aggregation_enabled"=false

--先嘗試一種,如果一種解決了,就沒必要設置另外一種了。 

然後再次執行上面的查詢語句,不報錯啦,嘎嘎

 

成功啦,(*^__^*) 嘻嘻……

讓開發人員在程序裡加上這條命令即可。

 


Oracle登錄報錯:ORA-00600:internal error code,arguments:[6807],[AUDSES$],[144]

可能是AUDSES$ 這張數據字典基礎表受損了,而且由於你登錄的時候要訪問這張 SESSION登錄審計表的,所以就無法登錄了。

可以通過修復AUDSES$來解決該
Oracle登錄報錯:ORA-00600:internal error code,arguments:[6807]
問題

如果自己搞不定可以找詩檀軟件專業ORACLE數據庫修復團隊成員幫您恢復!

詩檀軟件專業數據庫修復團隊
 

ORACLE出現ORA-00600: internal error code, arguments: [qcsfbdnp:1]該怎解決

這個bug 和綁定變量有關,去掉綁定變量可以workaround,但要改程序。

另外可能與cursor_sharing參數的設置有關,具體要看alert.log

如果自己搞不定可以找詩檀軟件專業ORACLE數據庫修復團隊成員幫您恢復!

詩檀軟件專業數據庫修復團隊
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved