建个小表试试看,对表段进行收缩,如果该表空间存在索引段,也可以收缩一下。 使用 alter table tbname shrink space 来收缩表段 实现原理 实质上构造一个新表(在内部表现为一系列的DML操作,即将副本插入新位置,删除原来位置的记录) 靠近末尾处(右边)数据块中的记录往开始处(左边)的空闲空间处移动(DML操作),不会引起DML触发器 当所有可能的移动被完成,高水位线将会往左移动(DDL操作) 新的高水位线右边的空闲空间被释放(DDL操作) 实现前提条件 必须启用行记录转移(enable row movement) 仅仅适用于堆表,且位于自动段空间管理的表空间(堆表包括:标准表,分区表,物化视图容器,物化视图日志表)如果要使得索引变小,则需要重构索引 alter index idx_name rebuild online; alter index idx_name online tablespace tbs_name --将索引重构到不同的表空间
虽然后空间,但是最大的连续空间已经不能满足建表时第一个extent的容量要求.
使用 alter table tbname shrink space 来收缩表段
实现原理
实质上构造一个新表(在内部表现为一系列的DML操作,即将副本插入新位置,删除原来位置的记录)
靠近末尾处(右边)数据块中的记录往开始处(左边)的空闲空间处移动(DML操作),不会引起DML触发器
当所有可能的移动被完成,高水位线将会往左移动(DDL操作)
新的高水位线右边的空闲空间被释放(DDL操作)
实现前提条件
必须启用行记录转移(enable row movement)
仅仅适用于堆表,且位于自动段空间管理的表空间(堆表包括:标准表,分区表,物化视图容器,物化视图日志表)如果要使得索引变小,则需要重构索引
alter index idx_name rebuild online;
alter index idx_name online tablespace tbs_name --将索引重构到不同的表空间