编程 Oracle AI Database 26ai 深度实战:当五十年的关系数据库长出 AI 的骨骼——从向量搜索到 Agentic AI、Autonomous Lakehouse 的完整拆解(2026)

2026-06-17 18:22:45 +0800 CST views 59

Oracle AI Database 26ai 深度实战:当五十年的关系数据库长出 AI 的骨骼——从向量搜索到 Agentic AI、Autonomous Lakehouse 的完整拆解(2026)

一、这不是一次普通的版本更新

2026 年 1 月,Oracle 发布了 26ai。

如果你还以为这只是一次常规的大版本升级,那你可能错过了数据库行业过去五年最重要的一次范式转换。

从版本号上就能看出变化的重量——Oracle 不再沿用「21c」「23c」的命名方式,改成了「26ai」。c 没有了,ai 加上了。 这不是营销话术,而是字面意义上的架构级转向:AI 不再是数据库的一个插件、一个可选功能包,而是嵌入到存储引擎、查询优化器、索引结构、安全模型和运维系统里的原生能力。

我从 2008 年开始和 Oracle 打交道,经历过 10g RAC 的高可用洗礼、11g 的 SQL 调优黄金时代、12c 的 CDB/PDB 架构革命,再到 19c 和 23ai 的平稳过渡。但 26ai 给我的感觉不同——它不是在修补老房子,而是在打地基的时候就把 AI 的管线埋进去了。

这篇文章会从五个核心维度——向量搜索引擎、Agentic AI 智能体、Autonomous AI Lakehouse、自动驾驶运维、Deep Data Security——逐个拆解 26ai 的底层设计,附带真实可用的 SQL 和架构方案,最后给出生产环境落地的完整路线图。目标是让每一位 DBA 和后台开发都能看懂:这个数据库到底变了什么,我明天该怎么应对。


二、向量搜索引擎:关系数据库终于能理解「意思」了

2.1 从关键词匹配到语义检索

传统关系数据库的查询方式,本质上是对字符串的精确或模糊匹配。你用 LIKE '%性能下降%' 搜到的结果,只包含那些字面上包含这四个字的行。但人类的思考方式不是这样的——当你问「系统最近怎么变慢了」,你期待的结果是慢查询记录、CPU 飙高时间线、IO 延迟报告,而不是一句带「慢」字的注释。

这就是语义搜索的价值。

26ai 在数据库内核中原生实现了向量搜索能力。你不需要额外部署 Milvus、Pinecone 或 Qdrant 这样的专用向量数据库,不需要在应用层写两套查询逻辑,不需要担心数据同步的一致性问题——向量搜索和你用了二十年的 SELECT 语句,运行在同一个事务引擎里

2.2 向量数据类型与索引架构

26ai 引入了一个新的原生数据类型 VECTOR

CREATE TABLE documents (
    doc_id      NUMBER PRIMARY KEY,
    title       VARCHAR2(500),
    content     CLOB,
    meta        JSON,
    embedding   VECTOR(1536)  -- 1536 维的浮点向量,适配大多数嵌入模型
);

这个 VECTOR 类型不是简单的 BLOB 封装,而是存储引擎层面的原生支持。它在内存中采用紧凑的浮点数组布局,支持 SIMD 指令加速的距离计算,并且有专用的索引结构。

26ai 支持两种主流向量索引算法:

IVF(Inverted File Index):适合精度优先、写入频繁的场景。它将向量空间划分为多个聚类(Voronoi 单元),查询时只搜索最相关的几个聚类,大幅减少计算量。优点是构建快、支持高写入吞吐,缺点是精度略低于 HNSW。

HNSW(Hierarchical Navigable Small World):适合查询性能优先、低延迟要求的场景。它构建一个多层图的索引结构,查询时从顶层快速下钻到目标区域,搜索效率接近对数级别。优点是延迟极低(毫秒级响应),缺点是索引构建慢、内存占用高。

选择建议:

