Oracle LOB
在 Oracle9i Release 2 之前,LOB 最多隻能儲存 4G 資料;從Oracle10g Release 1 開始,可以儲存 8-128T 的資料,取決於你的資料庫的塊大小。
PL/SQL中你可以定義如下的 LOB 欄位型別:
(1)BFILE:二進位制檔案。定義一個 BFILE 變數,它指向作業系統的一個檔案,Oracle會將其視為二進位制資料進行處理。該檔案儲存於資料庫外。
(2)BLOB:二進位制大物件。定義一個 BLOB 變數,它指向一個二進位制大物件的位置。該二進位制大物件儲存於資料庫中。
(3)CLOB:字元型大物件。定義一個 CLOB 變數,該字元型大物件儲存於資料庫中。
(4)NCLOB:National Language Support (NLS) character large object. Declares a variable that holds a LOB locator pointing to a large block of single-byte, fixed-width multibyte, or variable-width multibyte character data stored inside the database. 用來儲存多位元組的字元資料(定寬的多位元組國家字符集資料)。
儲存於 Oracle 資料庫內的大欄位型別(如blob,clob,nclob等),可以參與 Oracle 的事務處理。而儲存於資料庫外的大欄位型別(如bfile)則不能參與 Oracle 的事務處理,不能被提交和回滾,只能依據檔案系統來保證資料的完整性。
至於LONG和LONG RAW,Oracle已經不推薦使用了。它們的存在,只是為了向前相容。你應該從LONG 轉向BLOG和CLOB, 如果你的系統中存在 LOGN 型別的欄位,可以參考《Application Developer''s Guide》中的Large Objects 將 LONG 欄位轉為 LOB 欄位。
1、LONG和LOB的比較
LONG/LONG RAW LOB
---------------------------------------------------------
表中只能有一個列 可以有多列
最大2G 最大4G(10g更大)
SELECT返回值 SELECT返回指標
存放在DB內 可以在DB內或者外
不支援OBJECT型別 支援
順序存取 隨機存取
----------------------------------------------------------
備註: NCLOB不支援OBJECT型別
LOB小於4000位元組時是內部存放
2、LOB解析
LOB有兩個不同的部分
- LOB值: LOB代表的資料
- LOB指標:LOB存放資料的位置
LOB列內部不存放資料,而是LOB值的位置。當建立內部LOB時,值存放在LOB SEGMENT中,指向OUT-OF-LIN資料的指標放在列中。對外部LOB,只在列中存放位置。
比如下面的建表中BLOB欄位指標存放在PDM_DATA欄位中,但是真正的LOB值(二進位制檔案內容)存放在使用者定義LOB_TS表空間的LOB SEGMENT中 :
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-448910/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【LOB】Oracle Lob管理常用sqlOracleSQL
- 【LOB】Oracle lob管理常用語句Oracle
- Oracle LOB issueOracle
- oracle之 Oracle LOB 詳解Oracle
- oracle中lob欄位Oracle
- ORACLE LOB SEGMENT常規管理Oracle
- oracle lob 簡單介紹Oracle
- oracle SecureFiles 替代之前的 LOBOracle
- Oracle中的LOB操作(轉)Oracle
- ORACLE LOB大欄位維護Oracle
- Oracle LOB儲存知識(zt)Oracle
- 《轉》ORACLE LOB 大物件處理Oracle物件
- Oracle - LOB(大物件資料型別)Oracle物件資料型別
- Oracle - DBMS_LOB函式和用法Oracle函式
- Oracle Lob型別儲存淺析Oracle型別
- LOB欄位在Oracle中的存放方式。Oracle
- Oracle OCP 1Z0 053 Q23(SecureFile LOB&DBMS_LOB. SETOPTIONS)Oracle
- Oracle LOB資料型別的處理Oracle資料型別
- Oracle 建表時LOB欄位語法Oracle
- Oracle 帶LOB欄位的表的遷移Oracle
- Long -> lob , to_lob 轉換,遷移
- Oracle lob載入bfile資料到blob欄位中Oracle
- LOB型別型別
- LOB(large object)Object
- LOB學習
- Oracle 1Z0 053 Q287(lob securefile DEDUPLICATE)Oracle
- Oracle Lob型別相關引數以及效能影響Oracle型別
- Oracle11g新特性——LOB型別功能增強Oracle型別
- 【LOB】使用資料泵時 LOB 欄位存放位置
- LOB欄位EMPTY_LOB和NULL的區別Null
- LOB欄位資料清理 - 更新為null後move lobNull
- oracle 分割槽表move和包含分割槽表的lob moveOracle
- Oracle OCP 1Z0 053 Q229(SecureFile LOB)Oracle
- 如何檢視ORACLE的LOB(BLOB和CLOB)物件佔用的大小Oracle物件
- LOB儲存筆記筆記
- 插入LOB物件的方法物件
- 操作lob,居然成功了!
- ora-00600錯誤系列-kokle_lob2lob13:input mismatch