整理索引及表碎片
阿新 • • 發佈:2019-02-06
今天檢視業務單位的一個數據庫的時候,發現索引表空間比資料表空間還大 ,我當時就想資料庫中的表和索引肯定是好久沒有進行碎片整理了,整理語句如下 ,複製出來後在sqlplus 中執行
--整理索引碎片 SELECT 'ALTER INDEX '||OWNER||'.'||INDEX_NAME||' shrink space ;' FROM DBA_INDEXES WHERE TABLE_OWNER='HA_SOAR' ORDER BY INDEX_NAME; --整理表碎片 SELECT 'ALTER table '||OWNER||'.'||table_NAME||' enable row movement ;' FROM DBA_tables WHERE OWNER='HA_SOAR' union all SELECT 'ALTER table '||OWNER||'.'||table_NAME||' shrink space ;' FROM DBA_tables WHERE OWNER='HA_SOAR' union all SELECT 'ALTER table '||OWNER||'.'||table_NAME||' disable row movement ;' FROM DBA_tables WHERE OWNER='HA_SOAR'