今天删除了一个ORACLE的表空间文件,示按标准从ORACLE内进行删除,只是把物理文件给 rm -rf 了, 结果看目录的大小减少了,但看分区的信息时,空间还是占了那么多。 后来在网上查了,解决方法如下: 执行命令: lsof | grep 你要删除的操作系统文件名 就会看到类似如下信息:
oracle 12713 oracle 12u REG 253,1 22260228096 19234817 /data/oracle/.../pcds01.dbf (deleted)
说明操作系统正在进行删除的清理工作, 把所有(delete)状态的都kill掉,注意这里面有一些oracle数据库自身的进程的不要kill,然后等三分钟,空间就释放出来了.附lsof命令的用法:
其实实只要用ps ax |grep 12713 把各个进程都查一偏,找到
[root@beta1 beta1]# ps ax |grep 14899 这种情况的进程,然后:kill -9 14899
再用df -h 查看,空间正一点一点释放,
如果ps ax |grep 列出的是: 12713 ? Ss 0:55 oraclepcds (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) 则不能删除,这是ORACLE自身的进程。 (责任编辑:IT) |