在 Oracle 的 Workflow Manager 工作空间中使用数据压缩

通过使用批量加载操作的表压缩,可在使用诸如直接加载或“选择时创建表”(CTAS) 等操作执行批量加载时压缩数据。压缩可用于常规数据处理操作,例如 INSERT、UPDATE 和 DELETE。压缩可用于各种类型的工作量,例如在线事务处理 (OLTP) 或数据仓库。您的写入性能不会下降,但读取性能或查询会有所提高。这是因为与必须等待数据解压完成的桌面压缩技术不同,Oracle 技术可以直接读取压缩数据(所需提取更少),并且不需要进行任何解压操作。

压缩技术在应用程序间完全透明。这意味着,您可在如 ArcGIS 和 Workflow Manager 等所有应用程序中使用此技术。

使用表压缩时要求 Oracle 数据库与 11.1 或更高版本兼容。以下是压缩关键字的语法。

COMPRESS [FOR {ALL | DIRECT_LOAD} OPERATIONS]

默认为 FOR DIRECT_LOAD;它引用之前版本中的批量加载操作。FOR ALL OPERATIONS 适用于 OLTP 和直接加载。

以下是压缩关键字的示例。

--Enable compression for new tables:
CREATE TABLE t1 COMPRESS FOR ALL OPERATIONS;
--Enable compression on existing table:
ALTER TABLE t2 COMPRESS FOR ALL OPERATIONS;
--Does not trigger compression on existing rows

要使用新的压缩算法,必须使用 COMPRESS FOR ALL OPERATIONS 子句来标记您的表。可在创建表时进行此操作,也可在创建之后进行。如果在使用 COMPRESS 子句时未指定任何 FOR 选项,或者使用 COMPRESS FOR DIRECT_LOAD OPERATIONS 子句,则将使用较早版本中提供的旧压缩机制。

还可以在分区或表空间级别上启用压缩。例如,可以使用 CREATE TABLESPACE 命令的 DEFAULT 存储子句有选择地指定 COMPRESS FOR 子句。

注注:

可使用视图中的 COMPRESS 和 COMPRESS_FOR 列(如 DBA_TABLES 和 DBA_TAB_PARTITIONS)来查看表的压缩标记。

压缩和 TDE

如果正在使用 TDE 表空间加密,则可获得全部压缩功能(标准压缩、高级压缩以及 Exadata 混合列式压缩 [EHCC]),因为压缩在数据块加密之前就已应用。使用 TDE 列加密只能获得针对未加密表列的所有压缩功能。通过 TDE 列加密进行加密的各个表列所获得的压缩级别要低得多,因为加密在高级压缩进程之前就已在 SQL 图层中发生。

有关详细信息,请参阅 Oracle 11g:透明数据加密 (TDE) 常见问题

5/10/2014