一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Oracle 提供了哪些 Oracle AI Database MCP 部署方式?

时间:2026-09-13 11:36:01 编辑:袖梨 来源:一聚教程网

Oracle 为 Oracle AI Database 提供三种主要 MCP 部署方式:SQLcl MCP Server、OCI Database Tools MCP Server 和 ORDS MCP Server。SQLcl 运行在本地并使用 stdio,适合开发与原型;Database Tools 是 OCI 托管的无服务器方案;ORDS 则在现有 Oracle REST Data Services Standalone 中提供远程 HTTPS /mcp 端点。

三种方案连接的都是 Oracle Database 能力,但部署位置、身份来源、传输协议、运维责任和主要用户不同。选择时不应只问“哪个功能最多”,而要先确定数据库在哪里、谁来使用、是否已有 OCI 或 ORDS、需要个人开发还是集中企业治理。

任何方案都不会自动让数据库操作变成只读。最终能力仍由数据库用户、工具配置、应用角色、SQLcl Restrict Level、ORDS 授权和 OCI IAM 决定。生产环境必须保持最小权限、网络隔离、结果脱敏和审计。

三种部署方式概览

SQLcl MCP Server 是本地 MCP 进程,由 Claude Desktop、Cline 或其他客户端启动,通过标准输入输出交换协议,并使用本机 SQLcl 保存连接。

OCI Database Tools MCP Server 是云端托管、多租户、无服务器服务。客户端通过 Streamable HTTP 连接,使用 OCI IAM Identity Domains 的 OAuth 2.0 或 Personal Access Token,并通过 Database Tools Connection 访问数据库。

ORDS MCP Server 是 ORDS Standalone 的内置能力,通过流式 HTTPS /mcp 端点向远程客户端提供服务,使用 OAuth2/JWT、自动客户端注册和组织选择的身份提供商,并复用直接数据库连接池。

SQLcl MCP 最适合什么场景

SQLcl 适合个人开发者、DBA 和数据工程师在本机探索数据库、编写查询、调试 PL/SQL、生成模式文档和快速验证 Agent 工作流。

它启动快,不需要部署远程服务,能与开发工具紧密配合。客户端通常自动管理子进程生命周期,任务结束后关闭 SQLcl MCP。

它的治理范围也最接近单机。连接保存在本地用户的 .dbtools 目录,访问控制依赖工作站、客户端设置、SQLcl Restrict Level 和数据库账户。多人共享与集中审计需要额外设计。

SQLcl MCP 的传输和连接

本地模式使用 stdio,客户端配置 command 指向 SQLcl 可执行文件,args 包含 -mcp。协议不需要网络端口,减少远程攻击面。

SQLcl 使用预先保存的命名连接。Agent 可以列出连接、选择目标、执行 SQL 与 PL/SQL、调用 SQLcl 命令并查看 schema 信息。

连接凭据不应写入 MCP JSON,而应安全保存到 SQLcl connection store。为 MCP 单独创建只读或任务专用数据库用户,不复用 DBA 连接。

SQLcl Restrict Level 的意义

SQLcl MCP 默认使用最严格的 Restrict Level 4,禁止宿主机命令、脚本和其他敏感操作。这是本地模式的重要防线。

需要执行 @ 或 @@ 脚本时可评估 Level 1;Level 0 允许全部命令,会把风险从数据库扩大到操作系统,不能用于长期生产访问。

Restrict Level 只限制 SQLcl 命令面,不会替代 Oracle Database 权限。run-sql 能做什么最终取决于保存连接的数据库用户。

OCI Database Tools MCP 最适合什么场景

Database Tools 适合 OCI 中的 Oracle AI Database、希望集中管理用户与 Toolset、需要企业级身份和云审计的团队,也适合业务用户通过受信任 SQL Report 使用自然语言访问。

服务由 OCI 托管,无需团队维护 MCP 中间件进程。它使用 Database Tools Connection、Vault、IAM Identity Domains 和应用角色,适合多用户、跨项目和规模化访问。

