4、zi you范围的碎片整理
表空间的 pctincrease 值为非 0
可以将表空间的缺省存储参数 pctincrease 改为非 0 。一般将其设为 1 ,如:
alter tablespace temp
default storage(pctincrease 1);
这样 SMON 便会将zi you范围自动合并。也可以手工合并zi you范围:
alter tablespace temp coalesce;
5、段的碎片整理
我们知道,段由范围组成。在有些情况下,有必要对段的碎片进行整理。要查看段的有关信息,可查看数据字典 dba_segments ,范围的信息可查看数据字典 dba_extents 。
查询数据段
select segment_name,tablespace_name,bytes,blocks from USER_EXTENTS;
查询索引段
select index_name,table_owner,table_name,tablespace_name from USER_EXTENTS;
通过dba_segments查看段的信息
select tablespacee_name,count(*) nobjects,round(sum(bytes)/1024/1204/1024.2) GB,sum(blocks),sum(extents) from
dba_segments group by rollup(tablespace_name);
如果段的碎片过多,将其数据压缩到一个范围的最简单方法便是用正确的存储参数将这个段重建,然后将旧表中的数据插入到新表,同时删除旧表。这个过程可以用 Import/Export (输入 / 输出)工具来完成。
Export ()ming令有一个(压缩)标志,这个标志在读表时会引发 Export 确定该表所分配的物理空间量,它会向输出转储文件写入一个新的初始化存储参数 -- 等于全部所分配空间。若这个表关闭, 则使用 Import ()工具重新生成。这样,它的数据会放入一个新的、较大的初始段中。例如:
exp user/password file=exp.dmp compress=Y grants=Y indexes=Y
tables=(table1,table2);
若输出成功,则从库中删除已输出的表,然后从输出转储文件中输入表:
imp user/password file=exp.dmp commit=Y buffer=64000 full=Y