Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Oracle で BLOB に割り当てられたスペースを解放するように依頼されました。データを抽出し、BLOB を null に設定してスペースを解放します。
DBA によると、これはスペースを解放しません。私が使用しているSQLは
UPDATE TABLENAME SET BLOB_FIELD_A = NULL
EMPTY_BLOB()グーグルで調べたところ、 ;という関数があります。以前に割り当てられたスペースを解放するというコメントはどこにもありません
EMPTY_BLOB()
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);