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

2014-11-24 16:26:24 · 作者: · 浏览: 3
具有相同内容的LOB 合并到一个副本中,从而降低存储空间并简化存储管理。LOB 关键字是可选的,它可以使语法变得更清楚。
COMPRESS 或NOCOMPRESS关键字分别启用或禁用LOB 压缩。新的压缩设置会更改LOB 段中的所有LOB。
ENCRYPT或DECRYPT关键字可使用透明数据加密(TDE) 打开或关闭LOB 加密。新设置会更改LOB 段中的所有LOB 。可将LOB 段更改为仅启用或仅禁用LOB 加密。也就是
说,ALTER不能用于更新加密算法或加密密钥。可使用ALTER TABLE REKEY语法更新加密算法或加密密钥。结合使用其它选项,在块级别执行加密可以提高性能(可能为最小的加密量)。
访问SecureFiles 元数据
数据层接口与BasicFiles 的接口相同。


访问SecureFiles 元数据
DBMS_LOB 程序包:LOB 继承取消重复、加密和压缩的LOB 列设置,也可使用LOB 定位器API 在每个 LOB 级别上进行配置。但是不能使用LONG API 配置这些 LOB 设置。必须为这些功能使用以下DBMS_LOB 程序包附加函数:
DBMS_LOB.GETOPTIONS:可使用此函数获得设置。返回与基于选项类型的预定义常量相对应的整数。
DBMS_LOB.SETOPTIONS:此过程设置功能并允许按LOB 设置这些功能,从而覆盖默认的LOB 设置。这需要往返服务器以使更改变成永久更改。
DBMS_SPACE.SPACE_USAGE:使现有SPACE_USAGE 过程超载,以返回有关LOB 空间使用情况的信息。它返回LOB 段中所有LOB 使用的块中的磁盘空间量。该过程仅可对使用ASSM 创建的表空间使用,并且不将属于BasicFiles 的LOB 块视为已使用的空间。
迁移到SecureFiles

使用LOB 接口超集,可轻松从BasicFile LOB 进行迁移。迁移到SecureFiles 有两种建议方法:分区交换和联机重新定义。
分区交换
需要与表中最大分区相等的额外空间
可在交换期间维护索引
可将工作量分散到多个较小的维护窗口
要求表或分区脱机以执行交换
联机重新定义(建议做法)
不要求表或分区脱机
可并行进行
要求额外存储空间等于整个表,并且所有LOB 段均可用
要求重建所有全局索引
这些解决方案通常意味着使用输入LOB 列中的数据所用磁盘空间两倍的空间。但是,使用分区和按分区执行这些操作有助于降低所需的磁盘空间。
SecureFiles 迁移:示例


SecureFiles 迁移:示例
可以使用幻灯片中的示例将BasicFile LOB 迁移到SecureFile LOB。
首先,使用BasicFiles 创建表。该示例使用的是分区表。
然后,在表中插入数据。
之后,创建具有相同分区数的临时表,但是这次使用SecureFiles 。请注意,此临时表具有相同的列和类型。
最后一部分演示了如何使用DBMS_REDEFINITION过程通过先前创建的临时表重新定义表。
SecureFiles 监视
为了显示SecureFiles 的使用情况,已对下列视图进行了修改:
  *_SEGMENTS 
  *_LOBS  
  *_LOB_PARTITIONS  
  *_PART_LOBS
SQL> SELECT segment_name, segment_type, segment_subtype
2  FROM dba_segments
3  WHERE tablespace_name = 'SECF_TBS2'
4  AND segment_type = 'LOBSEGMENT'
5  /
SEGMENT_NAME                 SEGMENT_TYPE        SEGMENT_SU
---------------------------- ------------------ ----------
SYS_LOB0000071583C00004$$    LOBSEGMENT          SECUREFILE

小结

SecureFiles 提高LOB 性能
SQL 和PL/SQL API 访问SecureFiles