千家信息网

oracle lob分类规则有哪些

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇内容主要讲解"oracle lob分类规则有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"oracle lob分类规则有哪些"吧!什么是lob?L
千家信息网最后更新 2026年10月31日oracle lob分类规则有哪些

本篇内容主要讲解"oracle lob分类规则有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"oracle lob分类规则有哪些"吧!

什么是lob?

LOBs:Large Objects的缩写。一个lob最大可以容纳8TB-128TB。

lob分类

1.内部LOBs

lob存储在数据库内部,便于空间管理和读取效率。内部LOBs也分为永久和临时。永久lob是存在与数据库中的表里面。临时lob是只有自己可见的在临时表空间中存在的。永久lob支持事务处理和介质恢复。

clob:存储数据库定义的字符集中的字符数据,宽度固定,可以代替long类型。

blob:存储二进制数据,可以代替long raw类型。

nclob:存储在国家字符集中定义的字符数据,支持变长宽度

2.外部LOBs

外部LOBs不存储在数据库内部的表空间上,而是存储于操作系统文件。BFILE类型是唯一的外部LOBs数据类型。BFILE类型是只读的数据类型。

bfile:外部二进制文件

lob于long或者long raw类型比较

相比之下,lob具有下面的优点:

long和long raws类型最大只能存储2G数据。

一张表只能有一个long或long raw类型的列,但是可以有很多不同lob类型的lob列。

lob支持分散读,long只支持连续读。

oracle建议用lob代替long类型。

一个lob实例有1个指针(locator)和一个值(value)。locator是lob value的物理存储位置,lob value是lob对象存储的具体数据。实际上表中的行只记录了lob对象的指针,而不是存储实际的值。

lob列的状态

null:表格单元已经建立,但是表格单元没有指针也没有值。

empty:在表格单元中已经存在了一个lob实例,但是只有指针,没有值。lob的长度是0。

populated:lob实例的指针和值都存在。

lob相关规则限制

1.不能指定lob列为主键。

2.oracle已经限制了对远端LOBs对象的支持。只剩下三种方式:

2.1 Create table as select or insert as select.

CREATE TABLE t AS SELECT * FROM table1@remote_site;

INSERT INTO t SELECT * FROM table1@remote_site;

UPDATE t SET lobcol = (SELECT lobcol FROM table1@remote_site);

INSERT INTO table1@remote_site SELECT * FROM local_table;

UPDATE table1@remote_site SET lobcol = (SELECT lobcol FROM local_table);

DELETE FROM table1@remote_site

2.2 Functions on remote LOBs returning scalars.远程lob的函数返回标量的,如下面:

CREATE TABLE tab AS SELECT DBMS_LOB.GETLENGTH@dbs2(clob_col) len FROM tab@dbs2;

CREATE TABLE tab AS SELECT LENGTH(clob_col) len FROM tab@dbs2;

下面是不支持的,因为DBMS_LOB.SUBSTR返回LOB,不是标量:

CREATE TABLE tab AS SELECT DBMS_LOB.SUBSTR(clob_col) from tab@dbs2;

2.3 数据接口.

You can insert a character or binary buffer into a remote CLOB or BLOB, and select a remote CLOB or BLOB into a character or binary buffer. For example (in PL/SQL):

SELECT clobcol1, type1.blobattr INTO varchar_buf1, raw_buf2 FROM

table1@remote_site;

INSERT INTO table1@remotesite (clobcol1, type1.blobattr) VALUES varchar_buf1,

raw_buf2;

INSERT INTO table1@remotesite (lobcol) VALUES ('test');

UPDATE table1 SET lobcol = 'xxx';

3.簇表不能包括lob列

4.如下数据结构仅支持临时lob对象,不能将这些存储在table中作为永久lob:

任何lob类型的变长数组;

自定义类型中包括lob,该自定义类型又在变长数组中;

任何lob类型的anydata类型;

自定义类型中包括lob,该自定义类型又在anydata中。

5.lob列不能出现在order by,group by或者聚合函数中。

6.lob段的第一个区必须至少包括三个数据库块。

7.lob列上不能建索引。但是可以建域索引。

8.lob列不能用在select distinct中。

到此,相信大家对"oracle lob分类规则有哪些"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

类型 数据 存储 支持 指针 数据库 规则 分类 字符 对象 永久 单元 实例 实际 空间 表格 最大 二进制 内容 函数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技名片 科技互联网政务服务 互联网科技公司电话 奇酷互联网络科技 互联网科技论文 伴你行互联网科技有限公司 卓越科技互联网 招聘 蓝色互联网科技 汉立互联网科技有限公司联系电话 互联网科技项目计划书材料类 互联网为啥属于高科技 广州市恰铎互联网科技有限公司 威龙国际互联网科技公司 上海科技产业互联网平台 美国互联网科技公司 互联网相关科技技术 互联网科技包装股 济南小医互联网科技有限公司招聘 互联网金融运营模式中的金融科技 北京瑞云互联网科技有限公司 上海喔噻互联网科技有限公司 云信互联网科技有限公司 杭州互联网科技公司 互联网科技公司的市场部门 互联网科技有哪些公司 荆州市昕露互联网络科技有限公司 华夏恒生互联网科技013171 特约风豹互联网科技为什么扣费 雨阳互联网卡科技有限公司 广西科技产业互联网是什么
0