Oracle DB加强的数据安全管理(一)

2014-11-24 16:26:24 · 作者: · 浏览: 6
Oracle DB加强的数据安全管理
描述SecureFiles 如何提高大对象(LOB) 数据类型的性能
使用SQL 和PL/SQL API 访问SecureFiles
管理企业信息
组织需要有效且安全地管理许多类型的数据:
结构化:简单数据,对象关系数据
半结构化:XML 文档,文字处理文档
非结构化:介质、医学数据、映像

管理企业信息
如今,应用程序必须处理多种类型的数据,这些数据主要分为结构化、半结构化和非结构化数据。使用大对象(LOB) 的功能,可以将所有这些类型的数据存储在数据库中以及可从该数据库进行访问的操作系统(OS) 文件中。在关系数据库中保存对象关系数据时,文件系统所具有的简单性和性能使其非常适合于存储文件数据。
现有LOB 实施中的问题
LOB 大小限制
主要考虑“单写多读”数据
提供低并发性的DML
用户定义的版本控制
统一CHUNK大小:
– 影响碎片
– 大小上限
Oracle Real Application Clusters (RAC) 的可扩展性问题

现有LOB 实施中的问题
在Oracle8i 中,LOB 设计是基于下列假设做出的:
LOB 实例化的大小预计为几个兆字节。
LOB 通常被视为“单写多读”类型的数据。很少进行更新,所以可以为所有类型的更新(大型或小型)对整个块进行版本化。
预计很少有批处理会流式处理数据。预计不会出现联机事务处理(OLTP) 类型的工作量。
保留的还原量由用户使用PCTVERSION和RETENTION 参数进行控制。这是额外的管理工作。
在假设LOB 大小通常是统一的前提下,CHUNK大小是一个静态参数。CHUNK大小的上限是32 KB 。
预计Oracle RAC 中不会出现高并发性的写入。
自首次实施后,业务要求已发生了显著变化。现在LOB 的使用方式与关系数据的相似,用于存储各种大小的半结构化和非结构化数据。数据大小可以从几千字节(用于HTML 链接)到几兆兆字节(用于流视频)不等。在LOB 中存储所有文件系统数据的Oracle 文件系统会遇到类似OLTP 的高并发性访问。随着Oracle RAC 日益广泛的应用,必须解决Oracle RAC 的可扩展性问题。LOB 空间结构的现有设计不能满足这些新要求。
Oracle SecureFiles
Oracle SecureFiles 重新设计了非结构化(文件)数据的处理方法,提供了以下全新的设计:
磁盘格式
– 可变块大小
网络协议
– 改进的输入/输出
版本化和共享机制
重做和还原算法
– 无用户配置
空间和内存增强功能

Oracle SecureFiles
Oracle Database 11 g 将LOB 数据类型作为Oracle SecureFiles 进行了完全重新设计,显著改进了应用 程序开发的性能、可管理性和易用性。新实施也提供了下一代高级功能,如智能压缩和透明加密。
使用SecureFiles 时,块大小介于Oracle 数据块大小到64 MB 之间。Oracle DB 尝试使数据集中在磁盘的相邻物理位置,从而将内部碎片降到最低。通过使用可变的块大小,SecureFiles 避免对不必要的大型LOB 数据块进行版本化。
SecureFiles 还提供了新的客户机/ 服务器网络层,从而允许在支持更高读写性能的服务器和客户机之间进行高速数据传输。SecureFiles 自动确定生成重做和还原的最有效方法,因而不需要用户定义参数。SecureFiles 自动确定是仅为更改生成重做和还原,还是通过生成完整的重做记录创建新版本。
由于SecureFiles 需要维护各种内存中统计信息以帮助有效地分配内存和空间,所以将其设计为可自适应的智能工具。这样,由于减少了很难使用不可预测的负荷进行优化的可优化参数数量,可管理性有所提高。
启用SecureFiles 存储
可通过下列方法启用SecureFiles 存储:
使用DB_SECUREFILE 初始化参数,此参数可采用下列值:
– ALWAYS | FORCE | PERMITTED | NEVER | IGNORE
使用Enterprise Manager
使用ALTER SESSION | SYSTEM 命令:
SQL> ALTER SYSTEM SET db_securefile = 'ALWAYS';

启用SecureFiles 存储
使用DB_SECUREFILE 初始化参数, 数据库管理员(DBA) 可确定SecureFiles 的使用情况,其中有效值为:
ALWAYS :尝试将所有LOB 创建为SecureFile LOB,但是仅可将自动段空间管理(ASSM) 表空间外的任何 LOB 创建为BasicFile LOB
FORCE:强制将所有LOB 创建为SecureFile LOB
PERMITTED:允许创建SecureFiles (默认值)
NEVER:禁止创建SecureFiles
IGNORE :禁止创建SecureFiles ,并忽略使用SecureFiles 选项强制创建BasicFiles 而导致的任何错误

如果指定了NEVER,则任何指定为SecureFiles 的LOB 均被创建为BasicFiles。如果对BasicFiles 使用任何SecureFiles 特定的存储选项和功能(如压缩、 加密和取消重复),则会导致异常错误。将对任何未指定的存储选项使用BasicFiles 默认值。如果指定了ALWAYS ,则系统中创建的所有LOB 均会被创建为SecureFiles 。必须在ASSM 表空间中创建LOB ,否则会发生错误。将忽略所有指定的BasicFiles 存储选项。可以使用ALTER SYSTEM 命令更改所有存储的SecureFiles 默认值,如幻灯片中所示。
也可以通过单击“Server (服务器)”选项卡中的“Initialization Parameters (初始化参数)”链接来使用Enterprise Manager 设置参数。
SecureFiles:高级功能
Oracle SecureFiles 提供了下列高级功能:
– 智能LOB 压缩
– 取消重复
– 透明加密
这些功能利用了数据库的安全性、可靠性和可扩展性。

SecureFiles:高级功能
Oracle SecureFiles 实施也提供了下一代高级功能,如智能压缩和透明加密。压缩功能支持显式压缩SecureFiles 。SecureFiles 仅为随机读取或写入访问透明解压缩所需的数据块集,从而自动维护未压缩和已压缩的偏移量之间的映射。如果将压缩级别从MEDIUM 更改为HIGH,则映射会自动进行更新以反映新的压缩算法。取消重复可自动检测重复的SecureFile LOB 数据,并通过仅存储一个副本来节省空间-减少磁盘存储空间、I/O 和重做事件记录。可在表级别或分区级别指定取消重复,但不能跨越分区的LOB 。取消重复需要使用高级压缩选项。
现在可以在适当位置存储加密的LOB 数据,并对其进行随机读取和写入,因而提高了数据的安全性。只能按列加密SecureFile LOB (与透明数据加密相同)。将使用相同的加密算法对LOB 列中的所有分区进行加密。无法对Ba