主要观点:
- Oracle Database 12c 引入的数据编辑(Data redaction)在 Oracle Database 23ai(23.6)中继续演进,增强了
DBMS_REDACT
包的灵活性和 SQL 兼容性。 - 文章通过实际 SQL 示例深入介绍了这些新功能,且需注意
DBMS_REDACT
包下的编辑功能在非 Oracle Autonomous Database 时是收费选项。
关键信息和重要细节:
- 设置环境:创建用户模式和示例表,添加编辑策略以编辑
PAYMENT
列,验证表和数据。 - 编辑列在 SQL 表达式和视图中:在 23ai 中,涉及编辑列的 SQL 表达式和视图有效,如创建使用聚合函数的视图,19c 中会报错。
GROUP BY
在带有编辑列的表达式上:23ai 中可对来自编辑列的表达式进行分组,19c 会报错。- 使用
DISTINCT
和ORDER BY
在编辑列上:23ai 允许对编辑列使用这些子句,19c 会失败。 - 集运算符与编辑列:23ai 可在涉及编辑列的查询中使用集运算符,19c 会暴露未编辑的数据。
- 编辑行为和策略优化:任何对编辑列的 SQL 表达式都导致全编辑,表达式结果为不支持的数据类型时返回 NULL,策略表达式得到优化。
- 支持功能索引和扩展统计:23ai 可对编辑列创建功能索引和收集扩展统计,提高查询性能。
- 最终考虑:数据编辑是保护敏感信息的强大功能,23ai 的增强消除了实际限制,使编辑策略更易集成,但非 Oracle Autonomous Database 需有相应许可。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。