数据库管理-第349期 Oracle DB 23.9新特性一览(20250717)
数据库管理349期 2025-07-17
- 数据库管理-第349期 Oracle DB 23.9新特性一览(20250717)
- 1 JavaScript过程和函数的编译时语法检查
- 2 不再需要JAVASCRIPT上的EXECUTE权限
- 3 GROUP BY ALL
- 4 使用SQL创建并测试UUID
- 5 IVF索引在线重组
- 6 JSON到二元性迁移器:使用JSON schema进行模式推理
- 7 数据库认证的多因素认证
- 8 多语言引擎支持数据库驻留连接池
- 9 非位置INSERT INTO SET子句
- 10 Oracle更新建议助手
- 11 Oracle FPP支持Oracle更新助手
- 12 分区维护操作和直接加载全局IVF和HNSW索引
- 总结
数据库管理-第349期 Oracle DB 23.9新特性一览(20250717)
作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database
PostgreSQL ACE Partner10年数据库行业经验
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP,ITPUB认证专家
圈内拥有“总监”称号,非著名社恐(社交恐怖分子)公众号:胖头鱼的鱼缸
CSDN:胖头鱼的鱼缸(尹海文)
墨天轮:胖头鱼的鱼缸
ITPUB:yhw1809
IFClub:胖头鱼的鱼缸
除授权转载并标明出处外,均为“非法”抄袭
又到了一季度一次的Oracle DB 23ai小版本更新,之前的季度更新新特性可查看:
数据库管理-第225期 Oracle DB 23.5新特性一览(20240730)
数据库管理-第256期 Oracle DB 23.6新特性一览(20241031)
数据库管理-第287期 Oracle DB 23.7新特性一览(20250124)
数据库管理-第316期 Oracle DB 23.8新特性一览(20250417)
接下来一起看Oracle DB 23.9(2024起月补丁)带来了什么新特性。
1 JavaScript过程和函数的编译时语法检查
现在,对于使用内联调用规范执行的JavaScript函数,会在编译时进行语法检查,从而在运行时之前为代码提供有价值的分析。
当选择使用某种代码检查工具时,编译时的语法检查可以通过提供额外的代码分析步骤,帮助增强对代码准备状态的信心。这种编译时的支持与创建MLE模块时已有的检查相匹配。
2 不再需要JAVASCRIPT上的EXECUTE权限
用户账户运行JavaScript代码时,不再需要EXECUTE ON JAVASCRIPT权限。
现在,可以创建多语言引擎(Multilingual Engine,MLE)模块并执行内联调用规范来发布JavaScript函数,而无需额外授予EXECUTE ON JAVASCRIPT权限。这为使用MLE提供了更为简化的入门体验。
3 GROUP BY ALL
在包含聚合函数的复杂SELECT列表的SQL查询中,新的GROUP BY ALL子句消除了将所有非聚合列放入GROUP BY子句的需要。相反,新的ALL关键字表明结果应自动按所有非聚合列进行分组。
在GROUP BY子句中无需重复非聚合列,这使得编写SQL查询更快且更不易出错。用户可以使用GROUP BY ALL功能快速构建SQL查询原型或进行快速临时查询。
4 使用SQL创建并测试UUID
UUID是一种128位的通用唯一标识符,广泛应用于应用程序中,用于生成不可预测的随机值,该值可用作表中的主键、事务ID或任何形式的唯一标识符。在Oracle Database 23ai中,SQL函数UUID()根据UUID RFC 9562在数据库中生成版本4变体1的UUID。
UUID生成和操作函数提供了一种合规的方式来生成随机、唯一且不可预测的标识符,该标识符可用于填充数据库表中的主键列,以唯一标识事务ID(例如,用于Oracle Database 23ai中的无会话事务功能),以及用于许多其他目的。
现代应用程序期望能够生成不可预测且随机的UUID。所有主流数据库和数据管理系统都支持某种形式的UUID生成和操作。
当前的Oracle SQL操作符SYS_GUID()总是生成一个可预测的唯一标识序列,而这并不是最优的。
5 IVF索引在线重组
如果基表的更新改变了总体向量分布,那么IVF(索引)的质量可能会随时间降低。现在,在IVF索引仍可用于数据修改语言(DML)和查询时,可以对其进行重组。
如果源表在最初创建索引后发生显著变化,IVF索引可能会变得不平衡。这可能会影响索引的性能和质量。借助IVF索引在线重组功能,可以在索引保持在线且可用于数据修改语言(DML)和查询的同时,重组索引的结构。
6 JSON到二元性迁移器:使用JSON schema进行模式推理
此功能允许JSON到二元性迁移器使用用户提供的JSON schema进行关系schema推理。JSON schema可以单独提供,也可以与数据结合提供,以进行更准确的schema推理。
此功能使JSON到二元性迁移器更容易被那些可能没有大量JSON数据供迁移器分析或不想向迁移器发送机密数据的客户访问。只要每个集合都有JSON schema,他们仍然可以使用迁移器。
7 数据库认证的多因素认证
可以通过为用户启用多因素身份验证来增强Oracle数据库的安全性。您可以通过Cisco Duo或Oracle Mobile Authenticator应用程序使用推送通知,也可以将用户名和密码与基于PKI(公钥基础设施)证书的身份验证相结合。
多因素身份验证是许多数据库所必需的安全要求,特别是在数据库包含敏感数据的情况下。
8 多语言引擎支持数据库驻留连接池
Oracle数据库多语言引擎(Multilingual Engine)中的JavaScript现在可以使用数据库驻留连接池(DRCP)在数据库连接中使用。现在,您可以在DRCP会话中调用JavaScript过程和函数,并使用DBMS_MLE API。
DRCP的支持扩展了对数据库内JavaScript的访问,并允许使用数据库内JavaScript的工作负载利用DRCP的好处,例如提高了可扩展性。
9 非位置INSERT INTO SET子句
Oracle数据库添加了一个新的INSERT INTO SET子句,这是INSERT INTO语句的一种更简单、自文档化的语法。INSERT INTO语句的SET子句与UPDATE语句的现有SET子句相同。
新语法的好处是,可以立即清楚地知道INSERT INTO语句中的哪个值属于哪个列,对于当前具有数百列的INSERT INTO语句来说,这并不明显,也不麻烦。
10 Oracle更新建议助手
Oracle Update Advisor是一个软件更新推荐框架,它提供了将软件保持在推荐版本的信息。
使用Oracle Update Advisor简化了软件维护。结合数据库创建助手(DBCA)和舰队修补和资源调配(FPP)等工具,Oracle Update Advisor为您提供软件状态,并提供更新和维护建议。
11 Oracle FPP支持Oracle更新助手
可以将Oracle Update Advisor与Oracle舰队修补和资源调配(Oracle FPP)结合使用。Oracle Update Advisor是一个软件推荐框架,它分析Oracle数据库和Oracle网格基础架构的运行状况,提供补丁建议,并根据您的补丁维护策略创建功能齐全的黄金映像。这些黄金图像会自动下载到Oracle FPP黄金图像存储库中。
将Oracle Fleet Patching and Provisioning与Oracle Update Advisor结合使用,可以大大简化和优化更新体验。您可以将Oracle Update Advisor用于Oracle FPP本地模式和Oracle FPP中央服务器模式。
12 分区维护操作和直接加载全局IVF和HNSW索引
现在可以对具有全局IVF和HNSW索引的分区表执行分区维护操作。这些操作可以应用于使用各种方法(包括RANGE、LIST、HASH和COMPOSITE)分区的表。
可以在具有全局IVF和HNSW索引的表上执行分区维护操作,如添加、删除、合并和拆分分区。分区的一个关键好处是增加了灵活性,能够单独对表的子集(或分区)执行维护操作,而不会影响相邻分区中的行。这包括带有向量的表。
总结
与前面版本注重AI相关功能扩展不同,本次23.9更新更多的是面向23ai的常规数据库功能扩展。
老规矩,知道写了些啥。