作者:胖头鱼的鱼缸(尹海文) Oracle ACE Pro: Database PostgreSQL ACE 10年+数据库行业经验 拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证 墨天轮MVP,ITPUB认证专家 圈内拥有“总监”称号,非著 名社恐(社交恐怖分子) 全网同名:胖头鱼的鱼缸 ITPUB:yhw1809 除授权转载并标明出处外,均为“非法”抄袭

Oracle AI Database 26ai的2026年4季度补丁(23.26.4)如约而至,本期进行总结,前面版本新特性回顾如下:
数据库管理-第225期 Oracle DB 23.5新特性一览(20240730)
数据库管理-第256期 Oracle DB 23.6新特性一览(20241031)
数据库管理-第287期 Oracle DB 23.7新特性一览(20250124)
数据库管理-第316期 Oracle DB 23.8新特性一览(20250417)
数据库管理-第349期 Oracle DB 23.9新特性一览(20250717)
数据库管理-第376期 Oracle AI DB 23.26新特性一览(20251016)
数据库管理-第404期 Oracle AI DB 23.26.1新特性一览(20260128)
数据库管理-第423期 Oracle AI DB 23.26.2新特性一览(20260504)
胖头鱼的技术专栏-450 Oracle AI DB 23.26.3新特性一览(20260723)
可扩展ADDM允许DBA把自己的诊断逻辑(PL/SQL编写)注册为扩展,由ADDM执行。逻辑放在用户创建的PL/SQL包里,通过
DBMS_ADDM包的
register_rule API注册。每条注册规则有发布者(publisher)和所有者,可以选择只在所有者手动运行的ADDM任务中启用,或在包括后台自动任务在内的所有任务中启用。扩展始终以注册者的权限执行,即便ADDM自动任务由SYS运行也一样。注册时可以挂在某个父规则之下,也可以作为顶层规则始终执行。
DBMS_ADDM_UTIL包提供了一批实用函数,用于取AWR里的统计值或等待事件、构造ADDM发现或建议样式的字符串等。扩展输出出现在常规ADDM报告中,带发布者标注,与内置规则区分。
很多DBA都攒了一套自己写的性能分析脚本,版本要自己管,每台候选数据库都得跑一遍,又费手工又容易出错。现在脚本注册一次存进数据库,打补丁、升级之后依然可用。
标量量化通过独立量化向量的每个维度来压缩高维数据向量,本次该能力扩展到全局IVF索引上。
标量量化的IVF索引在保持语义相关性的前提下,大幅降低存储需求,适合以简单、低存储占用为优先的场景。
可以在主读写Raft集群之外创建只读Raft集群作为其副本,用于灾难恢复,也用于把只读数据放到离消费者更近的位置。
跨区域灾备强化业务连续性,副本靠近用户和应用,只读数据的访问也更快。
对DRCP和PRCP的隐式池化,Oracle AI Database默认对支持的隐式池化连接开启自动会话状态恢复。
跨隐式池边界的会话状态管理交给数据库来做,应用侧的负担减轻;需要应用自行处理的状态还可以通过回调介入。
BAR_CHART()是一个用数值直接生成条形图的函数。
查询结果里数值的分布可以直观呈现,简单报表不必再拉到应用侧画图。
DBMS_AI_GRAPHRAG包在标准向量RAG的基础上叠加图遍历能力,用GraphRAG提升RAG的准确性。
相比只靠向量的RAG,GraphRAG在结构和推理上有明显优势:支持多跳推理,复杂查询的准确率更高,答案也更容易解释和审计。
建Iceberg表时可以定义每一列映射到的Oracle数据类型,插入时就能用更宽范围的Oracle类型。比如把Iceberg的
LIST或
ARRAY映射为Oracle
VECTOR,把不限长度的Iceberg
STRING映射为定长或扩展的
VARCHAR、或
CLOB。
用户对Iceberg列类型到Oracle类型的映射有了控制权,更多Oracle数据类型可以装进Iceberg表,类型与数据及其用途更匹配。加载前重塑数据的必要性降低,Iceberg数据在Oracle应用和向量工作负载里也更好用。
Select AI的translate动作在原有OCI翻译服务(OCI Language)之外,新增Google、AWS和Microsoft Azure的翻译服务。
全球新闻、社交媒体内容、产品文档等场景的翻译能力接入更方便,还能与其他Select AI功能串成流水线,用来处理LLM的局限或按用户、按地区定制输出。
Iceberg表属性存储在Iceberg表的元数据中,用于配置和管理影响Iceberg行为与互操作性的表级设置。建表时可以指定,之后也能用SQL更新,不动schema就能定制表的行为。
这是配置表级行为的标准化、灵活方式,不用改表定义或应用代码。Oracle数据库与Apache Iceberg生态的互操作性更好,工作负载可按需调优,Data Lake管理更省事;组织可以在多张Iceberg表之间一致地管理存储、性能与维护设置,同时与其他Iceberg计算引擎保持兼容。
通过Oracle AI Database访问的Iceberg表现在支持
DELETE和
UPDATE语句,非分区表和分区表都适用。
应用和管理员用标准SQL就能直接修正、维护、删除Lakehouse数据,不用先把数据拷进Oracle管理的表,也不必依赖另一个独立的处理引擎。
分布式HNSW查询在找到最近邻之后,往往还需要回表取业务属性。把常用列纳入索引(包含列)后,查询可以直接从索引返回这些值,省掉回表环节。
对AI应用来说,一次高效检索即可同时拿到相关记录和所需的业务数据,响应更快。
JSON-to-Duality Migrator此前从一组JSON文档生成初始关系schema和二元性视图。现在可以在此基础上增量引入更多JSON文档集合来扩展schema,支持应用集合的分批接入,同时复用已有的关系结构。
团队可以分阶段迁移和接入JSON集合,减少扰动,避免重复设计schema;复用已有的关系结构和二元性视图,先前的开发投入得以保留,应用现代化更快,数据模型也能随新集合的需求演进。
分布式HNSW索引此前的刷新机制是全量重建:DML越积越多,重建越来越慢,索引检索能力也跟着受限。增量快照只应用上次快照以来的变更。
该特性显著加快索引刷新,对持续更新的AI工作负载至关重要。
Oracle AI Database的多语言引擎(MLE)集成WebAssembly(Wasm)之后,由Rust、C、C++等语言编译而来的可移植、语言中立模块可以在数据库内安全运行。
能直接进数据库的现有库和开发者技能池变大了,专门的算法不必再为入库重写一遍、也不必经外部进程接口绕一圈。
SELECT *现在可以与其他列名、常量或表达式组合使用。
SELECT子句的投影写法更灵活,补列不用再整串重写。
多向量检索把近似向量检索扩展到分层查询:不再返回一个扁平的top-K列表,而是在多个层级里找出"最好的分区里的最好的行",比如最好的书里最好的段落里最好的句子。它在分区行数限制查询上增加了基于HNSW的访问路径,
PARTIAL与
FULL两种promotion模式控制分区如何入选、返回多少行,HNSW索引需包含partition-by键。实现上复用现有的过滤、可见性、量化和rescore能力,磁盘结构与数据字典均无变化。
应用可以直接用SQL表达分组语义检索,省去多次查询和客户端重新分组。HNSW加速支持分区感知遍历与提前终止,降低延迟与资源消耗;沿用既有语法与基础设施,采用成本低、风险小,结果也更贴近实体级的业务需求。
通知指令提供了一种高效方式,用来记录(journal)并查询数据库事务对JSON关系二元性视图及其底层表的变更。记录的通知按事务提交时间排序,内容与提交时刻的数据一致。
典型用途有三类:把修改过的二元性视图文档或表行复制到另一个数据库(包括文档库和其他非Oracle数据库);维护中间层的二元性视图文档缓存;生成变更通知事件供微服务消费,比如新采购订单文档的创建可以触发履约、支付等微服务的后续动作。
Oracle ODBC驱动此前用不了OCI会话池,应用也就享受不到更短的连接时间,以及Application Continuity、Transparent Application Failover、Transparent Application Continuity这些能力。现在ODBC驱动提供选项使用会话池及其配套功能,DRCP也因此对这类应用可用。
支持AC、TAF、TAC之后,应用在计划内或计划外停机时都能不被打断地继续工作。
PL/SQL过程执行时返回的隐式结果集现在支持预取。提供两种方式:沿用
OCI_ATTR_PREFETCH_ROWS,所有隐式结果集合计预取行数不超过该设置;新增
OCI_ATTR_PREFETCH_IMPL_CURSOR,单个隐式游标的预取行数不超过该设置。
从DB2和SQL Server迁移过来的应用,过程返回多个隐式结果集时往往要付额外的数据库往返,因为Oracle ODBC驱动此前不预取这些结果。该增强把预取提前到过程执行时,往返减少,性能随之改善。
乘积量化(Product Quantization)将每个高维向量切分为若干子向量,用训练出的码本中最接近的质心编号替代原始向量值,从而在HNSW图中存储紧凑的压缩表示。建索引时指定期望的压缩率,由数据库确定对应的量化参数;相似度检索时索引在压缩表示上运行,还可选rescore因子用原始未量化向量对top-K结果做精修。
该特性降低向量检索工作负载的内存占用,同样的内存可以索引和检索更大的向量数据集。压缩率可按工作负载自行选择,配合rescore在内存、检索性能与精度之间灵活取舍。
用户和外部事务管理器可以把数据库中已有的无会话事务提升为XA事务:无会话事务里已做的全部修改纳入XA事务范畴,按XA的两阶段提交语义提交或回滚。用户界面和XA的两阶段提交语义都没有变化。
事务启动时不必绑定数据库会话,等工作扩展到多个系统时再无缝提升为XA事务。分布式业务操作由此获得更强的一致性、更好的可扩展性、更简单的应用设计和可靠的故障恢复。
定义在外部表上的物化视图(比如数据来自云对象存储的那类)现在支持快速刷新和查询重写。
只刷变化的数据、不再全量刷新,资源消耗和刷新时间都明显下降。云端数据湖架构里那些体量大、更新频繁的外部数据集,用起来更容易也更高效。
Top-N查询(
FETCH FIRST)现在可以使用
FOR UPDATE [SKIP LOCKED]子句。
应用一次锁定并取走有限的几行,多个worker就能并行分批处理同一个数据集,不必互相等对方手里的锁。
Select AI把"自然语言转SQL"的范围从表扩展到数据库原生属性图,可以回答诸如"找出认识的人收藏过同一篇帖子的人"或"通过3到7个中间人找到的人名"这类问题。
开发者用熟悉的数据库和自然语言接口就能暴露图相关的洞察,减少定制集成与查询开发工作量;业务用户不用学图查询语言,也能探索复杂的关系、依赖与模式,分析更快、决策更快,数据库的安全与治理同样保留。
可以在自己组织控制的虚拟机上运行LLM,把它的私有端点配置进AI Profile供Select AI使用。
模型选择、定制、数据驻留和安全都掌握在自己手里,数据尽量不出私有环境。开发者通过熟悉的AI Profile配置接入组织自有的模型,业务用户则得到贴合本领域策略的AI体验。
宏此前要求用PL/SQL来构造并返回SQL字符串,能力很强,但简单常见的用法也被搞得冗长复杂。现在提供了简化的宏语法,写简单宏不必再绕PL/SQL接口,友好得多。
宏的本质是可跨SQL语句复用的参数化表达式,标量值和表值都可以;允许表值参数之后,还能用它定义参数化视图。
新增一组表函数,把行切分进基于时间的窗口:
TUMBLE(滚动)、
HOP(滑动)、
CUMULATE(累积)和
SESSIONS(会话)。
批处理模式下按时间分析数据用得上,窗口的设计参照了Flink SQL的窗口表值函数。
Pro C、ProCOBOL这类预编译器用嵌入式SQL连接数据库、执行语句,此前创建的是专有连接,用完即毁。会话池把连接的建立与销毁成本摊薄,运行时执行完SQL立即释放连接,并通过显式请求边界支撑TAF、AC、TAC这类高可用能力。
预编译器应用用上会话池后,计划内和计划外停机都能被平滑处理。
该特性把透明分片支持加进OCI会话池:应用拿到的是逻辑会话,OCI按需建立并路由物理数据库连接到相应的分片或catalog。还支持单分片执行(Single Shard execution):会话在第一条语句后绑定到选定分片,直到释放;对事务,新的会话属性可让语句直接路由到目标分片而不经过catalog,单分片事务保持绑定到该分片直至提交或回滚。
应用不用再显式管理分片键或实现分片路由逻辑,开发和维护成本明显下降。运行大规模、高度分布式事务处理系统的企业,用很小的代码改动就能采用分片数据库,扩分片、保高可用都更顺。
在基于Raft的分布式系统里,见证副本是一个轻量级节点,不保存完整的数据库副本,只接收并应用Raft日志来跟踪共识状态变化,同时参与领导者选举和事务提交的法定人数投票。
它以不复制数据的存储开销实现容错与可扩展性,很适合大规模部署,最多可节省33%的存储。
ezTLS是一种用TLS保护Oracle数据库客户端与服务器之间通信的简单方式,不需要客户配置证书或钱包。
它被设计为原生网络加密(NNE)的简便替代:保留NNE简单的部署模式,底层用TLS协议做网络加密。SQL*Net数据在传输中被加密,不必创建或部署钱包,也不必配置证书或证书权威,少量配置改动即可开启加密;现有的数据库认证方式(用户名密码、Kerberos等)照旧单独使用。
Oracle AI Database 26ai的2026年4季度补丁(23.26.4),向量检索相关的增强占了大头:两种量化(标量、乘积)、包含列、增量快照、多向量检索,全在给大规模AI工作负载铺路;GraphRAG、Select AI的图查询与私有LLM接入把AI能力又往数据库里推了一层;Iceberg表的DML支持则补上了Lakehouse场景的关键一环。
老规矩,知道写了些啥。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31466763/viewspace-3186723/ ,如需转载,请注明出处,否则将追究法律责任。