介绍11g对LOB类型的新增功能。
Oracle的11g中,OracleLOB类型的功能得到了很大程度上的增强,有功能方面的,有性能方面的,还有易用性方面的。
首先Oracle11g的sqlplus已经可以支持BLOB的显示了。在10g及以前版本,是无法在sqlplus里面显示BLOB的,必须要想办法转化为RAW,十分不方便,现在11g的sqlplus已经可以支持LOB类型的显示了。
这个功能完全是在sqlplus客户端工具上完成的,只要sqlplus是11g以上版本,就可以显示blob,和Oracle的server版本没有关系。
$ sqlplus yangtk/yangtk@ytk102
SQL*Plus: Release 11.1.0.6.0 - Production on Mon Aug 20 18:02:36 2007
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> desc t_blob
Name Null? Type
----------------------------------------- -------- -------------------------
ID NUMBER
OTHER BLOB
SQL> COL OTHER FORMAT A50
SQL> SELECT * FROM T_BLOB;
ID OTHER
---------- --------------------------------------------------
1 ABC12340D30392BE398F
SQL>
上面是一个11g的sqlplus客户端,连接到10g的server,执行的查询,下面看看用10g的sqlplus连接11g的server:
E:>sqlplus yangtk/yangtk@ora11g
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 8月 20 15:38:58 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> SELECT * FROM T_BLOB;
SP2-0678: 列或属性类型无法通过 SQL*Plus 显示
在sqlplus中显示BLOB内容只是LOB类型增强的一小部分。Oracle在服务器端对LOB增加很多的功能。
首先LOB类型的容量从4G增加到了最大128T,如果说原来的4G的容量偏小的话,那么128T足够存放任何信息了。
目前数据库容量超过10T的屈指可数,128T几乎可以将任何一个数据库完全的存放在一条记录的一个字段中了。
由于是在笔记本上虚拟出来的11g环境,没有足够的空间来测试这个功能了。
Oracle11g增加了LOB的新存储参数SECUREFILE,使用这个参数可以设置LOB的一些新功能,比如压缩compress、加密encript以及duplicate功能。
设置压缩功能可以对LOB字段进行单独的压缩,这个压缩功能独立于表和索引的压缩。
加密功能可以避免对LOB字段进行明文存放。
DUPLICATE功能使得Oracle可以避免存储相同的LOB数据,对于完全相同的LOB,Oracle实际只存储一份。
除了上面三个新增功能外,Oracle对RETENTION也进行了增强。在11g中对于RETENTION功能进行了细化,增加了MAX/MIN/AUTO/NONE四个关键字。使得用户可以设置LOB类型的读一致性和闪回功能。
11g在nocache和cache reads语句中的logging语句中新增了一个FILESYSTEM_LINK_LOGGING,这种方式的LOGGING只记录元数据的变化。
使用SECUREFILE还可以提高LOB处理的性能。FAST BULK DATA TRANSFER可以提高大数据量访问的性能。LOB PREFETCH可以提高常访问的小数据量LOB的性能。
阅读(270) | 评论(0) | 转发(0) |