场景推荐索引原因
实时写入+查询IVF构建快,支持频繁 DML
只读/少写+低延迟HNSW查询性能最优
亿级+向量IVF内存友好
高精度 RAG 检索HNSWrecall 更高

创建索引的语法非常直观:

-- IVF 索引
CREATE VECTOR INDEX doc_embed_ivf_idx ON documents(embedding)
ORGANIZATION NEIGHBOR PARTITIONS
DISTANCE COSINE
WITH OPTIONS 'TYPE IVF, NEIGHBOR PARTITIONS 100';

-- HNSW 索引
CREATE VECTOR INDEX doc_embed_hnsw_idx ON documents(embedding)
ORGANIZATION NEIGHBOR PARTITIONS
DISTANCE COSINE
WITH OPTIONS 'TYPE HNSW, NEIGHBOR PARTITIONS 64, EFCONSTRUCTION 200';

2.3 多模态混合查询——一条 SQL 干三个系统的活

向量搜索最强大的地方在于它可以和你现有的所有查询能力组合使用。你可以在同一条 SQL 里同时做向量语义搜索 + JSON 条件过滤 + 关系型数据关联 + 图遍历:

SELECT
    d.doc_id,
    d.title,
    VECTOR_DISTANCE(d.embedding, :query_vector) AS relevance
FROM documents d
WHERE
    -- 向量语义过滤:只返回语义相似度在 0.3 以内的结果
    VECTOR_DISTANCE(d.embedding, :query_vector) < 0.3
    -- JSON 条件过滤:金额大于 10 万的交易
    AND JSON_VALUE(d.meta, '$.amount') > 100000
    -- 关系型条件:VIP 客户
    AND d.customer_level = 'VIP'
    -- 时间范围:最近 30 天
    AND d.created_at >= SYSDATE - 30
ORDER BY relevance
FETCH FIRST 20 ROWS ONLY;

这在传统架构下需要三个独立的系统配合才能实现:向量数据库(语义搜索)+ 文档数据库(JSON 查询)+ 关系数据库(事务处理)。数据同步、一致性保证、运维复杂度都成倍增加。

26ai 让你用一套系统、一种语法、一个事务边界就能搞定。这不是渐进式改进,这是架构的降维打击。

2.4 嵌入模型部署方案

向量搜索的核心是嵌入模型——把文本、图片等非结构化数据转换成向量的模型。26ai 支持两种部署模式:

内置 ONNX 运行时推理:你可以在数据库中直接加载 ONNX 格式的嵌入模型,不需要外部推理服务:

-- 注册 ONNX 模型
BEGIN
    DBMS_VECTOR.LOAD_ONNX_MODEL(
        'DOC_ONNX_MODEL',
        'ONNX_DIR',
        'all-MiniLM-L6-v2.onnx',
        JSON('{"function" : "embedding", "modelType" : "bert"}')
    );
END;
/

-- 使用模型生成向量
SELECT doc_id,
       title,
       VECTOR_EMBEDDING(DOC_ONNX_MODEL USING content AS data) AS embedding
FROM documents;

外部嵌入服务集成:对于更大规模的场景,可以接入外部嵌入 API:

-- 配置外部 REST 嵌入端点
BEGIN
    DBMS_VECTOR.CREATE_CREDENTIAL(
        'EMBEDDING_CRED',
        JSON_OBJECT(
            'access_token' VALUE :token
        )
    );
END;
/

-- 调用外部嵌入服务
SELECT VECTOR_EMBEDDING(
    OPENAI_EMBED AS MODEL,
    'text-embedding-3-small' AS MODEL_ID,
    'Oracle 26ai is a revolutionary database'
) FROM DUAL;

2.5 性能监控要点

向量查询和普通 SQL 的资源消耗模式完全不一样。DBA 需要以下新的监控维度:

-- 查看向量索引的使用情况
SELECT
    index_name,
    index_type,
    (SELECT COUNT(*) FROM V$VECTOR_INDEX) AS vector_index_count
FROM user_indexes
WHERE index_type LIKE '%VECTOR%';

