RSS订阅
RSS订阅TT数据库

Oracle 11g新特性之SecureFiles(二)

2008-8-1  选择字号:  | |
打印本文章

导读:Oracle 11g数据库新推出了一个完全重新设计的大对象(LOB)数据类型用于大幅度的提高性能、可管理性和简化应用的开发。

关键词:Oracle11g Oracle11g新特性 Secure Files Oralce

正在加载数据...

  下面是一个创建Securefiles的例子:


create TABLE func_spec( 
id number, doc CLOB ENCRYPT USING ’AES128’ ) 
LOB(doc) STORE AS SECUREFILE 
( DEDUPLICATE LOB CACHE NOLOGGING ); 

  可以使用alter TABLE table_name MODIFY来修改当前的Securefiles的各种属性,例如: 


alter TABLE t1 MODIFY LOB(a) ( DEDUPLICATE LOB ); 

  使用此命令能修改的Securefiles属性如下:

  DEDUPLICATE/KEEP_DUPLICATES: DEDUPLICATE选项允许指定在一个LOB列中有两行或者更多行的时候,所有行都共享同样的数据块。相反的就是KEEP_DUPLICATES选项。Oracle11g数据库使用一个安全的哈希索引来检测重复性并且联合LOBs的内容到一个单一的拷贝里面,减少存储空间并且简化存储管理。

  VALIDATE:对SecureFiles执行一个字节到字节的比较,确定SecureFiles都是同样的安全哈希值。

  COMPRESS/NOCOMPRESS:决定是否启用LOB压缩。

  ENCRYPT/DECRYPT:决定是否启用LOB加密。如果一旦设置好了加密,就只能用alter TABLE REKEY命令来更新加密算法或者是加密值。

  RETENTION:只能影响使用alter TABLE语句之后所创建的空间。

  对于Securefiles的访问,Oracle11g数据库是通过使用DBMS包来实现的。主要是通过DBMS_LOB包和DBMS_SPACE包来访问。

  DBMS_LOB包:LOBs继承LOB列的设定的属性,当然也可以通过LOB locator API配置成每个LOB级别上。但是LONG API不能用于配置这些LOB设定,必须使用DBMS_LOB包来设定这些属性:

  DBMS_LOB.GETOPTIONS:可以用来获取设定,每个选项类型的预定义的一个常量对应于一个整数将会返回。

  DBMS_LOB.SETOPTIONS:用于设定特性并且允许在每一个LOB基础上设定特性,会覆盖所有默认的LOB设定。

  DBMS_LOB.GET_DEDUPLICATE_REGIONS:这个存储过程用于输出在一个LOB中不重复区域的记录收集。LOB级别上只包含一个不重复区域。

  DBMS_SPACE.SPACE_USAGE:这个存储过程用于返回LOB空间使用的负载信息。返回在LOB段中所有LOB使用的磁盘空间的blocks的数量。这个存储过程目前只能用于ASSM创建的表空间,不支持属于BasicFiles那部分LOB使用的空间。

  对于从BasicFiles移植SecureFiles,有两种推荐的方法来移植。这两种方法分别是交换分区和在线重定义。

  交换分区:

  需要和表中最大的分区相等的额外空间

  在交换的时候可以维护索引

  能够在几个小的维护窗口延展工作负载

  执行交换分区的时候需要将表或者分区离线

  在线重定义:

  不要求表或者分区离线

  可以被并行的执行

  要求额外的等于整个表或者所有LOB段大小的可用空间

  要求必须重建所有的全局索引

  如果你想升级你的BasicFiles到SecureFiles,你可以使用传统的方法来升级数据,例如CTAS/ITAS、export/import、column-to-column拷贝等等。大部分这些解决方案都要求使用两倍的磁盘空间来移植。然而,使用分区解决方案来移植可以按照每个分区来移植,从而有助于减少磁盘空间的需求。


Oracle 11g新特性之SecureFiles
 Oracle 11g新特性之SecureFiles(一)
 Oracle 11g新特性之SecureFiles(二)

原文出处:http://tech.it168.com/db/2007-08-07/200708071158859.shtml
来源:IT168    作者:allan    
相关的专家答疑
为什么要使用DECODE函数来减少处理时间?如果你有简单无关联的数据库应该怎么处理?如何删除重复记录?
如何选择适合的Oracle优化器?访问Table的方式有哪些?共享的SQL语句必须符合那些条件?作者在本文中详细介绍了这些方面的内容。
在外键列上有索引吗?本文主要介绍辅助表上更多的内容。输出内容意味着什么?你可以立即判断出这样一个事实,不是所有表上都有主键,有15个表,但这里只返回了14行……
关于顾问工具你有多种选择,理解它们是做什么的,如果你没有工作在生产或开发环境中你使用它们做什么?可能仅仅是喜欢,即使你处于一个开发环境,但你可能也没有……
假设你在下面的两个查询中做一个选择(再次使用HR方案):查询1和……,但是这些查询的查询结果集一致吗?如果它们是一致的,你能预计在它们的执行计划中有什么不同吗?

本专题介绍了SQL Server服务代理相关方面的知识,包括SQL Server服务代理基础知识的概述、消息类型、契约、队列、服务和路由、SEND命令和RECEIVE命令、性能方面的改进以及对运行状况的监控等等。

无论你是否计划将SQL Server数据库转换服务(DTS)包迁移到SQL Server集成服务(SSIS)或在SQL Server 2005里运行DTS包,都需要专家的一些建议。这一指南主要是包括SSIS的相关基础知识、技巧帮助你进行SSIS调整,还介绍了SSIS有经验的一些用户的具体信息等等。

子查询是一个嵌套在SELECT、INSERT、UPDATE 或DELETE语句,或者另一个子查询里的查询。一个子查询可以返回一行或多行结果给父查询。标量子查询是只返回一个值的查询:只有一个字段的一行记录。标量子查询可以在SQL语句的大多数位置,其中你可以使用一个表达式或一个实际值。
最新更新
专家答疑
技巧
Michael Hillenbrand
你能解释一下数据库公程师、数据库架构师以及数据库管理员之间有什么区别吗?数据库管理员:这是目前最普遍使用的对从事数据库相关的工作的人的头衔。数据库管理员是指……
Brian Peasland
对5GB大小的Oracle 7.3存档或删除的最佳办法是什么?为了便于管理机构查询,这些数据至少需要再用20年的时间。我们担心将来我们不能对它重新获取并迁入一个更新的……
Rudy Limeback
如何创建一个约束限制2007年1月1日之前的日期被录入?用CHECK约束就可以。如下面的示例……