oracle使用delete删除表内数据后回收表空间

 admin   2023-03-06 12:26   152 人阅读  0 条评论

ORACLE数据库使用一段时间后,必然面临着空间减少,直到不够用的时候,这个时候你有两个选择。

1.增加硬盘空间,购买新的存储。这个涉及到资金和机器本身还是否有接口。

2.删除部分历史数据,释放空间。

那如果是按照第二种情况来处理,又分2种情况。

1.直接把整个表的数据删除,使用TRUNCATE命令,这个比较简单,能够立即释放出空间。

而如果你不能把整个表的数据都删除,只能删除部分历史数据,就需要使用第二种方法。

2.使用DELETE 方法,加上WHERE条件,删除部分数据。这种方法删除部分的表空间不会释放。

如果想要释放这部分的空间,你需要手动执行下面的语句。也是分两步完成。

1.开启允许行移动, 此操作后允许rowid改变。

执行语句:alter table 你的表名 enable row movement;

2.回收空间。

执行语句:alter table 你的表名 shrink space;


本文地址:https://liuchunjie.top/?id=522
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?