一、引言
2025年10月,在拉斯维加斯举行的Oracle AI World大会上,甲骨文公司正式发布了Oracle AI Database 26ai。甲骨文公司数据库技术执行副总裁Juan Loaiza在主题演讲中表示:"在AI时代蓬勃发展的关键在于快人一步地捕获突破性洞察,实现突破性创新,取得突破性的效率提升。在这一次的里程碑式更新中,Oracle将AI和数据融合在一起,构建了新一代AI原生数据库。"
Oracle AI Database 26ai是一个长期支持版本,用以取代Oracle Database 23ai。该版本于2026年1月正式面向本地Linux x86-64平台发布,版本号为23.26.1。客户只需应用2025年10月的Release Update,即可从23ai升级到26ai,无需进行数据库升级或重新认证应用。据Oracle官方文档披露,26ai包含超过300项新特性,重点聚焦于人工智能和开发者生产力两大方向。
二、VECTOR数据类型
Oracle 26ai引入了全新的原生VECTOR数据类型,用于存储人工智能和机器学习搜索操作所需的向量数据。
数据类型定义:
sql
VECTOR(<dimension_count>, <format>)
其中<format>支持以下四种数值格式:
INT8:8位有符号整数UINT8:8位无符号整数FLOAT32:32位浮点数FLOAT64:64位浮点数
建表示例:
sql
CREATE TABLE house_for_sale (
house_id NUMBER,
price NUMBER,
city VARCHAR2(400),
house_photo BLOB,
house_vector VECTOR -- 向量列
);
该示例来自Oracle官方文档,展示了如何在一张房屋销售表中存储向量数据。VECTOR类型支持不同维度和格式的向量,开发者可以使用任意向量嵌入模型来简化应用开发与部署。
三、AI向量搜索与核心函数
3.1 VECTOR_DISTANCE函数
VECTOR_DISTANCE是执行向量相似性搜索的核心函数,用于计算两个向量之间的距离。结合关系谓词,开发者可以在同一SQL语句中同时执行语义搜索和条件过滤:
sql
SELECT house_photo, city, price
FROM house_for_sale
WHERE price <= :input_price
AND city = :input_city
ORDER BY VECTOR_DISTANCE(house_vector, :input_vector);
该查询同时执行了关系过滤(价格和城市条件)和向量相似性排序,体现了Oracle 26ai统一混合向量搜索的能力。
3.2 vector_embedding函数
vector_embedding() SQL函数支持在数据库内部直接生成向量嵌入。开发者无需将数据导出到外部服务,即可在数据库内完成从非结构化数据到向量的转换。
3.3 混合向量索引
Oracle 26ai支持混合向量索引(Hybrid Vector Index) ,将Oracle Text全文索引的关键词匹配能力与向量索引的语义精度相结合。混合搜索可以显著提升搜索结果的相关性质量。
3.4 DBMS_VECTOR与DBMS_VECTOR_CHAIN包
Oracle 26ai提供了两个核心PL/SQL包用于向量操作:
DBMS_VECTOR包新增了以下过程:
GET_INDEX_STATUS:查询向量索引的创建状态ENABLE_CHECKPOINT/DISABLE_CHECKPOINT:启用或禁用HNSW索引的检查点功能
DBMS_VECTOR_CHAIN包 中的UTL_TO_EMBEDDING过程提供了第三方REST API接口,支持与以下外部嵌入模型交互:
- Cohere
- Google AI
- Hugging Face
- Oracle Cloud Infrastructure (OCI) Generative AI
- OpenAI
- Vertex AI
3.5 DBMS_HYBRID_VECTOR包
Oracle 26ai新增了DBMS_HYBRID_VECTOR PL/SQL包,其中的SEARCH API支持以多种方式查询混合向量索引。新的字典视图<index name>$VECTORS提供了所有索引文档的行标识符、分块和嵌入信息。
3.6 AI Smart Scan
在Exadata平台上,Oracle 26ai配合Exadata System Software 24.1.0引入了AI Smart Scan。该功能能够在Exadata存储服务器端以内存速度处理向量数据,执行向量距离计算和Top-K过滤,避免不必要的网络数据传输和数据库服务器处理,可将AI向量查询性能提升数个数量级。
3.7 SPARSE向量支持
除了DENSE向量外,Oracle 26ai还支持创建SPARSE向量,适用于维度极高但大部分值为零的向量场景。
四、Select AI:自然语言转SQL
Select AI是Oracle 26ai的原生自然语言交互能力,开发者可以通过自然语言提示与数据库交互,系统根据数据库Schema自动生成SQL。
4.1 DBMS_CLOUD_AI包
Select AI通过DBMS_CLOUD_AI PL/SQL包进行配置和管理。该包提供以下核心功能:
- 创建AI配置文件,用于将自然语言提示转换为SQL语句
- 支持OCI Generative AI等多种AI提供商
4.2 四种操作模式
Select AI支持四种操作模式:
- runsql:执行AI生成的SQL
- showsql:返回SQL语句但不执行
- narrate:返回LLM对查询结果的文字解释
- chat:与LLM进行通用对话
五、CALENDAR日历函数
Oracle 26ai新增了一套CALENDAR日历函数,用于简化DATE和TIMESTAMP数据的交互操作。日历函数分为三种类型:
- CALENDAR:标准公历
- FISCAL:自定义起始日期的财年日历
- RETAIL:基于美国零售联合会(NRF)4-5-4日历的零售日历
5.1 基础日历函数
sql
SELECT
calendar_year(DATE '2026-02-25') AS year,
calendar_quarter(DATE '2026-02-25') AS quarter,
calendar_month(DATE '2026-02-25') AS month,
calendar_week(DATE '2026-02-25') AS week,
calendar_day(DATE '2026-02-25') AS day;
执行结果:
YEAR QUARTER MONTH WEEK DAY
2026 Q1-2026 FEB-2026 W08-2026 25-FEB-2026
5.2 起止日期函数
sql
SELECT
calendar_year_start_date(DATE '2026-02-25') AS year_s,
calendar_year_end_date(DATE '2026-02-25') AS year_e,
calendar_quarter_start_date(DATE '2026-02-25') AS quarter_s,
calendar_quarter_end_date(DATE '2026-02-25') AS quarter_e,
calendar_month_start_date(DATE '2026-02-25') AS month_s,
calendar_month_end_date(DATE '2026-02-25') AS month_e,
calendar_week_start_date(DATE '2026-02-25') AS week_s,
calendar_week_end_date(DATE '2026-02-25') AS week_e;
执行结果:
YEAR_S YEAR_E QUARTER_S QUARTER_E MONTH_S MONTH_E WEEK_S WEEK_E
01-JAN-26 31-DEC-26 01-JAN-26 31-MAR-26 01-FEB-26 28-FEB-26 19-FEB-26 25-FEB-26
5.3 位置序号函数
sql
SELECT
calendar_year_number(DATE '2026-02-25') AS ynum,
calendar_quarter_of_year(DATE '2026-02-25') AS qoy,
calendar_month_of_year(DATE '2026-02-25') AS moy,
calendar_month_of_quarter(DATE '2026-02-25') AS moq,
calendar_week_of_year(DATE '2026-02-25') AS woy,
calendar_day_of_year(DATE '2026-02-25') AS doy,
calendar_day_of_quarter(DATE '2026-02-25') AS doq
FROM dual;
这些函数返回指定日期在年、季度、月、周中的序号位置。
六、SQL BOOLEAN数据类型
虽然PL/SQL早已支持BOOLEAN类型,但Oracle 26ai首次将BOOLEAN数据类型引入SQL层面。主要技术特性包括:
- PL/SQL存储函数现在可以直接从SQL中调用带有BOOLEAN参数类型的函数
- BOOLEAN表达式和BOOLEAN字面量在SQL中全面支持
- 新增TO_BOOLEAN函数,用于将数字和字符类型转换为BOOLEAN类型
- TO_NUMBER 、TO_CHAR 、TO_NCHAR函数新增BOOLEAN重载,支持将BOOLEAN值转换为数字或字符类型
- CAST运算符支持将表达式转换为BOOLEAN类型
- 隐式转换需将初始化参数
PLSQL_IMPLICIT_CONVERSION_BOOL设为TRUE - 管道表函数和多态表函数(PTF)支持返回BOOLEAN数据类型的列
七、数据库内机器学习增强
7.1 GLM链接函数扩展
Oracle 26ai为广义线性模型(GLM)算法新增了以下逻辑回归链接函数:
- probit:适用于二分类目标变量(如胜/负、流失/未流失、购买/未购买)
- cloglog(互补对数-对数):非对称链接函数,适用于目标变量中某一结果较为罕见的情形,如医疗条件复发时间预测
- cauchit:对数据记录错误等情况具有更强的鲁棒性
7.2 指数平滑法自动模型搜索
指数平滑法(ESM)算法新增了自动模型搜索功能,当开发者不指定EXSM_MODEL设置时,系统可自动选择预测模型类型及相关超参数,从而生成更准确的预测模型。该功能使非专家用户无需深入理解算法超参数即可进行时间序列预测。
7.3 ESA密集投影与嵌入支持
OML4SQL中的显式语义分析(ESA)算法现在支持输出带有嵌入的密集投影,功能上等同于doc2vec(文档到向量)表示。该表示可作为其他机器学习技术(如分类和回归)的输入,提升纯文本或与结构化数据组合使用的预测准确性。
7.4 ONNX模型外部初始化器内存共享
Oracle 26ai支持ONNX模型外部初始化器的内存共享,将大型初始化器加载到全局内存中并在会话间共享,有效降低内存使用并提升并发推理工作负载的可扩展性。
7.5 数据血缘追踪
新增的BUILD_SOURCE列(位于ALL/USER/DBA_MINING_MODELS视图中)允许用户访问用于生成模型的训练数据查询语句。该功能将查询字符串记录在模型元数据中,以更好地支持机器学习生命周期和MLOps。
八、JSON与多模态数据处理
8.1 SQL/JSON新函数与操作符
Oracle 26ai新增了多项SQL/JSON函数和操作符,使在SQL和PL/SQL中处理JSON文档更加简便高效。
8.2 JSON关系二元性视图
数据可以通过JSON文档或关系表两种方式透明地访问和更新,开发者可以同时享受两种数据模型的优势。
8.3 操作属性图
开发者可以直接在Oracle AI Database中针对运营数据构建实时图分析应用,通过PGQL进行图查询。
九、安全与合规特性
9.1 抗量子加密
Oracle 26ai实施了NIST认可的抗量子算法ML-KEM对传输中的数据进行加密。2026年1月的更新进一步增加了混合模式密钥交换支持,结合了ECDHE(成熟的经典算法)和ML-KEM(NIST批准的最新后量子算法)的优势。
9.2 OAuth2与Azure AD集成
通过JDBC或python-oracledb等客户端驱动,OAuth2令牌可在每次SQL执行时传递到数据库。26ai新增了与Microsoft Azure AD OAuth2的集成,支持从Azure Cloud对Oracle AI Database服务实例或本地数据库进行单点登录。
9.3 Schema级权限与开发者角色
系统权限现在可以在Schema级别 授予,简化了权限管理流程。新增的开发者角色允许管理员快速为开发者分配其设计、构建和部署应用所需的必要权限。
9.4 Oracle SQL防火墙
SQL Firewall已内置在Oracle AI Database中,通过监控和阻断未授权的SQL及SQL注入攻击,提供实时防护。
十、性能与开发者特性
10.1 无锁预留(Lock-Free Reservations)
无锁列值预留允许应用在列中预留部分值而无需锁定行------例如预留银行账户余额的一部分或预留库存中的某个商品,而不会锁住对该账户或商品的所有其他操作。
10.2 Kafka API支持
Kafka应用可以以最小代码变更直接运行在Oracle AI Database上,充分利用高性能事务事件队列(TxEventQ)。
10.3 JavaScript存储过程
开发者现在可以使用JavaScript在数据库中创建存储过程,并可利用海量的JavaScript库。
10.4 Data Use Case Domains
Data Use Case Domains允许开发者以集中、轻量的方式声明数据列的预期用途(如电子邮件、URL、密码、货币等),应用可利用这些域自动生成代码或验证值。
10.5 Raft复制支持
Oracle全球分布式数据库在26ai中引入了Raft复制功能,在节点或数据中心故障时可实现亚秒级故障切换。
十一、升级路径
Oracle AI Database 26ai是一个长期支持版本。对于23ai用户,只需应用2025年10月的Release Update即可完成升级。26ai的Release Update按季度发布,版本号从23.26.0(2025年10月)开始,后续依次为23.26.1(2026年1月)、23.26.2(2026年4月)、23.26.3(2026年7月)等。
十二、结语
Oracle AI Database 26ai通过VECTOR数据类型、VECTOR_DISTANCE函数、vector_embedding函数、DBMS_VECTOR/DBMS_VECTOR_CHAIN/DBMS_HYBRID_VECTOR包、CALENDAR日历函数系列、SQL BOOLEAN类型、GLM扩展链接函数等具体技术组件,将AI能力深度集成到数据库内核的每一个层面。从数据类型到SQL函数,从PL/SQL包到系统视图,26ai为开发者提供了一整套在数据存储位置直接运行AI工作负载的技术工具链,使企业能够在不迁移数据、不重构应用的前提下拥抱AI。