碎片整理

来源:互联网 发布:淘宝交易成功钱没到账 编辑:程序博客网 时间:2024/04/27 17:39

Oracle数据库如果存在大量的删除和修改操作,会造成表空间碎片出现,如果数量大了,会造成表空间浪费,并使查询操作变慢[@more@]/*查看碎片程度高的表*/
SELECT segment_name table_name , COUNT(*) extents
FROM dba_segments WHERE owner NOT IN (’SYS’, ‘SYSTEM’) GROUP BY segment_name
HAVING COUNT(*) = (SELECT MAX( COUNT(*) ) FROM dba_segments GROUP BY segment_name);

//计算表空间的碎片度
select sqrt(max(blocks)/sum(blocks))*
(100/sqrt(sqrt(count(blocks)))) FSFI
from dba_free_space
WHERE tablespace_name=’NARROWAD_BASIC_TABLESPACE’;
group by tablespace_name order by 1;

//整理Orcle的碎片
// 先执行:
alter tablespace TABLESPACE_NAME default storage(pctincrease 1);

// 正常shutdown数据库
// 启动数据库
//再执行:
alter tablespace TABLESPACE_NAME coalesce;

原创粉丝点击