今天聊聊Oracle Database 21c 十“小”新特性
墨墨导读:Oracle Database 21c 已经在云上提供,线下版本将于2021年上半年提供,这标志着 Oracle 进入了下一个版本周期的创新发布。
关于 Oracle 21c 其实就相当于 Oracle 20c,因为 20c从未进入公众可用的版本发布。在官方的版本计划中,20c 已经被移出,并做出如下声明:
Oracle考虑到2020年我们的客户将面临前所未有的经济和业务中断。我们决定不将Database 20c Preview版本升级为General Availability。相反,我们将所有20c功能都合并到21c版本中,并使21c在我们的“自制数据库免费层”中可用,以便所有人都可以免费试用驱动新功能和增强功能。
在Oracle Database 21c 十大新特性一览 - New Features一文中,我列举了自 20c 开始的十大新特性,在本文中,我将再次遴选10个小特性,与读者分享,相应的,我将本文命名为:Oracle Database 21c 十小新特性一览。
1. In-Memory 基础级支持
Oracle In-Memory 通过列式存储,将行列融于RDBMS一体,从而加速 OLTP 和 OLAP 混合负载,自 Oracle 21c ,Oracle 推出了 In-Memory 特性的基础级功能,通过参数 INMEMORY_SIZE 设置,对 16GB以下的使用免费。从而降低了用户接触这一个性的门槛。
下表展示了这一新特性的设置和使用范例:
2. Sharding 的增强
在21c中,Oracle的 Sharding 选件进一步增强,可以通过 GDS 执行全局的备份和恢复,还可以通过 Advisor 建议助手,进行现有模式的分析,并提出 Sharding 的分片建议。
3. 原生的 JavaScript 支持
在原生的 JSON 数据类型支持之后,21c 还支持了数据库内部的 Javascript 代码执行,通过 DBMS_MLE 的自动引擎转换,将 javascript 的判断直接在数据库内部完成,减少了向前端传输和页面计算的过程,大大提升了性能,简化了开发。
4. 备库的结果集缓存支持
在21c中,主库的结果集缓存,可以在备库获得同样的支持,Result Cache 在合适的场景下,能够极大的提升复杂计算的性能,现在 Data Gaurd 也具备了这一能力:
5. 强制只读的 Oracle Home
在 21c 中,Oracle Home 变得强制只读,所有动态可以变化的文件,都独立在 ORACLE_HOME 之外,通过这一改进,更容易实现对于 Oracle Home 的管理、复制等工作:
6. 诊断控制的增强
众所周知,在 Oracle 数据库中可以设置很多诊断事件,对数据库的工作原理做出干预,而这些设置又极有可能带来数据库管理的不安定因素,所以 DIAGNOSTICS_CONTROL 参数被引入进来,从而对这些设置做出 IGNORE 或者其他判定。
7. 表达式参数
在 Oracle 21c 中可以指定一个表达式作为初始化参数的值。初始化参数的最佳值可能取决于环境特性,如系统配置、运行时决策及其他参数值
在以前的版本中,在设置初始化参数时需要指定一个绝对值,这意味着维持其最佳值需要手动监督和调整,从Oracle数据库21c开始,可以指定一个表达式作为某些初始化参数的值,这使得数据库能够根据环境变化自动调整参数值。这在 Oracle Autonomous Database 环境中特别有用
在 Oracle Real Application Cluster (Oracle RAC) 环境中,为参数值指定表达式也很有用。可以在所有 Oracle RAC 实例中为参数值指定相同的表达式,但该表达式将在每个实例的基础上利用当前实例的环境特征进行评估。这允许数据库对每个 Oracle RAC 实例的参数值进行微调。
8. ANSI SQL表达式的 EXCEPT 支持
不同版本中,对于 ANSI 标注的支持,Oracle 也是不断增强,在21中,集合操作关键字的 EXCEPT 被支持。
9. 关注日志 - Attention Log
在告警日志之外,21c 引入了新的日志成员 -关注日志(Attention Log),在这个日志中明确列出需要特别注意、关注的重要数据库事件,通过这个日志,用户可以及时的获得经过过滤的重要信息:
这类日志的示范信息如下:
{
"WARNING" : "Parameter PGA_AGGREGATE_LIMIT specified is high",
"URGENCY" : "IMMEDIATE",
"INFO" : "WARNING: pga_aggregate_limit value is too high for the amount of physical memory on the system PGA_AGGREGATE_LIMIT is 2048 MB PGA_AGGREGATE_TARGET is 29 MB.
physical memory size is 7042 MB limit based on physical memory and SGA usage is 1218 MB SGA_MAX_SIZE is 5120 MB ",
"CAUSE" : "Memory parameter specified for this instance is high",
"ACTION" : "Check alert log or trace file for more information relating to instance configuration, reconfigure the parameter and restart the instance",
"CLASS" : "CDB Instance / CDB ADMINISTRATOR / AL-2000",
"TIME" : "2020-06-24T04:25:35.334-07:00"
}