-- 监控向量查询的执行计划
EXPLAIN PLAN FOR
SELECT /*+ VECTOR_INDEX(documents doc_embed_idx) */
    doc_id, title
FROM documents
WHERE VECTOR_DISTANCE(embedding, :query_vec) < 0.5;

SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);

向量查询的 CPU 消耗主要来自距离计算(特别是高维向量),内存消耗主要来自向量索引(HNSW 的图结构比 IVF 更耗内存)。建议为向量查询单独设置资源管理器计划。


三、Agentic AI:数据库第一次有了「数字员工」

3.1 从 Select AI 到 AI Agent

23ai 引入了 Select AI,让用户可以用自然语言查询数据库:

SELECT AI FROM employees WHERE '各部门今年新入职人数和平均薪资';

这条 SQL 在背后做了三件事:将自然语言翻译成 SQL、执行翻译后的 SQL、返回结果。对业务人员来说,这是革命性的体验。但对 DBA 来说,这只是开胃菜。

26ai 更进一步——它让数据库原生支持 AI Agent(智能体)。这意味着不只是人类可以连接数据库,AI 程序也可以,而且是以一种全新的方式

3.2 Select AI Agent——数据库里的智能体运行时

26ai 在数据库内核中嵌入了一个智能体运行时,允许你在数据库内部定义和运行 AI Agent。这些 Agent 可以:

  • 调用数据库工具(执行 SQL、分析 schema、优化查询)
  • 调用外部 REST API(对接 ERP、CRM、工单系统)
  • 调用 MCP 服务器(Model Context Protocol——Anthropic 推出的标准化工具协议)
  • 访问 Unified Memory Core(跨会话持久记忆)

Agent 的配置是通过 PL/SQL 完成的:

-- 创建一个 AI Agent
BEGIN
    DBMS_AI.CREATE_AGENT(
        agent_name => 'PERFORMANCE_ANALYST',
        model_name => 'LLAMA_3_70B_LOCAL',
        instructions => '你是一名资深 DBA,负责分析数据库性能问题。
            当你被问到性能问题时,按以下步骤:
            1. 查询 AWR 报告识别 TOP SQL
            2. 分析执行计划找出全表扫描
            3. 检查等待事件
            4. 给出索引或 SQL 改写建议
            5. 解释问题根因',
        tools => JSON_ARRAY(
            'TOOL_RUN_SQL',
            'TOOL_ANALYZE_AWR',
            'TOOL_CHECK_WAIT_EVENTS',
            'TOOL_SEND_ALERT'
        ),
        memory => 'UNIFIED_MEMORY_CORE'
    );
END;
/

3.3 Private Agent Factory——无代码搭建智能体

对业务用户来说,Private Agent Factory 提供了一个拖拽式界面,不需要写任何代码就能搭建 AI Agent。这在企业落地时非常关键——不是每个部门都有能力写出 PL/SQL 来定义 Agent。

Agent Factory 里预置了多个行业模板:

  • 运维分析 Agent:监控告警、根因分析、容量规划
  • 数据查询 Agent:自然语言查询、报表生成、趋势分析
  • 合规审查 Agent:敏感数据扫描、权限审计、风险报告
  • 知识库 Agent:文档检索、FAQ 问答、技术咨询

3.4 Unified Memory Core——Agent 的长期记忆

Agent 如果没有记忆,每次对话都是「初次见面」——这在实际场景中几乎没用。26ai 的 Unified Memory Core 解决了这个问题。它统一管理四种类型的记忆:

  • 向量记忆:语义化的历史对话和知识
  • JSON 记忆:结构化的会话状态和配置
  • 图记忆:实体关系和知识图谱
  • 关系记忆:事务性数据和审计日志

所有记忆类型共享同一个事务边界,强一致性保障。Agent 可以跨会话记住用户的偏好、历史问题和解决记录。

3.5 对 DBA 的实际冲击

Agentic AI 带来的不是技术上的好奇,而是运维层面的现实挑战:

连接数暴增:一个部门部署 5 个 Agent,10 个部门就是 50 个并发连接。如果每个 Agent 在分析过程中产生多个子查询,连接数可能翻倍。PROCESSESSESSIONS 参数需要重新评估。