托管不等于零配置。管理员必须设计 compartment、资源 OCID、Vault secret、运行身份、数据库认证、应用角色和异步结果存储。

Database Tools MCP 的远程传输

客户端通过 Streamable HTTP 访问托管端点,适合桌面、企业应用和远程 Agent。链路必须使用 TLS,并由客户端验证服务端身份。

身份认证通过 OAuth 2.0 或 PAT。OAuth 适合人员登录与组管理;PAT 适合明确自动化,但需要短生命周期、安全存储和撤销流程。

远程端点扩大网络面,应限制允许客户端、出口、令牌范围和调用频率。令牌不能进入模型提示和日志。

Database Tools MCP 的身份模型

服务区分已认证用户、MCP Server Runtime Identity 和 Database Tools Connection Runtime Identity。后两者都可以选择 Authenticated Principal 或 Resource Principal。

Authenticated Principal 让访问跟随登录用户,便于责任追踪;Resource Principal 让服务资源以自身身份运行,适合后台和异步任务。

使用 Token 数据库认证时还可能需要 MCP Server 代表用户获取数据库令牌的 OBO 权限。Oracle 当前要求这一权限在 tenancy 级授予,因此只能锁定到可信 MCP Server OCID。

Database Tools MCP 的工具与扩展

内置 Toolset 包括 SQL 报告和 SQL 脚本执行。管理员还能用参数化 SQL 与 PL/SQL 创建自定义工具。

使用 Generative AI SQL Assistant 时,可以把自然语言转换成 SQL,并需单独授权 generative-ai-nl2sql 与指定 semantic store。

工具访问由 Identity Domain 应用角色控制。不同用户和组只看到与任务对应的 Toolset,不应向所有人开放任意 SQL 和 PL/SQL。

ORDS MCP 最适合什么场景

ORDS MCP 适合已经运行 ORDS Standalone、希望沿用现有企业身份提供商和部署模式的组织。开发者、DBA 和数据工程师可以从远程 MCP 客户端访问。

它提供内置流式 HTTPS /mcp 端点,不需要另建一个完全独立的 MCP 协议服务。数据库连接由 ORDS 直接连接池管理。

已有 ORDS 团队仍需评估版本、配置、MCP 端点暴露、连接池用户和 OAuth 客户端。不能因为已有 REST 服务就默认打开 MCP。

ORDS 的 OAuth2/JWT 和身份提供商

ORDS MCP 支持 OAuth2/JWT 认证,并能为首选身份提供商自动注册客户端。它适合希望统一使用企业 IdP,而不是把用户管理绑定到 OCI Identity Domain 的团队。

JWT 必须验证签名、issuer、audience、到期时间和允许算法。OAuth scope 映射到授权 schema 与工具,不使用宽泛管理员 scope。

自动注册提升兼容性,也需限制动态客户端注册范围、回调地址和令牌生命周期。删除 MCP 客户端后同步撤销注册与令牌。

ORDS 的直接连接池

ORDS 使用数据库连接池处理多个远程请求,适合企业并发。连接池账号的权限会影响所有通过该池执行的工具。

不同安全域使用不同 pool 和数据库用户。读取、写入和管理工具不能共享 DBA 池。设置最大连接数、超时和资源管理,避免 Agent 查询耗尽数据库。

身份传播和代理用户配置应经过数据库侧验证,审计需要能关联外部主体,而不只是看到统一连接池用户。

按主要用户选择

个人开发者和本机 DBA 优先 SQLcl,部署最少、交互直接。多人云团队和业务报告用户优先评估 OCI Database Tools,集中角色、Vault 与云审计更合适。

已有 ORDS 平台、企业 IdP 和成熟网关运维的组织优先评估 ORDS MCP,可以复用网络、身份和连接池体系。

主要用户不是唯一条件。个人也可能需要 OCI 托管,企业研发也可能在隔离工作站使用 SQLcl。最终以身份和数据边界为准。

按数据库位置选择

