共計(jì) 967 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。
oracle 表碎片以及整理是怎樣的,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面丸趣 TV 小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
確定碎片程度
SELECT table_name,
ROUND ((blocks * 8), 2) 高水位空間 k ,
ROUND ((num_rows * avg_row_len / 1024), 2) 真實(shí)使用空間 k ,
ROUND ((blocks * 10 / 100) * 8, 2) 預(yù)留空間(pctfree) k ,
ROUND (
( blocks * 8
– (num_rows * avg_row_len / 1024)
– blocks * 8 * 10 / 100),
2)
浪費(fèi)空間 k
FROM user_tables
WHERE temporary = N
ORDER BY 5 DESC;
查看表上次收集統(tǒng)計(jì)信息時(shí)間
select table_name,last_analyzed from dba_tables where owner = SCHEMA_NAME
收集整個(gè) Schema 中對(duì)象的統(tǒng)計(jì)信息
SQL exec dbms_stats.gather_schema_stats(ownname= SCHEMA_NAME
— 整理表,不影響 DML 操作
SQL alter table TABLE_NAME enable ROW MOVEMENT;– 啟動(dòng)行移動(dòng)功能
SQL alter table TABLE_NAME shrink space compact; – 只整理碎片 不回收空間
— 重置高水位,此時(shí)不能有 DML 操作
SQL alter table TABLE_NAME shrink space; – 整理碎片并回收空間,并調(diào)整水位線。業(yè)務(wù)少時(shí)執(zhí)行
SQL alter table TABLE_NAME disable ROW MOVEMENT;– 關(guān)閉行移動(dòng)
shrink 的優(yōu)勢(shì):
不需要重建索引。
可以在線操作。
如果系統(tǒng)業(yè)務(wù)比較繁忙,
可以先執(zhí)行 shrink space compact 重組數(shù)據(jù), 然后在業(yè)務(wù)不忙的時(shí)候再執(zhí)行 shrink space 降低 HWM 釋放空閑數(shù)據(jù)塊。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝您對(duì)丸趣 TV 的支持。