shrink space;
说明:收缩表,降低 High Water Mark
alter table shrink space cascade;
说明:收缩表,降低 High Water Mark,并且把相关索引也收缩一下。
alter index idxname shrink space;
说明:回缩索引
--------------------
1.3 操作:
对所有表空间中的所有表执行一次shrink命令,需要根据shrink语法,构造shrink命令。
此时,为了构建shrink命令,可以使用如下SQL语句来查询表空间数据库文件的File_ID:
---------------------
select * from dba_data_files;
---------------------
另外,在执行shrink前,必须开启数据表的行迁移功能,SQL语句如下:
---------------------
alter table Tbl_Name enable row movement;
---------------------
注意:该SQL语句会造成引用表Tbl_Name的对象(如存储过程、包、视图等)变为无效,后续需要重新编译一次确认是否有效。
构造shrink命令,建立create_shrink.sql文件,其内容如下:
-------------------
set heading off;
set echo off;
set feedback off;
set termout on;
spool c:\shrink.sql;
select 'alter table THAMS.'|| table_name || ' enable row movement; ' from user_tables where tablespace_name='THAMS';
select 'alter table THAMS.'|| table_name || ' shrink space C