1. 程式人生 > >整理索引及表碎片

整理索引及表碎片

今天檢視業務單位的一個數據庫的時候,發現索引表空間比資料表空間還大 ,我當時就想資料庫中的表和索引肯定是好久沒有進行碎片整理了,整理語句如下 ,複製出來後在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'