ITPub博客

首页 > Linux操作系统 > Linux操作系统 > FSFI(自由空间碎片)相关

FSFI(自由空间碎片)相关

原创 Linux操作系统 作者:jst143 时间:2011-04-01 23:02:45 0 删除 编辑

FSFI值 查询语句

select tablespace_name,
sqrt(max(blocks) / sum(blocks)) * (100 / sqrt(sqrt(count(blocks)))) FSFI
from dba_free_space
group by tablespace_name
order by 1;

 

相关语句
alter tablespace 表空间名 coalesce; --碎片整合和空间合并
alter table tablename shrink space compact;   --压缩但不移动HWM。
alter table tablename shrink space cascade;   --对相关对象,如果索引也进行压缩。
alter index indexname shrink space;  --对索引也进行压缩

 

用Import/Export(输入/输出)来实现碎片整理
如果段的碎片过多, 将其数据压缩到一个范围的最简单方法便是用正确的存储参数将这个段重建,然后将旧表中的数据插入到新表,同时删除旧表。这个过程可以用Import/Export(输入/输出)工具来完成。
Export()命令有一个(压缩)标志,这个标志在读表时会引发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

 

对分区表进行压缩和释放
begin
         for x in ( select partition_name
                from user_tab_partitions
                where table_name in (select table_name from tabs) )
         loop
                execute immediate
                ''alter table big_table2 move partition '' ||
                x.partition_name;
         end loop;
end;
/

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23577591/viewspace-691507/,如需转载,请注明出处,否则将追究法律责任。

上一篇: ORACLE 卸载
请登录后发表评论 登录
全部评论

注册时间:2010-05-06

  • 博文量
    109
  • 访问量
    138762