• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    oracle报错(ORA-00600)问题处理

    告警日志里这两天一直显示这个错误:

    ORA-00600:internalerrorcode,arguments:[kcblasm_1],[103],[],[],[],[],[],[]
    TueAug1209:20:17CST2014
    Errorsinfile/u01/app/oracle/admin/orcl/udump/orcl_ora_29974.trc:
    ORA-00600:internalerrorcode,arguments:[kcblasm_1],[103],[],[],[],[],[],[]
    TueAug1209:30:17CST2014
    Errorsinfile/u01/app/oracle/admin/orcl/udump/orcl_ora_30084.trc:
    ORA-00600:internalerrorcode,arguments:[kcblasm_1],[103],[],[],[],[],[],[]
    TueAug1209:40:17CST2014
    Errorsinfile/u01/app/oracle/admin/orcl/udump/orcl_ora_29919.trc:
    ORA-00600:internalerrorcode,arguments:[kcblasm_1],[103],[],[],[],[],[],[]
    

    网上查的解决办法:

    1:临时的解决方法
    如果执行计划中是hashjoin造成的,在会话层中设置"_hash_join_enable"=false,如:altersessionset"_hash_join_enabled"=false亦可;

    如果执行计划是hashgroupby造成的,设置"_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的版本,打PATCH7612454来避免改错误(该补丁替换lib中的kcbl.o文件)。

    通过临时解决办法解决问题示例:

    追踪报警日志里提示的trace文件,找到导致出现此错误的sql语句

    ORA-00600:internalerrorcode,arguments:[kcblasm_1],[103],[],[],[],[],[],[]
    CurrentSQLstatementforthissession:
    

    格式化后的sql语句如下:

    SELECTINDENTDATE,
    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
    FROMELITE.TABCINDENTA
    LEFTJOINELITE.OBJECTIVEB
    ONA.RELATION_ID=B.OBJECTIVE_GUID
    LEFTJOINELITE.CUSTOMERC
    ONA.CUSTOMER_GUID=C.CUSTOMER_GUID
    WHERE(INDENTDATEBETWEEN:1AND:2ORB.MODIFIEDDATEBETWEEN:3AND:4);
    

    将变量:1,:2,:3,:4替换成具体的值执行:

    SELECTINDENTDATE,
    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
    FROMELITE.TABCINDENTA
    LEFTJOINELITE.OBJECTIVEB
    ONA.RELATION_ID=B.OBJECTIVE_GUID
    LEFTJOINELITE.CUSTOMERC
    ONA.CUSTOMER_GUID=C.CUSTOMER_GUID
    WHERE(INDENTDATEBETWEEN'2012-06-19'AND'2012-08-19'ORB.MODIFIEDDATEBETWEEN'2012-06-19'AND'2012-08-1');
    
    

    执行报错:

    解决办法:

    altersessionset"_hash_join_enabled"=false;
    
    

    altersessionset"_gby_hash_aggregation_enabled"=false
    

    --先尝试一种,如果一种解决了,就没必要设置另外一种了。

    然后再次执行上面的查询语句,不报错啦,嘎嘎

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

    让开发人员在程序里加上这条命令即可。

    您可能感兴趣的文章:
    • win10 oracle11g安装报错问题集合 附解决方法
    • Oracle+Mybatis的foreach insert批量插入报错的快速解决办法
    • win x64下安装oracle 12c出现INS-30131报错的解决方法
    • Oracle SQL Developer连接报错(ORA-12505)的解决方案(两种)
    • oracle 实际值超过数据库某个字段指定长度报错解决
    • oracle12c安装报错:PRVF-0002的解决方法
    • Oracle报错记录被另外一个用户锁定的解决方案
    上一篇:深入剖析哪些服务是Oracle 11g必须开启的
    下一篇:MSSQL与Oracle数据库事务隔离级别与锁机制对比
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    oracle报错(ORA-00600)问题处理 oracle,报错,ORA-00600,问题,