-- 预估 Agent 连接需求
SELECT
    '当前连接数' AS metric,
    COUNT(*) AS value
FROM v$session
UNION ALL
SELECT
    'Agent 预估连接数',
    (SELECT COUNT(*) FROM dba_ai_agents) * 5 -- 每个 Agent 平均 5 个并发查询
FROM DUAL;

权限粒度需要重新设计:不只是「谁能查哪张表」,还要管理「哪个 Agent 代表谁、能看什么」。26ai 引入了 Agent 级别的权限控制:

-- 授予 Agent 查询权限,但限制只能看脱敏数据
GRANT SELECT ON hr.employees TO AGENT performance_analyst
WITH MASKING POLICY emp_salary_mask;

-- 限制 Agent 只能读 2024 年以后的数据
GRANT SELECT ON hr.employees TO AGENT performance_analyst
WHERE hire_date >= DATE '2024-01-01';

审计链路必须升级:AI Agent 生成的 SQL 出事了,得能追溯到源头:

-- 启用 Agent 审计
AUDIT SELECT ON hr.employees BY AGENT performance_analyst;

-- 查看 Agent 操作日志
SELECT
    os_username,
    username,
    userhost,
    timestamp,
    action_name,
    sql_text
FROM dba_audit_trail
WHERE agent_name = 'PERFORMANCE_ANALYST'
ORDER BY timestamp DESC;

四、Autonomous AI Lakehouse:当数据库和数仓不再需要两张皮

4.1 为什么「湖 + 仓」的架构正在成为过去

过去十年的企业数据架构通常是这样的:业务数据跑在 Oracle 上(OLTP),分析数据跑到数据湖(HDFS/S3 + Spark)或数仓(Snowflake/BigQuery)上,中间通过 ETL 工具搬来搬去。

这套架构的问题所有人都知道,但一直忍着:

  • 两套系统,两套权限管理 → 权限不一致
  • 两套备份恢复策略 → 恢复演练要搞两遍
  • 两套监控运维 → 值班人数翻倍
  • 两套 TCO → 预算逐年攀升

更痛苦的是数据延迟:ETL 通常是 T+1 的,业务人员永远在看不新鲜的数据。想实时分析?那得再上 Kafka + Flink,复杂度再翻一倍。

26ai 的 Autonomous AI Lakehouse 尝试终结这种分裂。它让你用同一套数据库引擎,同时处理 OLTP 和分析负载——不再需要数据搬迁。

4.2 Iceberg 原生支持——开放格式,不锁死

Lakehouse 的基石是 Apache Iceberg——一种开放的表格式,支持 ACID 事务、时间旅行、分区演进、模式演化。26ai 让 Iceberg 表与原生表在同一个查询引擎里执行:

-- 创建一个 Iceberg 外部表,直接指向对象存储上的数据
CREATE TABLE sales_iceberg
    ORGANIZATION EXTERNAL
    TYPE ICEBERG
    DEFAULT DIRECTORY iceberg_store
    AS
    SELECT * FROM sales WHERE year >= 2024;

-- Iceberg 表和原生表可以 JOIN,不限制
SELECT
    p.product_name,
    SUM(s.amount) AS total_sales,
    s.region
FROM sales_iceberg s
JOIN products p ON p.product_id = s.product_id
GROUP BY p.product_name, s.region
ORDER BY total_sales DESC;

Iceberg 的时间旅行能力让数据回溯变得极其简单:

-- 回到 3 小时前的数据状态
SELECT * FROM sales_iceberg
AS OF TIMESTAMP SYSTIMESTAMP - INTERVAL '3' HOUR;

-- 或者用快照 ID 查询
SELECT * FROM sales_iceberg
AS OF VERSION 587263498273645;

更关键的是互操作性——这些 Iceberg 表可以被 Databricks、Spark、Trino、Flink 等其他引擎直接读取和写入。你不再被任何一个供应商锁定。

4.3 多模态统一查询

