今天迁移了Oracle数据库,在执行以下sql时,报错 ORA-00600: internal error code, arguments: [19004]
select t1.*, t2.* from Table1 t2 left join Table2 t2 on t1.id = t2.id
通过查询报错日志 /data/app/oracle/diag/rdbms/mydb01/myDB01/trace/alert_myDB01.log
看到如下报错信息
Fri Jun 24 13:22:16 2022
Errors in file /data/app/oracle/diag/rdbms/mydb01/myDB01/trace/myDB01 _ora_20179.trc (incident=46002):
ORA-00600: internal error code, arguments: [19004], [], [], [], [], [], [], [], [], [], [], []
Incident details in: /data/app/oracle/diag/rdbms/mydb01/myDB01/incident/incdir_46002/ myDB01 _ora_20179_i46002.trc
Fri Jun 24 13:22:17 2022
Sweep [inc][46002]: completed
Sweep [inc2][46002]: completed
由于表错误的统计信息和列的统计直方图触发此 BUG ,可以删除 SQL 中对应表的统计信息和统计直方图临时解决此问题,或者直接升级数据库跳过此 BUG ;
execute dbms_stats.delete_table_stats(ownname=>'user',tabname=>'tabla');