本地、开发机可达或需要低延迟交互的数据库适合 SQLcl。Oracle Cloud 中已经使用 Database Tools Connection 的数据库适合托管 MCP。

通过 ORDS Standalone 统一接入的本地、云上或混合 Oracle Database 适合 ORDS。Oracle 页面还说明 Database Tools 可提供跨 OCI、OCI on Azure、AWS 和 GCP 的托管访问,具体连接能力需核对 Database Tools 支持范围。

不要为满足产品名称强行移动数据库。优先选择与现有网络和身份架构一致的模式。

按运维责任选择

SQLcl 的运维对象是每台工作站的 SQLcl、JRE、连接存储和客户端配置。升级容易,但版本可能分散。

Database Tools 由 OCI 维护服务运行,客户负责云资源、IAM、Connection、Vault、Toolset 和数据库权限。无需管服务器,不等于无需治理。

ORDS 由组织运维 ORDS Standalone、证书、反向代理、OAuth、连接池、扩容和升级。适合已有专业 ORDS 团队。

按身份需求选择

只需本机单用户身份时,SQLcl 配合操作系统账户和数据库用户最简单。需要 OCI 组、应用角色、resource principal 和 OBO 时选择 Database Tools。

需要组织自选 IdP、OAuth2/JWT 与 ORDS 客户端注册时选择 ORDS。无论哪种模式,都应把外部用户身份传播到审计链路。

共享数据库用户名会削弱追踪。即便后端使用连接池,也要记录客户端主体、工具调用和数据库会话关联。

按自定义能力选择

SQLcl 适合直接运行 SQL、PL/SQL 和 SQLcl 专用命令,灵活度高。Database Tools 适合将批准的 SQL/PLSQL 封装为集中 Toolset,并按应用角色分发。

ORDS 适合在远程端点和现有 REST 基础设施中提供受授权 schema 与工具。具体自定义机制以 ORDS MCP 文档和部署版本为准。

需要任意命令不代表应该开放任意命令。优先把常见操作封装成参数化窄工具。

三个模式都要防提示注入

数据库中的文本、工单、代码和网页都可能包含恶意指令。模型读取后可能尝试扩大查询、访问敏感表或执行写入。

数据库账户最小权限、应用角色、schema 授权、工具白名单和数据遮罩必须独立于提示。模型说“任务需要”不能改变权限。

高风险 SQL 和 PL/SQL 要人工审批。查询结果进入模型前尽量脱敏并限制行数。

三个模式都要控制凭据

SQLcl 把保存连接放在本地 connection store;Database Tools 使用 OCI Vault secret 或 IAM token;ORDS 使用 OAuth/JWT 与数据库连接池配置。

任何凭据都不能写进提示、Git、公开日志或聊天截图。轮换后检查活动进程、连接池和数据库会话是否仍持有旧身份。

删除 MCP 配置不等于撤销数据库密码。必须在身份源、服务和数据库三层完成注销。

三个模式都要限制数据库权限

为查询创建只读用户或只读 schema 角色,只授予必要对象 SELECT。写入使用不同身份与审批流程。

PL/SQL 包可能使用定义者权限,逐个检查 EXECUTE 授权。禁用不必要的网络 ACL、调度器和高权限系统包。

生产敏感数据通过脱敏视图、VPD 或 Oracle Deep Data Security 控制,不能仅靠提示要求模型保密。

网络安全差异

SQLcl stdio 不 MCP 网络端口,但工作站仍要连接数据库,需限制出站和数据库 ACL。客户端本身与模型服务的网络也进入数据路径。

Database Tools 使用 OCI 托管远程端点和 Database Tools Connection,依赖 IAM、私有网络与云策略。ORDS 暴露 HTTPS /mcp,需要证书、网关、WAF、限流和 IdP。

不要把远程 MCP 端点直接公开给匿名互联网。健康检查和错误消息也不能泄露数据库信息。

审计差异

SQLcl 需要结合本地客户端日志、SQLcl 进程和 Oracle Database Unified Auditing。单机方便,但集中采集需额外部署。

