oracle删除数据后回收磁盘空间

公司有台IBM小型机做测试数据库,近期磁盘空间已经不足,考虑到部分数据库用户已经不再使用,所以决定做一次数据库清理工作。


第一次清理:

首先考虑删除无用的用户和无用的表空间

--删除用户

drop user user_name cascade;

--删除表空间

drop tablespace space_name  including contents and datafile cascade constraints;


删除表空间之后,df -g 查看磁盘空间并没有被释放,百度了下得知这种情况是由于句柄还未被释放,等句柄被释放即可。若要着急用的话,可以重启数据库,因为测试库,所以我就直接重启啦。

重启数据库

sqlplus / as sysdba

shutdown immediate;

--启动数据库

startup;


第二次清理:

删除了无用的表空间,只释放出了不到10GB的磁盘空间,检查用户和表空间的关系,发现某些较多的用户公用表空间,但是其中一些用户已经不再使用,所以决定回收这些用户数据。

你可能感兴趣的:(oracle删除数据后回收磁盘空间)