网站大量收购闲置独家精品文档,联系QQ:2885784924

ORACLE的大字段分类.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ORACLE的大字段分类

oracle大字段问题0、LARGE OBJECT ORACLE8中有4种LOB - BLOB:Binary Large Object - CLOB:Character Large Object - NCLOB:固定长度的多字节Character Large Object - BFILE:DB外部的二进制文件 它们分为两类: 内部LOB:存放在DB内部,包括BLOB,CLOB,BCLOB 外部文件:存放在DB外面,就是BFILE 要注意的是ORACLE8不自动转换这些类型的数据。1、LONG和LOB的比较 LONG/LONG RAW LOB 表中只能由一个列 可以有多列 最大2G 最大4G 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,只在列中存放位置。3、内部LOB 就是存放在DB内部的LOB,包括BLOB,CLOB,NCLOB。它们可以是 用户自定义的类型中的属性 表中某列 SQL 变量 程序host变量 PL/SQL中的变量、参数、返回值内部LOB可以使用ORACLE的并发机制、REDO LOG、RECOVERY机制。 BLOB被ORACLE8解释为二进制位流,类似LONG RAW。 CLOB解释为单字节字符流 NCLOB是固定的多字节字符流,基于DB NATIONAL字符集的字节长度。例子: CREATE TYPE picture_typ AS OBJECT (image BLOB);CREATE TABLE person_tab( pname VARCHAR2(20), RESUME CLOB, picture picture_typ);上面的语句完成后,数据将存放在5个物理SEGMENT中。 - TABLE person_tab在缺省TABLESPACE, - RESUME存放的LOB SEGMENT - PICTURE存放的LOB SEGMENT - 标示RESUME存放位置的LOB INDEX SEGMENT - 标示PICTURE存放位置的LOB INDEX SEGMENT LOB INDEX是隐式创建的。当INSERT或者OBJECT CACHE中的OBJECT刷新到SERVER时,LOB生成。可以使用DBMS_LOB包和OCI来处理LOB。当ROW删除时,相应的内部LOB也会删除。UPDATE必须处理整个LOB值,不能UPDATE其中的一部分。4、内部LOB的存储参数 具体语法可以参见ORACLE文档, LOB ( lob项,...) STORE AS lob_segment_nameCHUNK integer PCTVERSION integer CACHE NOCACHE LOGGING/NOLOGGING TABLESPACE tablespace_nameSTORAGE storage子句 INDEX INDEX字句lob_segment_name:缺省式LOB$nCHUNK:连续分配在一起的BLOCK数目,存放连续的LOB数据。这些CHUNK的数据存放在LOB INDEX里面,使用内部LOB标示和LOB值作为键。 PCTVERSION:LOB一致读需要的系统空间。一旦LOB申请超过PCTVERSION的值,ORACLE就会收旧的空间并REUSE之。 CACHE:使用SGA区的DB BUFFER CACHE处理LOB的READ/WRITE。 NOCACHE LOGGING:不使用SGA区的BUFFER,数据的改变纪录到REDO LOG。 存取LOB比较频繁时,使用CACHE 存取LOB不频繁时,使用NOCACHE NOCACHE NOLOGGING:不使用SGA区的BUFFER和REDO LOGINDEX子句 INDEX lob_index_segtment_nameINITTRANS integer MAXTRANS integer TABLESPACE tablespace_nameSTORAGE storage子句如果没有设置LOB存储参数和INDEX STROAGE,则采用如下缺省值 CHUNK=1 DB_BLOCK PCTVERSION=10 NOCACHE NOLOGGING例子: CREATE TABLE APARTMENTS ( floor_plan BLOB, cont

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档