oracle数据库删除数据后手动释放表空间

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

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

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

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

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

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

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

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

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

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

2.回收空间。

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

你还知道其他方法吗?欢迎留言分享。
________________END______________

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容