zoukankan      html  css  js  c++  java
  • [Oracle] Lob介绍

    [Oracle] Lob介绍
     
    像Oracle这种关系型数据库,比较擅长处理结构化的数据,那么对于非结构化的数据,Oracle是怎么处理和存储的呢?Lob (Large Object)是Oracle专门用来处理半结构化和非结构化数据,它是一个大对象数据类型,可以存储超过4000字节的字符串、二进制数据。
     
    Lob的类型
    有两种Lob,非常是Internal Lob和External Lob。所谓Internal Lob是指Lob数据存储在Oracle数据文件里,External Lob是指Lob数据存储在数据库外部的操作系统里。
    Internale Lob包括:
    1)CLOB (Character Lob):用于存储字符串类型的Lob,如文本和XML文件等,字符串已数据库字符集编码;
    2)BLOB (Binary Lob):用于存储二进制类型的Lob;
    3)NCLOB (National Character Lob):和CLOB类似,但字符串已国家字符集编码。
    External Lob包括:
    1)BFILE (Binary File Lob):数据库存储一个执行外部文件的指针,所以它是只读的
     
    Lob的存储
    我们建立含有lob字段的表时,oracle会自动为lob字段建立两个单独的segment,一个用来存放数据,另一个用来存放索引,并且它们都会存储在对应表指定的表空间中。看下面这个例子:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [sql]
    SYS@TEST16> create table test.lobtest(b blob,c clob); 
       
    Table created. 
       
    SYS@TEST16> select OWNER,TABLE_NAME,COLUMN_NAME,SEGMENT_NAME,INDEX_NAME from dba_lobs where table_name='LOBTEST'
       
    OWNER                          TABLE_NAME                     COLUMN_NAME                    SEGMENT_NAME                   INDEX_NAME 
    ------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------------------ 
    TEST                           LOBTEST                        B                              SYS_LOB0000101291C00001$$      SYS_IL0000101291C00001$$ 
    TEST                           LOBTEST                        C                              SYS_LOB0000101291C00002$$      SYS_IL0000101291C00002$$
    如上例所示,每个lob字段都对应两个segment,其中存放lob数据的以SYS_LOB开头,存放索引以SYS_IL开头。
     
    Lob与其它类型的转换
    通过TO_CLOB可以将CHAR,NCHAR,VARCHAR2,NVARCHAR2,NCLOB类型转换成CLOB;
    通过TO_LOB可以将LONG RAW转换成BLOB,LONG转换成CLOB;
    通过TO_NCLOB可以将CHAR,NCHAR,VARCHAR2,NVARCHAR2,CLOB转换成NCLOB。
  • 相关阅读:
    Ubuntu 18.04 初始化(server版本 )
    named主从环境部署
    CentOS 源码安装svn
    端口状态
    进程状态
    top命令详解
    gitlab部署
    day16
    day15
    day14
  • 原文地址:https://www.cnblogs.com/hllnj2008/p/5332733.html
Copyright © 2011-2022 走看看