欢迎来到天天文库
浏览记录
ID:34725149
大小:54.48 KB
页数:12页
时间:2019-03-10
《oracle的大字段分类》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、oracle大字段问题0、LARGEOBJECTORACLE8中有4种LOB-BLOB:BinaryLargeObject-CLOB:CharacterLargeObject-NCLOB:固定长度的多字节CharacterLargeObject-BFILE:DB外部的二进制文件它们分为两类:内部LOB:存放在DB内部,包括BLOB,CLOB,BCLOB外部文件:存放在DB外面,就是BFILE要注意的是ORACLE8不自动转换这些类型的数据。1、LONG和LOB的比较LONG/LONGRAWLOB-----------------------------
2、---------------------表中只能由一个列可以有多列最大2G最大4GSELECT返回值SELECT返回指针存放在DB内可以在DB的内或者外不支持OBJECT类型支持顺序存取随机存取--------------------------------------------------NCLOB不支持OBJECT类型LOB小于4000字节时是内部存放2、LOB解析LOB有两个不同的部分-LOB值:LOB代表的数据-LOB指针:LOB存放数据的位置LOB列内部不存放数据,而是LOB值的位置。当创建内部LOB时,值存放在LOBSEGMENT中,指
3、向OUT-OF-LIN数据的指针放在列中。对外部LOB,只在列中存放位置。3、内部LOB就是存放在DB内部的LOB,包括BLOB,CLOB,NCLOB。它们可以是用户自定义的类型中的属性表中某列SQL变量程序host变量PL/SQL中的变量、参数、返回值内部LOB可以使用ORACLE的并发机制、REDOLOG、RECOVERY机制。BLOB被ORACLE8解释为二进制位流,类似LONGRAW。CLOB解释为单字节字符流NCLOB是固定的多字节字符流,基于DBNATIONAL字符集的字节长度。例子:CREATETYPEpicture_typASOBJEC
4、T(imageBLOB);CREATETABLEperson_tab(pnameVARCHAR2(20),RESUMECLOB,picturepicture_typ);上面的语句完成后,数据将存放在5个物理SEGMENT中。-TABLEperson_tab在缺省TABLESPACE,-RESUME存放的LOBSEGMENT-PICTURE存放的LOBSEGMENT-标示RESUME存放位置的LOBINDEXSEGMENT-标示PICTURE存放位置的LOBINDEXSEGMENTLOBINDEX是隐式创建的。当INSERT或者OBJECTCACHE中的
5、OBJECT刷新到SERVER时,LOB生成。可以使用DBMS_LOB包和OCI来处理LOB。当ROW删除时,相应的内部LOB也会删除。UPDATE必须处理整个LOB值,不能UPDATE其中的一部分。4、内部LOB的存储参数具体语法可以参见ORACLE文档,LOB(lob项,...)STOREASlob_segment_nameCHUNKintegerPCTVERSIONintegerCACHENOCACHELOGGING/NOLOGGINGTABLESPACEtablespace_nameSTORAGEstorage子句INDEXINDEX字句lob
6、_segment_name:缺省式LOB$nCHUNK:连续分配在一起的BLOCK数目,存放连续的LOB数据。这些CHUNK的数据存放在LOBINDEX里面,使用内部LOB标示和LOB值作为键。PCTVERSION:LOB一致读需要的系统空间。一旦LOB申请超过PCTVERSION的值,ORACLE就会收旧的空间并REUSE之。CACHE:使用SGA区的DBBUFFERCACHE处理LOB的READ/WRITE。NOCACHELOGGING:不使用SGA区的BUFFER,数据的改变纪录到REDOLOG。存取LOB比较频繁时,使用CACHE存取LOB不频
7、繁时,使用NOCACHENOCACHENOLOGGING:不使用SGA区的BUFFER和REDOLOGINDEX子句INDEXlob_index_segtment_nameINITTRANSintegerMAXTRANSintegerTABLESPACEtablespace_nameSTORAGEstorage子句如果没有设置LOB存储参数和INDEXSTROAGE,则采用如下缺省值CHUNK=1DB_BLOCKPCTVERSION=10NOCACHENOLOGGING例子:CREATETABLEAPARTMENTS(floor_planBLOB,co
8、ntractCLOB,nameVARCHAR2(10))LOB(floor_plan,cont
此文档下载收益归作者所有