不要删除你所有的归档日志

今天遇到一个问题,同事来说归档目录已经全部删除了,但是归档目录的大小还是100%,且执行shutdown immediate挂死。

同时alertlog中也在不断的报错:

引起该问题的主要原因,就是在/arch目录下,使用了rm *命令来删除归档,但是当前正好有归档进程(arch)正在写出,rm后文件系统的句柄无法释放,因此空间也没有释放。

此时我们用shutdown immediate命令无法关闭数据库,这是因为,在现在的状态下,arch已经被撑爆,所有组的redolog均为非inactive状态,shutdown immediate需要做checkpoint,checkpoint会将dirty buffer中的东西写入到db buffer,lgwr的触发条件之一就是dbwr进程写db file,此时,lgwr发现所有的redolog都是非inactive状态,都不能写,继续寻求arch切出,以期待能写redolog。而此时arch目录爆满,因此就报上述的错了。

我们用shutdown abort关闭数据库后,空间就释放了。

我们在删除归档的时候,一定不能全部删除,一定要留最后一个归档,以防万一。最安全的方法,当然是在rman中用delete input删除了。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据