Database Tools 可结合 OCI Audit、Identity Domain、Database Tools work request、Vault、Object Storage 与数据库审计,适合云端关联。

ORDS 使用 Web 访问日志、OAuth/IdP 日志、ORDS 连接池日志和数据库审计。统一请求标识,才能从自然语言请求追踪到 SQL。

性能和资源控制

SQLcl 单机任务也能发起全表扫描。Database Tools 与 ORDS 的多人共享更容易造成并发和连接池压力。

每种模式都设置查询超时、结果行数、响应大小和数据库 Resource Manager。大型报告使用只读副本或异步任务。

异步结果写 Object Storage 时限制 bucket、生命周期和加密。客户端重试必须幂等,避免断线后重复执行。

方案一:个人开发工作站

开发者在本机安装 SQLcl 与 JRE,创建 dev_reader 保存连接,保持 Restrict Level 4,通过 Claude Desktop 或 Cline 启动 stdio MCP。

只连接测试库,允许查询和模式探索,不开放脚本与 host 命令。完成后 disconnect,工作站锁屏并保护 .dbtools。

这是成本最低、反馈最快的起点,不应直接扩展为团队共享生产服务。

方案二:OCI 集中报告服务

团队创建 Database Tools Connection、Vault secret、专用 MCP Server 和 SQL Report Toolset。用户通过 Identity Domain 组获得应用角色。

IAM policy 限定 MCP Server、Connection、secret 和数据库 OCID。报告查询参数化,结果脱敏并审计。

需要 NL2SQL 时再授予指定 semantic store 权限。异步报告使用 resource principal 与专用 bucket。

方案三:已有 ORDS 的企业平台

团队升级受支持 ORDS Standalone,在现有 TLS、反向代理和企业 IdP 下启用 /mcp。客户端通过 OAuth2/JWT 认证。

为 MCP 建立独立连接池和数据库角色,不复用 REST 管理账户。按 schema 和工具分配 scope,记录外部用户身份。

先在测试环境验证动态客户端注册、令牌撤销、连接池隔离和审计,再开放生产。

是否可以混合使用

同一组织可以同时使用三种模式。开发者本机用 SQLcl,业务报告走 Database Tools,已有企业应用通过 ORDS。

混合时建立统一数据分类、数据库角色命名、审批和审计规范。不要让同一人通过 SQLcl 高权限连接绕过托管或 ORDS 治理。

每个访问路径都进入资产清单,定期比较身份和权限。最弱路径决定整体安全水平。

常见选型错误

认为 SQLcl 只能查询

SQLcl MCP 能执行 SQL、PL/SQL 和 SQLcl 命令。必须保持 Level 4 并限制数据库用户。

认为托管服务无需 IAM 设计

Database Tools 有多层 principal、Vault、OBO 和可选异步权限。优先资源级 policy,拒绝宽泛 compartment 授权。

认为已有 ORDS 就可以直接公开 MCP

检查 ORDS 版本、OAuth/JWT、客户端注册、连接池和授权 schema。MCP 是新的高能力入口。

把三种模式连到同一个 DBA 账户

这会消除治理差异并扩大风险。每条路径使用专用最小权限身份。

选型检查表

先回答数据库位置、用户数量、现有 OCI 或 ORDS、身份提供商、是否需要远程访问、是否需要自定义 PL/SQL、是否需要异步任务和集中审计。

然后比较运维团队能力、网络边界、凭据存储、数据库角色、工具审批、数据遮罩、性能和成本。做一个测试部署验证真实行为。

最后记录选择理由和不选其他模式的原因。需求变化时重新评估,不要让个人原型静默变成生产基础设施。

Oracle 的三种 MCP 方案不是互相替代的单一路线。SQLcl 服务个人本地效率,OCI Database Tools 提供托管云治理,ORDS 复用企业远程服务与自选身份提供商。按数据库位置、用户身份和运维模型选择,再用最小权限、脱敏与审计守住共同边界,才能让 Oracle AI Database 的 Agent 接入既实用又可控。

热门栏目