在 Lakehouse 模式下,你可以在一套系统里处理所有类型的数据:

-- 向量搜索 + Iceberg 分析
SELECT
    p.product_name,
    p.description,
    VECTOR_DISTANCE(p.image_embedding, :query_image) AS similarity
FROM product_catalog_iceberg p
WHERE VECTOR_DISTANCE(p.image_embedding, :query_image) < 0.4
  AND p.status = 'ACTIVE'
  AND p.last_updated >= SYSDATE - 7;

-- 图分析 + 关系查询
SELECT
    c.customer_name,
    COUNT(r.referral_id) AS referral_count,
    AVG(o.order_amount) AS avg_order
FROM customers c
LEFT JOIN customer_referrals r ON GRAPH_DISTANCE(c.node_id, r.target_id) <= 2
LEFT JOIN orders o ON o.customer_id = c.customer_id
WHERE c.signup_date >= DATE '2025-01-01'
GROUP BY c.customer_name;

4.4 多云部署——跑在任何地方

Lakehouse 支持跨云部署,数据放在 AWS S3、Azure Blob、Google Cloud Storage 或 OCI 上都能用:

-- 配置 AWS S3 访问
BEGIN
    DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'AWS_S3_CRED',
        username => :aws_access_key,
        password => :aws_secret_key
    );
END;
/

-- 从 S3 创建 Iceberg 表
CREATE TABLE external_sales
    ORGANIZATION EXTERNAL
    TYPE ICEBERG
    DEFAULT DIRECTORY s3_ext_doc
    LOCATION 's3://my-bucket/sales-data/'
    ACCESS PARAMETERS (
        CREDENTIAL 'AWS_S3_CRED'
    );

4.5 DBA 的思维转型

Lakehouse 意味着 DBA 的知识体系需要扩展:

  • 存储格式变多了:堆表、分区表、Iceberg 表、向量列,每种格式的备份恢复策略不同
  • 资源调度更复杂了:OLTP 是 IO 密集型,分析查询是 CPU 密集型,同在一个集群需要精细的资源隔离
  • 备份策略要重新设计:Iceberg 的时间旅行能力本身提供了一定程度的数据保护,但不等同于完整备份
-- 使用资源管理器隔离 OLTP 和分析负载
BEGIN
    DBMS_RESOURCE_MANAGER.CREATE_PLAN(
        plan => 'LAKEHOUSE_PLAN',
        comment => '隔离 OLTP 和分析查询'
    );

    DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
        consumer_group => 'OLTP_GROUP',
        comment => '事务处理'
    );

    DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
        consumer_group => 'ANALYTICS_GROUP',
        comment => '分析查询'
    );

    -- OLTP 组分配 50% CPU,分析组分配 30%
    DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
        plan => 'LAKEHOUSE_PLAN',
        group_or_subplan => 'OLTP_GROUP',
        comment => '',
        cpu_p1 => 50,
        parallel_degree_limit_p1 => 4
    );

    DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
        plan => 'LAKEHOUSE_PLAN',
        group_or_subplan => 'ANALYTICS_GROUP',
        comment => '',
        cpu_p1 => 30,
        parallel_degree_limit_p1 => 16
    );
END;
/

五、自动驾驶:数据库开始自己管自己了

5.1 从被动响应到主动自治

DBA 最熟悉的场景是什么?凌晨 2 点的告警电话。

26ai 的目标很直接:让数据库在绝大部分情况下自己搞定自己,把 DBA 从救火队员变成架构师。 这不是画饼,而是实打实的内置能力。

5.2 自动性能调优(Auto-Tuning)

传统的 SQL 调优流程是:发现问题 → 导出 SQL → 分析执行计划 → 改写 SQL 或加索引 → 上线验证。一个循环下来至少半天。

26ai 的自动调优引擎可以实时感知性能变化并自动做出调整:

-- 查看自动调优建议
SELECT
    sql_id,
    sql_text,
    recommendation_type,
    recommendation,
    expected_improvement_pct,
    status
