smon_scn_time表回滚异常导致ORACLE宕机
最近在维护客户oracle数据库系统时,发现数据库频繁宕机,每次重启实例后大约运行1小时30分钟左右就宕机了,检查发现监听还在,实例被杀。
通过查看日志发现smon进程被杀掉,在更新smon_scn_time系统表时回滚出现异常。
smon_scn_time表中数据时间出现问题,导致SMON进程异常资源耗尽被系统杀掉。
解决方法如下:
清空cluster时,会同时删除smon_scn_time表数据
11g为smon_scn_to_time_aux
truncate cluster smon_scn_to_time_aux;
10为smon_scn_to_time
truncate cluster smon_scn_to_time;
查看smon_scn_time表数据是否被清空
select count(*) from smon_scn_time;
oracle会重建此表数据,每5分钟插入一条数据