把LOB字段的SEGMENT 存放在指定表空間、清理CLOB字段及壓縮CLOB空間
一、建立LOB字段存放表空間:
create tablespace lob_test datafile '/oracle/data/lob_test.dbf' size 500m autoextend on next 10m maxsize unlimited
二、移動LOB字段到單獨存放表空間:
ALTER TABLE CENTER_ADMIN.NWS_NEWS
MOVE LOB(ABSTRACT)
STORE AS (TABLESPACE lob_test);
ABSTRACT---爲一CLOB類型的字段
lob_test---爲新建立的表空間。
三、清空指定時間段CLOB字段的內容:
update CENTER_ADMIN.NWS_NEWS
set ABSTRACT=
EMPTY_CLOB()
where substr(to_char(pubdate,'yyyy-mm-dd'),1,4)='2011'
四、單獨shrink CLOB字段:
ALTER TABLE CENTER_ADMIN.NWS_NEWS MODIFY LOB (ABSTRACT) (SHRINK SPACE);
--注:此方法會在表空間級釋放出部分空間給其餘對象使用,但這部分空間在操做系統級仍是被佔用
五、在操做系統級釋放空間: alter database datafile '/oracle/data/lob_test.dbf' resize 400m ---注:絕大多數狀況下,不可能一個表空間中只存放一個CLOB字段,若須要從操做系統級真正釋放空間,尚須要shink table或EXP/IMP等操做。