FROM dba_auto_tuning_recommendations
WHERE status = 'PENDING'
ORDER BY expected_improvement_pct DESC;

-- 放行自动调优建议
BEGIN
    DBMS_AUTO_TUNING.APPLY_RECOMMENDATION(
        sql_id => '8x9k2f1a0b3c',
        accept => TRUE
    );
END;
/

调优引擎能做的事情包括:

  • 自动创建/删除索引:基于 SQL 工作负载模式识别缺失的索引,自动创建;识别冗余索引,自动回收
  • SQL 改写建议:识别可以重写的低效 SQL,给出改写方案
  • 统计信息动态刷新:当数据变化超过阈值时,自动启动统计信息收集
  • 并行度自动调整:根据系统负载和查询特点,自动选择最优的并行度

5.3 智能告警降噪

一个中等规模的 Oracle 环境,一晚上生成 200 条告警是常态。但真正的需要人工处理的,可能只有 3-5 条。

26ai 的 AI 告警引擎可以:

  • 关联分析:把相关的告警合并成一条告警事件(比如「表空间不足」→「跨天数据增长异常」→「清理脚本未执行」,这三条告警实际是一个根因)
  • 自动诊断:对每个告警事件自动跑诊断流程,给出根因分析
  • 自动修复:对已知模式的问题,自动执行修复动作
  • 升级策略:判断是否真的需要通知 DBA,还是可以等明天上班
-- 查看智能告警汇总
SELECT
    event_id,
    severity,
    root_cause,
    affected_components,
    auto_remediation_status,
    DBA_REQUIRED
FROM dba_ai_alerts
WHERE created_at >= SYSDATE - 1
ORDER BY severity DESC;

5.4 智能容量预测

基于机器学习模型,26ai 可以对资源消耗进行趋势预测,提前发现容量瓶颈:

-- 查看未来 30 天的表空间预测
SELECT
    tablespace_name,
    current_used_gb,
    growth_rate_mb_per_day,
    predicted_use_30d_gb,
    threshold_gb,
    CASE
        WHEN predicted_use_30d_gb > threshold_gb THEN 'WARNING'
        ELSE 'OK'
    END AS status
FROM dba_capacity_predictions
WHERE prediction_date = SYSDATE + 30
ORDER BY predicted_use_30d_gb DESC;

5.5 MAA 架构升级:从金级到钻石级

26ai 的 MAA(Maximum Availability Architecture)在可用性方面有了质的飞跃:

级别故障切换时间零数据丢失部署模式
金级(19c/23ai)数分钟Data Guard 同步
白金级(26ai)<30 秒Data Guard + 自动切换
钻石级(26ai)<3 秒GoldenGate 双活 + 跨区域

钻石级配置下,即使整个区域级故障发生,数据在 3 秒内就能在另一个区域的数据库上恢复服务。Oracle 称这达到了「无需回滚的数据中心级容灾」。

-- 查看 MAA 配置状态
SELECT
    database_role,
    protection_level,
    switchover_status,
    SYSDATE - standby_became_primary AS last_failover_seconds,
    applied_scn - current_scn AS data_gap
FROM v$database, v$dataguard_stats;

5.6 DBA 角色的再定义

自动驾驶能力不是让 DBA 失业。恰恰相反——它让 DBA 从重复劳动中解放出来,可以去处理更复杂的架构问题。

但这也意味着技能树需要更新。一个 2026 年的 DBA 需要掌握的不只是 SQL 调优和备份恢复,还要懂:

  • AI Agent 的工作原理和安全边界
  • 向量索引的选型和监控
  • Lakehouse 的存储格式和成本模型
  • 后量子加密的迁移路径

六、Deep Data Security:AI 时代的安全模型重构

6.1 安全威胁场景变了

传统数据库安全模型来自一个基本假设:只有人和应用在访问数据库。 你管好了「谁能查什么表」就差不多了。

现在这个假设不再成立。AI Agent 也在查数据,而且 Agent 的查询模式和人完全不同——一个 Agent 可能在一分钟内发出数百次查询,自动化地拼接信息、推导结论。攻击路径从「人攻破系统」变成了「人攻破 Agent → Agent 攻破数据库」。

