分析索引的碎片化程度,并重建索引

-- 分析索引的碎片化程度

ANALYZE INDEX &index_name VALIDATE STRUCTURE;   
col name heading 'Index Name' format a30   
col del_lf_rows heading 'Deleted|Leaf Rows' format 99999999   
col lf_rows_used heading 'Used|Leaf Rows' format 99999999   
col ratio heading '% Deleted|Leaf Rows' format 999.99999   
SELECT name,   
del_lf_rows,   
lf_rows - del_lf_rows lf_rows_used,   
to_char(del_lf_rows / (lf_rows)*100,'999.99999') ratio   
FROM index_stats where name = upper('&index_name');


-- 重建索引

SET ECHO OFF;   
SET FEEDBACK OFF;   
SET VERIFY OFF;   
SET PAGESIZE 0;   
SET TERMOUT ON;   
SET HEADING OFF;   
ACCEPT username CHAR PROMPT 'Enter the index username: ';   
spool /oracle/rebuild_&username.sql;   
SELECT   
'REM +-----------------------------------------------+' || chr(10) ||   
'REM | INDEX NAME : ' || owner || '.' || segment_name   
|| lpad('|', 33 - (length(owner) + length(segment_name)) )   
|| chr(10) ||   
'REM | BYTES : ' || bytes   
|| lpad ('|', 34-(length(bytes)) ) || chr(10) ||   
'REM | EXTENTS : ' || extents   
|| lpad ('|', 34-(length(extents)) ) || chr(10) ||   
'REM +-----------------------------------------------+' || chr(10) ||   
'ALTER INDEX ' || owner || '.' || segment_name || chr(10) ||   
'REBUILD ' || chr(10) ||   
'TABLESPACE ' || tablespace_name || chr(10) ||   
'STORAGE ( ' || chr(10) ||   
' INITIAL ' || initial_extent || chr(10) ||   
' NEXT ' || next_extent || chr(10) ||   
' MINEXTENTS ' || min_extents || chr(10) ||   
' MAXEXTENTS ' || max_extents || chr(10) ||   
' PCTINCREASE ' || pct_increase || chr(10) ||   
');' || chr(10) || chr(10)   
FROM dba_segments   
WHERE segment_type = 'INDEX'   
AND owner='&username'   
ORDER BY owner, bytes DESC;   
spool off;



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值