可能是两三个月之前的事了。每晚夜间批处理做完时产生了很大的日志文件,事实上又没什么用,因为夜间批处理前后都会做冷备份。这些日志文件也要备份,导致文件复制时间很长,当时就想让数据库在做夜间批处理时不做日志,误以为打开数据库后运行“archive log stop ”就可以了,结果做处理时日志满了后,后续的操作运行不下去了。数据库根据命令重启后才恢复正常。应该用“alter database noarchivelog”就好了。故障发生的那天上午刚好我去体检,接到电话后也很是紧张,回去后检查日志,居然是两个原因造成的:一个是kill session的时候数据库停止了;另一个才是日志满后批处理运行不下去。幸好其它项目也发生了kill session把数据库停止的状况,据说是kill用户session的时候把sys的session删掉了,数据库就关闭了。对应这个问题,就把kill session的命令修改了,排除了所有sys的session,结果却留下了另一个隐患,以后再写这件事了。因为kill session的问题,日志满后数据库运行不了的问题别人也忽略了,都以后发生故障的时间是巧合了。也许只有我才知道是两个原因造成了这次的故障。
ArchiveLog的对应
最新推荐文章于 2024-07-18 07:05:32 发布