LOB字段存放在指定表空間 清理CLOB字段及壓縮CLOB空間


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM