手っ取り早く容量を稼ぐというかWINDOWSで言うところのデフラグみたいなものらしい。
Oracle10Gからの機能。
効果が薄いといわれているけどやらないよりはましだろう。ただその際大幅な
I/Oが持ってかれるので業務時間に実施するのは危険。
誤ってEMから即時実行してしまってえらい遅くなった、、、単純なミスとはいえ、
すみませんではすまないこともある。
特徴
メリット
ONLINEにしながら操作可能(行単位のロックになる。)
ALTER TABLE MOVE とは異なりダウンタイムがない。
容量がいらない。 ALTER TABLE MOVEと比べて。
INDEXの再構築がいらない。 ALTER TABLE MOVEと比べて。
デメリット
行移行とかの完全解決ではないらしい。
停止できるならALTER TABLE MOVEの方がHighWaterMarkを下げられるので効果が高い。
INDEXはshrink spaceのみ
ALTER INDEX "OWNER_NAME"."INDEX_NAME" SHRINK SPACE
TABLE
ALTER TABLE "OWNER_NAME"."TABLE_NAME" ENABLE ROW MOVEMENT;
行の移動処理を可能にする。
ALTER TABLE "OWNER_NAME"."TABLE_NAME" SHRINK SPACE;
ちょっと調べてみた。
10G R2からはLOBも対象になったそう。
ALTER TABLE "OWNER_NAME"."TABLE_NAME" SHRINK SPACE CASCADE;
とすると関連する索引も処理してもらえるらしい。