您的位置:首页 > 数据库 > Oracle

Oracle中的大对象(long,long raw,clob,blob,nclob,bfile)

2011-12-13 20:00 465 查看
(1)Oralce7与Oralce8中大对象的对比

Oralce7:有两种基本的long类型大对象:long 字符 和 long raw 二进制.使用内部存储方式,最多可以存储2g的数据,只能按照顺序进行访问),每个表中只能存储一列,select返回实际的数据.

oracle8以后:有long,long raw,clob,blob,nclob,bfile类型.long,long raw类型同oracle 7,lob类型存储数据能够达到4g,即可以存储在表的内部也可以存储在表的外部,每个表能够存储多于一列的lob,不论存储在内部还是外部,select语句返回一个指向数据的指针.其中:long和long raw是oracle将要废弃的类型.

(2)lob

oracle8以后:oralce中有四种类型的lob:clob,blob,nclob,bfile.

clob:内部字符大对象;

blob:内部二进制大对象;

nclob:内部定长多字节大对象;

bfile:外部二进制大文件,这个文件中的数据只能被只读访问,并且不包含在数据库内。

bfile是早期的RDBMS BLOB的直接继承,作为数据库指针存储在数据库内部,指向外部的操作系统文件.

lob由两部分组成:数据和指向,数据的指针.lob列不包含值,只有定位指针.但是值与表是一起存储的.

(3)dbms_lob

在oracle中有多种方法可以对lob数据进行操作,但是最常用的为dbms_lob包,它主要提供了以下几个过程供用户对内部lob字段进行维护:

APPEND() 将源LOB中的内容加到目的LOB中

COPY() 从源LOB中复制数据到目的LOB

ERASE() 删除LOB中全部或部分内容

TRIM() 将LOB值减少到指定的长度

WRITE() 向LOB 中写入数据

COMPARE() 比较两个同种数据类型的LOB的部分或全部值是否相同

GETLENGTH() 获取LOB的长度

READ() 从LOB中读出数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle 存储 数据库