问题症状:
1.出现问题前编译,执行存储过程都是没问题的
2.突然间执行和编译存储过剩报错
3.多试几次或者过会 编译和执行存储过程,又不报错了
4.没有与之冲突的程序在执行
5.网络也正常,在服务器本机操作也报错
6.重启服务器后,问题依然存在
7.报错内容: ORA-00600 内部错误代码,参数 [kcbnew_3] [18] [] [] [] [] [] []编译和执行存储过程 间歇性报错 求高人指点,非常感谢

解决方案 »

  1.   

    看看你的数据库参数配置,尤其是sga和pga方面的,有可能是这方面的原因。其实最大的原因有可能就是你的版本不是商业版的(不是买的),补丁没打全(有的补丁是要花钱的),后面的小版本比较低
      

  2.   

    服务器物理内存16GB
    SGA:
    共享池:304MB
    缓冲区高速缓存:800MB
    大型池:32MB
    java池:32MB
    SGA总容量:1170.435MB
    SGA的最大大小:1282.572MBPGA:
    总计PGA目标:320MB
    分配的当前PGA:59922KB
    分配的最大PGA:84485KB
    高速缓存命中百分比:95.58%
    从SGA和PGA的数据看,内存是够用的至于版本问题,我们这边是公司买的正版Oracle9.2.0.1.0,自07年装机后,就没升级过补丁,一直没问题,这突然出现间歇性的报错问题,若是版本问题,怎会3年后出现问题呢?请高人指教。
      

  3.   

    看看你的存储过程是不是用了比较高的版本的函数,刚好这个函数在这个oracle版本上不稳定
      

  4.   

    整个存储过程只留下
    CREATE OR REPLACE PROCEDURE proc_aaa IS
    BEGIN
    COMMIT;
    END;依然在报ORA-00600,内部错误代码,参数 [kcbnew_3] [20] 错误
      

  5.   

    现在其他的存储过程也有问题
    当个的update语句也有问题
    例如:
    UPDATE sbu_payoff_detail t
     SET t.net_income = t.other_hfyt
     WHERE t.report_date = '2010-09-01'
     AND t.unit_id = '19cc1b:10a8d0d6117:-7ffe'
     AND t.prod_kind_code = '999';
    也报同样的错误,一会报错一会不报错的
      

  6.   

    一般ora-600的错误要么是语句的问题要么是bug
      

  7.   

    你去查看alert.log文件看到底是那条最先引起这个错误 
      

  8.   

    这是一个bug,oracle公司在9.2.0.4的补丁上修改了。你们的数据库是不是对表空间做过什么动作?
      

  9.   

    刚才上网查了下:
    在Oracle的一些版本上Buffer overflow 的漏洞,可被恶意利用造成缓冲区溢出从症状上看应该是缓冲区溢出我已增加SGA的缓冲区高速缓存,再跟踪一天看看,实在不行就换10g
      

  10.   

    跟踪3天后,报错的问题没有再出现,很奇怪得就消失了....
    感谢majy和wkc168的支持