6.2 声明式安全策略

26ai 引入的 Deep Data Security 采用了声明式的策略模型——安全策略在数据库层面统一定义,不分散在应用代码里:

-- 定义行级安全策略
BEGIN
    DBMS_RLS.ADD_POLICY(
        object_schema => 'HR',
        object_name => 'EMPLOYEES',
        policy_name => 'EMP_SALARY_POLICY',
        function_schema => 'SYS',
        policy_function => 'SEC_SALARY_POLICY',
        statement_types => 'SELECT, UPDATE',
        policy_type => DBMS_RLS.SHARED_STATIC,
        enable => TRUE
    );
END;
/

-- 定义动态脱敏策略
BEGIN
    DBMS_REDACT.ADD_POLICY(
        object_schema => 'HR',
        object_name => 'EMPLOYEES',
        policy_name => 'EMP_SSN_MASK',
        column_name => 'SSN',
        function_type => DBMS_REDACT.PARTIAL,
        function_parameters => DBMS_REDACT.REDACT_USA_SSN_L4,
        expression => 'SYS_CONTEXT(''USERENV'', ''AUTHENTICATED_IDENTITY'') NOT IN (''DBA_USER'', ''AUDIT_USER'')'
    );
END;
/

关键是这些策略同样作用于 AI Agent——Agent 代表用户查询时,自动应用该用户的数据可见性规则。Agent 无法绕过它代表的用户的安全约束。

6.3 提示注入防护

AI Agent 最危险的安全漏洞之一就是提示注入。攻击者可以在输入数据中嵌入恶意指令,让 Agent 执行超出预期的操作——比如泄漏敏感数据、修改权限、执行 DDL。

26ai 的 Agent 安全框架内置了多层级防护:

-- 创建 Agent 时设置安全约束
BEGIN
    DBMS_AI.CREATE_AGENT(
        agent_name => 'SECURE_ANALYST',
        ...
        security_config => JSON_OBJECT(
            'prompt_injection_detection' VALUE TRUE,
            'max_query_rows' VALUE 1000,
            'read_only' VALUE TRUE,
            'allowed_tables' VALUE JSON_ARRAY('HR.EMPLOYEES', 'HR.DEPARTMENTS'),
            'blocked_commands' VALUE JSON_ARRAY('DROP', 'TRUNCATE', 'ALTER', 'CREATE')
        )
    );
END;
/

6.4 后量子加密——今天为明天做好准备

量子计算还没成熟,但安全威胁已经存在了。攻击者可以现在截获你的加密数据,等量子计算机成熟了再解密——这叫「先收集、后解密」(Harvest Now, Decrypt Later)。

26ai 已经在网络传输层支持 NIST 批准的 ML-KEM(CRYSTALS-Kyber)和 ML-DSA(CRYSTALS-Dilithium)后量子加密算法:

-- 查看当前网络的加密算法
SELECT
    network_service_banner,
    cipher_suite
FROM v$session_connect_info
WHERE sid = SYS_CONTEXT('USERENV', 'SID');

-- 启用后量子加密的 Data Guard 传输
ALTER SYSTEM SET
    DG_BROKER_QUANTUM_SAFE_CIPHERS = 'TLS_AES_256_GCM_SHA384:MLKEM768'
    SCOPE = BOTH;

对于金融、政务、医疗等对数据安全有长期要求的行业,现在就应该开始评估后量子加密的迁移路线。虽然 Oracle 目前还是可选启用,未来必然会变成默认配置。


七、生产环境落地路线图

理论说了很多,我们来聊实际的——如果你的企业计划升级到 26ai,应该怎么一步步做。

阶段一:评估与规划(1-2 个月)

  1. 环境兼容性检查:确认现有应用和第三方工具兼容 26ai
  2. 选择试点场景:推荐从最没有风险的场景开始——比如 Select AI(先用自然语言查现有数据,不改任何业务逻辑)
  3. 硬件评估:向量搜索需要额外的内存(HNSW 索引)和 CPU(距离计算),需要评估现有硬件是否能满足

