ORA-00600 6856

APPLIES TO

Oracle Database - Enterprise Edition - version 11.2.0.4.0

SYMPTOMS

数据库异常宕机重新启动后,实例自动关闭无法拉起,告警日志 alert_orcl.log 出现以下错误:

time='2022-01-15T17:37:25.255 08:00' org_id='oracle' comp_id='rdbms'type='UNKNOWN' level='16' host_id='localhost.localdomain'host_addr='::1' pid='53213'
ORACLE Instance xxxxx (pid = 25) - Error 607 encountered while recovering transaction (37, 8) on object 5341044.

time='2022-01-15T17:37:25.255+08:00' org_id='oracle' comp_id='rdbms'type='UNKNOWN' level='16' host_id='localhost.localdomain'host_addr='::1' pid='53213'
Errors in file /u01/app/oracle/diag/rdbms/xxxxx/xxxxx/trace/xxxxx_smon_53213.trc:
ORA-00607: Internal error occurred while making a change to a data block
ORA-00600: internal error code, arguments: [6856], [0], [0], [], [], [], [], [], [], [], [], []

time='2022-01-15T17:37:34.483+08:00' org_id='oracle' comp_id='rdbms'type='UNKNOWN' level='16' host_id='localhost.localdomain'host_addr='::1' pid='53165'
Instance Critical Process (pid: 25, ospid: 53213, SMON) died unexpectedly

time='2022-01-15T17:37:34.526+08:00' org_id='oracle' comp_id='rdbms'type='UNKNOWN' level='16' host_id='localhost.localdomain'host_addr='::1' pid='53165'
PMON (ospid: 53165): terminating the instance due to error 474

数据库实例在恢复5341044对象的事务时异常,导致SMON进程退出。

CAUSE

  • ORA-600 [6006] ORA-600 [6856] During Startup Instance, Followed by Termination by SMON (Doc ID 549000.1)

SOLUTION

生成 pfile 文件,并添加禁止 smon 恢复事务的 event

create pfile='/tmp/pfile01.ora' from spfile;

echo '*.event="10513 trace name context forever, level 2"' >> /tmp/pfile01.ora

用修改后的 pfile 拉起实例,确认 smon 恢复事务的对象

startup pfile='/tmp/pfile01.ora';

select object_id, data_object_id, owner, object_name from dba_objects where object_id = 5341044 or data_object_id=5341044 ;

删除对象,清空回收站经客户确认,对象为 5341044 的表数据从其他库中抽取了,此表可以删除

drop table xxxxx;
purge dba_recyclebin;

关闭数据库用原 spfile 文件起动数据库

shutdown immediate
startup
select * from v$recover_file;
alter system switch logfile;