LOB、SecureFiles LOBs

表创建时带一个LOB字段话,user_object会有该表的三个对象,分别为表名称、LOB字段对应SYS索引、LOB字段对应SYS字段

Oracle内置数据类型没有单独的LOB字段一说,一般建表时指定字段属性为CLOB\BLOB,再指定LOB的属性
(离线官方文档路径Database Administration-->SQL Language Reference-->3 Basic Elements of Oracle SQL-->Data Types-->Oracle Built-in Data Types)
SQL>alter table TABLE1 add COLUMN1 blob;
Table altered.
SQL>alter table TABLE1 add COLUMN2 clob;
Table altered.
SQL>alter table TABLE1 add COLUMN3 lob;
alter table TABLE1 add COLUMN3 lob
ERROR at line 1:
ORA-00902: invalid datatype
SQL>CREATE TABLE TABLE1(HID NUMBER,COLUMN1 BLOB,COLUMN2 CLOB) segment creation immediate TABLESPACE TD LOB(COLUMN1,COLUMN2) STORE AS BASICFILE(TABLESPACE TABLESPACE1 ENABLE STORAGE IN ROW CHUNK 4000 PCTVERSION 20 NOCACHE STORAGE (INITIAL 8M NEXT 2M));
Table created.
以上建表语句,表的对应的表空间是TD,COLUMN1、COLUMN2对应表空间是TABLESPACE1


照片、字处理文档、电子表格、XML 文件等等。这些类型的数据如何存储?通常有两种方法:这些数据作为 LOB(
large object) 字段(BLOB 用于存储二进制数据,CLOB 用于存储字符数据)存储在数据库中,或者存储在操作系统文件中。每种方法都有优缺点。操作系统文件可以由操作系统和日志文件系统缓存以加速崩溃后的恢复。由于可进行压缩,因此操作系统文件占用的空间通常也比数据库中的数据要少。但是操作系统文件位于数据库外部,因此数据库属性不适用于它们,比如此类文件不是事务的一部分,因此 Oracle 数据库固有的读取一致性等概念不适用于它们。如果能集两种方法的优点于一身会怎样?Oracle Database 11g 中的 SecureFiles 为您提供了答案。SecureFiles 是数据库中一个全新的基础架构,可提供最佳的数据库驻留 LOB 和操作系统文件性能。


LOB在存储方面的格式,LOB字段可以分为2部分,Lob Segment和Lob Index Segment。在表的数据段中只存储一个LOB Locator(当Disable storage in Row或者Enable storage in row的时候lob字段大于4000byte),LOB Locator指向Lob Index中的Lob Segment 的Chunks,再通过Lob Index Entry访问到具体的Lob Segment Chunk.这样的设计就是LOB存储在不同的segments中,不然和表在一个segments里面的话,不知道得有多少行链接

IN ROW Clause选项
默认是" ENABLE STORAGE IN ROW“,表示当lob 数据小余4000byte的时候,将lob数据和其他字段,一起存储在表段里面;当lob数据大于4000byte的时候,将lob数据存储在lob data segment中,仅仅在表段里面存储指向Lob Index的Lob Locator.当指定DISABLE STOREGE IN ROW的时候,不管LOB数据大小,都将lob数据存储在lob data segment中,仅仅在表段里面存储指向Lob Index的Lob Locator.




SecureFiles LOBs
三大优点(智能去重、智能压缩、智能加密)
SecureFiles Intelligent Deduplication, available with the Oracle Advanced Compression Option, enables Oracle Database to automatically detect duplicate LOB data within a LOB column or partition, and conserve space by storing only one copy of the data.
SecureFiles Intelligent Compression, available with the Oracle Advanced Compression Option, seamlessly analyses SecureFiles LOB data and compresses to save disk space.
SecureFiles Intelligent Encryption, available with the Oracle Advanced Security Option, introduces a new encryption facility for LOBs. The data is encrypted using Transparent Data Encryption (TDE), which allows the data to be stored securely, and still allows for random read and write access.
SecureFiles智能重复数据删除(Oracle Advanced Compression Option)提供,使Oracle数据库能够自动检测LOB列或分区中的重复LOB数据,并通过仅存储一个数据副本来节省空间。
SecureFiles智能压缩(可与Oracle高级压缩选项一起提供)可无缝分析SecureFiles LOB数据并压缩以节省磁盘空间。
SecureFiles智能加密(可与Oracle Advanced Security Option一起使用)为LOB引入了新的加密工具。 数据使用透明数据加密(TDE)进行加密,允许数据安全存储,并允许随机读写访问。


SecureFiles LOBs一些注意事项
1、The original LOB storage architecture, BasicFiles LOBs, is the default storage. It is in effect if the keyword SECUREFILE is not used, or if the keyword BASICFILE is used in the CREATE TABLE statement.
原始的LOB存储架构BasicFiles LOB是默认存储。如果没有使用关键字SECUREFILE,或者如果在CREATE TABLE语句中使用了关键字BASICFILE,那么它是有效的。
2、The database administrator may use the db_securefile initialization parameter in the init.ora file to modify initial settings.
数据库管理员可以使用init.ora文件中的db_securefile初始化参数来修改初始设置。
3、A SecureFiles LOB can only be created ina tablespace managed with Automatic Segment Space Management (ASSM)
SecureFiles LOB只能在使用自动段空间管理(ASSM)管理的表空间中创建。
4、Oracle recommends that you enable compression, deduplication, or encryption through the CREATE TABLE statement. If you enable these features through the ALTER TABLE statement, all SecureFiles LOB data in the table is read, modified, and written; this causes the database to lock the table during a potentially lengthy operation.
Oracle建议您通过CREATE TABLE语句启用压缩,重复数据删除或加密。如果通过ALTER TABLE语句启用这些功能,表中的所有SecureFiles LOB数据都将被读取,修改和写入; 这将导致数据库在可能冗长的操作期间锁定表。
5、The SHRINK option is not supported for SecureFiles LOBs.
不支持SHRINK选项。


DB_SECUREFILE参数(默认值是PERMITTED)
NEVER
Any LOBs that are specified as SecureFiles are created as BasicFile LOBs.
指定为SecureFiles的任何LOB都将创建为BasicFile LOB

PERMITTED
LOBs are allowed to be created as SecureFiles.
允许创建LOB作为SecureFiles。

ALWAYS
Attempts to create all LOBs as SecureFile LOBs but creates any LOBs not in an Automatic Segment Space Managed tablespace as BasicFile LOBs, unless SECUREFILE is explicitly specified. 
尝试将所有LOB创建为SecureFile LOB,但是不是ASSM表空间中的LOB创建为BasicFile LOB,除非明确指定了SECUREFILE。

IGNORE
The SECUREFILE keyword and all SecureFile options are ignored.
SECUREFILE关键字和所有SecureFile选项将被忽略。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30126024/viewspace-2146277/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30126024/viewspace-2146277/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值