阶段二:向量搜索上架(2-3 个月)

  1. 部署嵌入模型:先用内置 ONNX 模式小规模验证
  2. 向量索引选型:根据数据规模和查询模式选择 IVF 或 HNSW
  3. 集成现有业务:先从非核心业务开始(如文档检索、知识库搜索),逐步扩展到核心业务
-- 向量搜索的容量评估 SQL
SELECT
    COUNT(*) AS doc_count,
    ROUND(AVG(VSIZE(embedding))) AS avg_vector_bytes,
    ROUND(COUNT(*) * AVG(VSIZE(embedding)) / 1024 / 1024) AS estimated_data_mb,
    ROUND(COUNT(*) * AVG(VSIZE(embedding)) * 2.5 / 1024 / 1024) AS estimated_hnsw_index_mb,
    ROUND(COUNT(*) * AVG(VSIZE(embedding)) * 1.2 / 1024 / 1024) AS estimated_ivf_index_mb
FROM documents;

阶段三:AI Agent 试点(2-3 个月)

  1. 从简单的 Agent 开始:比如一个读取 AWR 报告性能分析的 Agent
  2. 安全策略先行:在 Agent 上线前定义好权限约束、审计规则
  3. 小范围推广:先给运维团队试用,稳定后再扩展到业务部门

阶段四:Lakehouse 建设(3-6 个月)

  1. 数据湖盘点:摸清现有数据湖中哪些数据是「热数据」——经常被查询的
  2. Iceberg 迁移:将热数据从 HDFS/Parrquet 迁移到 Iceberg 格式
  3. ETL 瘦身:逐步减少不必要的 ETL 流程,利用 Lakehouse 的原生分析能力

阶段五:全面升级(持续)

  1. 自动驾驶逐步放开:从「只建议不执行」到「自动执行常规操作」
  2. 安全模型升级:部署 Deep Data Security 策略,特别关注 AI Agent 权限
  3. DBA 团队技能升级:同步推进团队成员的技能转型

八、总结与展望

Oracle 26ai 不是一次常规的版本迭代。它是 Oracle 作为一家五十年的数据库公司,对「数据库在 AI 时代应该长什么样」这个问题的完整回答。

对于 DBA:你应该感到兴奋,但也要清醒。自动驾驶会接管你的值班电话,但也会要求你掌握向量索引、Lakehouse 架构、AI Agent 安全模型这些新技能。你的角色在变,但价值没有变少——你只是从救火队长变成了架构师。

对于开发者:当数据库原生支持向量搜索和 AI Agent 时,很多你习惯的架构模式需要重新思考。RAG 系统的数据流可以更短了,AI Agent 可以跑在数据旁边而不是通过 API 调用数据了。

对于技术决策者:如果你们正在评估下一代数据架构,26ai 提供的「AI 原生 + 湖仓一体 + 自动驾驶」组合,是一个值得认真考虑的选项——特别是当你希望减少系统堆叠、降低运维复杂度的时 候。

当然,也不是没有隐忧。Oracle 的许可模式向来不便宜,26ai 的这些新能力很可能对应新的许可费用计费维度。再加上 AI 计算对硬件的更高要求,TCO 需要重新评估。

但有一点是确定的:数据库厂商之间的竞争,已经从「谁跑得快」变成了「谁更聪明」。这场竞赛才刚刚开始。

下次凌晨两点没有告警电话的时候,你可以泡杯茶,认真想想——你的数据库需要升级了。

推荐文章

ElasticSearch 结构
2024-11-18 10:05:24 +0800 CST
Gai:AI 原生的 Go Web 全栈框架
2026-05-21 16:19:43 +0800 CST
Nginx 反向代理
2024-11-19 08:02:10 +0800 CST
Golang Select 的使用及基本实现
2024-11-18 13:48:21 +0800 CST
前端如何优化资源加载
2024-11-18 13:35:45 +0800 CST
程序员茄子在线接单