1

Oracle で BLOB に割り当てられたスペースを解放するように依頼されました。データを抽出し、BLOB を null に設定してスペースを解放します。

DBA によると、これはスペースを解放しません。私が使用しているSQLは

UPDATE TABLENAME SET BLOB_FIELD_A = NULL

EMPTY_BLOB()グーグルで調べたところ、 ;という関数があります。以前に割り当てられたスペースを解放するというコメントはどこにもありません

4

1 に答える 1

3

Oracle でセグメントを縮小する唯一の方法は、セグメントを MOVE/SHRINK することです。

つまり、LOB を null に更新したら、実行する必要があります。

alter table b modify lob (c) (shrink space);

(10.2 以降で利用可能) または

alter table b move lob(c) store as (tablespace your_tablespace);
于 2012-12-11T12:31:32.450 に答える