暂无图片
Oracle表数据删除后如何收缩表空间?
我来答
分享
wzf0072
2022-12-13
Oracle表数据删除后如何收缩表空间?

Oracle表数据删除后如何收缩表空间?

我来答
添加附件
收藏
分享
问题补充
10条回答
默认
最新
watson

1.开始行移
alter table table_name enable row movement;

2.收缩表水平位
alter table table_name shrink space cascade;

暂无图片 评论
暂无图片 有用 1
暂无图片
wzf0072
题主
2022-12-13
yBmZlQzJ

1.开始行移
alter table table_name enable row movement;

2.收缩表水平位
alter table table_name shrink space cascade;

暂无图片 评论
暂无图片 有用 3
游湖

首先应该把其他表迁移到别的表空间,然后通过命令ALTER DATABASE DATAFILE  resize来实现shrink表空间目的

暂无图片 评论
暂无图片 有用 5
手机用户5704
2022-12-13
winserver2016支持postgreSQL 15吗?
lelepapa
2022-12-13
首先应该把其他表迁移到别的表空间,然后通过命令ALTER DATABASE DATAFILE resize来实现shrink表空间目的
wzf0072
题主
2022-12-13
方法可行。
布衣
暂无图片

alter database datafile ‘数据文件’ resize 10MB;

暂无图片 评论
暂无图片 有用 0
shunwahⓂ️

ORACLE收缩表空间的方法. 查看当前用户每个表占用空间的大小: select segment_name,sum(bytes)/1024/1024 from User_Extents group by segment_name;

暂无图片 评论
暂无图片 有用 1
手机用户5704
2022-12-13
winserver2016支持postgreSQL 15吗?
Z
zwx

resize钱转移走还需要写入数据的表,回答问题是不是也需要15个字

暂无图片 评论
暂无图片 有用 2
手机用户5704

winserver2016支持postgreSQL 15吗?

暂无图片 评论
暂无图片 有用 2
L
lelepapa

首先应该把其他表迁移到别的表空间,然后通过命令ALTER DATABASE DATAFILE  resize来实现shrink表空间目的

暂无图片 评论
暂无图片 有用 3
wzf0072
题主
2022-12-13
Ty3306
2022-12-13
这个也是OK的,之前试过
T
Ty3306

1.开始行移
alter table table_name enable row movement;

2.收缩表水平位
alter table table_name shrink space cascade;

暂无图片 评论
暂无图片 有用 0
Thomas

 我个人经验,用SHRINK命令杯水车薪,根本缩小不了多少。彻底的做法,如果该表A属于TBS1表空间,那么把TBS1上所有表MOVE到另外一个表空间上,然后DROP掉TBS1上的所有DATA FILE,再重建DATA FILE,最后把移出的表再移回TBS1。换言之,如果不把TBS1清个底朝天,是无法真正有效地缩小其DATA FILE的。

暂无图片 评论
暂无图片 有用 1
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