今天在进行Oracle数据库清空后,磁盘空间没有释放,在查了一些资料后解决该问题!
首先,我执行删除数据库用户命令:drop user username cascade;
接着,执行了删除表空间命令:drop tablespace tablespacename including contents and datafiles;
但是在linux服务器上执行:df -h 发现并没有释放表空间。
然后通过lsof -n | grep deleted 命令发现如下图看到很多进程在占用删除的oracle数据文件;
查看v$session status='inactive'
的进程,
select * from v$session where status='inactive';
再通过v$process
查找出对应的进程
select * from v$process where addr='.......';
根据sid,serial#kill掉相关进程
alter system kill session '17243,20';
这样空间就是放掉了!