1、现象:

研发同事使用的oracle数据库(windows+11.2.0.1单机环境)连续两三天在使用过程中莫名其妙宕机,重启运行一段时间后就会挂掉。

数据库日志中存在如下报错信息:

ORA-00600: internal error code, arguments: [13013], [5001], [268], [8452274], [7], [8452274], [17], [], [], [], [], []

2、原因:

数据字典表SYS.SMON_SCN_TIME索引损坏,改数据字典用于维护数据表SCN和时间的关系。

3、解决方式:

1)以sys用户登录数据库,通过如下sql验证SMON_SCN_TIME索引是否损坏:

ANALYZE TABLE smon_scn_time VALIDATE STRUCTURE;

ANALYZE TABLE smon_scn_time VALIDATE STRUCTURE CASCADE ONLINE; 

若返回报错信息(错误代码一般为Ora-1499),则证明SMON_SCN_TIME表上至少有一个索引已损坏。

2)重建索引:

ALTER INDEX SMON_SCN_TIME_TIM_IDX REBUILD ONLINE;
ALTER INDEX SMON_SCN_TIME_SCN_IDX REBUILD  ONLINE;

3)重新分析表:

ANALYZE TABLE smon_scn_time VALIDATE STRUCTURE CASCADE ONLINE;

若重新分析表后,不再报错,则证明修复成功,后续继续观察数据库是否再有自动宕机情况。

采用上述步骤,数据库修复成功,若仍存在问题,可尝试如下方式重建索引:

drop index "SYS"."SMON_SCN_TIME_TIM_IDX";
drop index "SYS"."SMON_SCN_TIME_SCN_IDX";
CREATE UNIQUE INDEX "SYS"."SMON_SCN_TIME_TIM_IDX" ON "SYS"."SMON_SCN_TIME" ("TIME_MP") tablespace sysaux;
CREATE UNIQUE INDEX "SYS"."SMON_SCN_TIME_SCN_IDX" ON "SYS"."SMON_SCN_TIME" ("SCN") tablespace sysaux;

4、mos文档:

Doc ID 28185.1

Doc ID 1361872.1

更多推荐