ORACLE数据库使用一段时间后,必然面临着空间减少,直到不够用的时候,这个时候你有两个选择。
1.增加硬盘空间,购买新的存储。这个涉及到资金和机器本身还是否有接口。
2.删除部分历史数据,释放空间。
那如果是按照第二种情况来处理,又分2种情况。
1.直接把整个表的数据删除,使用TRUNCATE命令,这个比较简单,能够立即释放出空间。
而如果你不能把整个表的数据都删除,只能删除部分历史数据,就需要使用第二种方法。
2.使用DELETE 方法,加上WHERE条件,删除部分数据。这种方法删除部分的表空间不会释放。
如果想要释放这部分的空间,你需要手动执行下面的语句。也是分两步完成。
1.开启允许行移动, 此操作后允许rowid改变。
执行语句:alter table 你的表名 enable row movement;
2.回收空间。
执行语句:alter table 你的表名 shrink space;
发表评论