早上,开发人员提出一个问题,执行下面的语句时,提示600错误:
update db_testresultinfo_old set f_depreagentoutlay = 0, f_depamtreagentoutlay = 0
where  f_inputdate2 between to_date('2010-03-01 00:00:01', 'yyyy-mm-dd hh24:mi:ss') and
    to_date('2010-03-31 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
 
ORA-00600: 内部错误代码, 参数: [6749], [3], [18051454], [18], [], [], [], []
 
这个表的记录有600多万,实际更新大概100多万记录。
 
请教群里高手,提出一个删除统计信息的方法。
 
现象:报错ORA-00600: 内部错误代码,参数: [], [], [], [], [], [], [], []
以DBA身份登录执行:
execute dbms_stats.delete_schema_stats('ZJLM_USER');
ZJLM_USER 是你报错的那个表所属的oracle用户
我没有敢做SCHEMA的删除,重新搜集了下该表的统计信息 ,再次更新时就成功了。以下是执行步骤:
SQL> exec dbms_stats.gather_table_stats(ownname => 'KMS',tabname=>'DB_TESTRESULTINFO_OLD');
 
PL/SQL procedure successfully completed
 
 
SQL> update db_testresultinfo_old  
                 set   f_depreagentoutlay = 0,
                          f_depamtreagentoutlay = 0
                 where  f_inputdate2
                     between  to_date('2010-03-01 00:00:01', 'yyyy-mm-dd hh24:mi:ss')  
                     and   to_date('2010-03-01 13:59:59', 'yyyy-mm-dd hh24:mi:ss')
 
2287 rows updated