emagent导致删除的文件空间无法释放

这个问题本来还以为是偶然遇到的一次,但没想到这已经是第二次发生了。因此我想这估计不是偶发案例,应该写出来和大家共享一下了。

今天接到一个ticket,说前一天晚上做chang,删除了部分分区,清除了表空间,在清除表空间的时候是用drop tablespace including contents and datafiles。在操作系统层面看,那些datafile已经被删除了,但是空间使用率却一直没有下去。似乎删除了数据文件之后,那些文件的句柄还是被某些进程hold住,导致操作系统层面文件系统无法释放。下面我们来看一下诊断过程:

该数据库是11.2.0.2的版本的3节点RAC,共享文件系统和心跳是有veritas cluster控制,RAC的cluster是CRS,每个server上还跑了10.2.0.5的emagent。

先来看看处理前的文件系统使用情况:

然后我们用fuser这个命令来检查文件句柄的情况,在solaris下,在veritas的文件系统中,我们可以用fuser -c [mount_point] 来检查每个挂载点的文件句柄情况。

由于是RAC,我们必须在每个节点的server上都进行检查,这点很重要。往往就是查了一个server没有发现hold住句柄的process,就认为是OS的问题,可能需要重启该主机了。

在第一个server上:

在第二个server上:

我们看到有2个进程hold住文件系统了。我们先来看看第三个server上有没有之后,再来细究这几个进程。

在第三个server上:

ok,我们只在第二个节点的server上发现了问题,我们进一步来查看这些进程的详细情况:

我们看到是emagent hold住了文件系统的句柄,导致文件系统空间无法释放。我们重启emagent进程后,文件系统释放。

相关文章

一条评论

发表回复

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

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