SQL Developer 连接类型 (Connection Type) :SID 和 Service Name的区别

SQL Developer连接Oracle数据库时,Basic连接类型最常用,需区分SID和服务名。


SID是数据库实例的唯一标识(1对1),适合单机数据库;


服务名是逻辑入口(1对多),适合RAC集群和云数据库。


建议优先尝试服务名,若失败再改用SID。


其他连接类型如TNS用于复杂生产环境,CloudWallet用于云数据库,Advanced用于定制化场景。


掌握Basic连接及SID/服务名区别可解决90%的连接问题。


连接方式有哪些?SID 和 Service Name的区别是什么


在 SQL Developer 中新建连接时,连接类型 (Connection Type) 的下拉菜单决定了你用哪种方式"找到"数据库。


对于最常用的几种场景,我的建议是:

  • 访问开发/测试环境的单机数据库 :选 Basic

  • 连接复杂的RAC集群或云数据库 :选 TNSCloud Wallet

  • 有特定的JDBC连接串要求 :选 Advanced


下面这张表帮你理清它们的区别:

连接类型 一句话解释 (给前端的你) 使用场景 需要填什么
Basic 直连 就像用IP地址访问一个具体的"工位" 连接本地、开发或测试环境的单机数据库,最常用也最直观 主机名端口 (1521)、服务名SID
TNS 通过通讯录连接 从本地 tnsnames.ora 文件里找"花名" 连接复杂的生产环境,尤其是RAC集群或配置了负载均衡的数据库 选择本地 TNS 网络别名
Cloud Wallet 用钥匙和地址证明连接 通过官方授权的钱包文件进行高安全连接 连接 Oracle Autonomous Database (云端自治数据库) 下载好的 钱包文件 (ZIP)服务名
Advanced 使用JDBC精确串连接 直接用精确格式的地址连接 连接串格式特殊或Basic/TNS方式无法满足的定制化场景 完整的 JDBC URL
LDAP 通过公司黄页连接 去中心化的目录服务里找数据库地址 大型企业统一管理数据库地址的场景 目录服务器地址等

🔍 核心问题:SID vs Service Name 到底该怎么填?

当你使用最常用的 Basic 连接类型时,会发现需要选择用 SID 还是 服务名 (Service Name)


这是Oracle新手最容易困惑的地方。

用一个比喻就能理解:

  • SID :相当于数据库实例的"身份证号"。它是唯一的,一个萝卜一个坑,指向某一个具体的数据库实例。

  • 服务名 (Service Name) :相当于数据库的"前台总机"。你打给这个总机,后台可能会安排一个或多个实例来接听你的请求。

特性 SID 服务名 (Service Name)
核心关系 1 对 1 : 一个SID只对应一个特定的数据库实例 1 对 N : 一个服务名可以对应多个数据库实例(常用于RAC集群)
主要用途 连接单机、非集群的传统Oracle数据库 连接RAC集群、备用数据库或需要负载均衡的环境
连接串格式 host:port:SID (冒号后直接跟SID) host:port/service_name (斜杠后跟服务名)
谁在用它 数据库管理员(DBA)内部管理 应用程序、终端用户的日常连接
获取方法 SELECT INSTANCE_NAME FROM V$INSTANCE; SELECT NAME FROM V$ACTIVE_SERVICES;

💡 实际填表时怎么选?

  1. 如果你不确定,首选填"服务名" :现在大部分新装的Oracle数据库(尤其是12c以后的版本)默认都推荐使用服务名。许多云数据库和现代应用也主要基于服务名来连接。

  2. 如果服务名连不上,再试试SID:一些老系统或特殊配置的单机数据库,DBA可能只给你配置了SID。

小技巧 :当你连接一个你完全不了解的新数据库时,可以两个都试一下。哪个能通就用哪个。或者直接问给你分配数据库账号的DBA:"请问是用SID连接还是服务名?具体的值是多少?"

💎 给前端转大数据的你

在SQL Developer里,填写正确的连接信息就是你进入数据库世界的"钥匙"。它的底层逻辑其实和你用VSCode的Remote-SSH插件连接一台远程服务器(需要IP、端口、密码)是完全一样的,只不过现在把"连接服务器"换成了"连接数据库"。

搞懂 Basic 连接(最常用)和 SID vs 服务名 的区别,足以应对日常工作90%的场景。当需要连接复杂的集群时,再深入了解 TNS 方式即可。

相关推荐
倔强的石头_5 小时前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横6 小时前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
冬奇Lab18 小时前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence1 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神1 天前
三、用户与权限管理
数据库·mysql
麦聪聊数据2 天前
数据服务化时代:企业数据能力输出的核心路径
数据库
shushangyun_2 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
DARLING Zero two♡2 天前
【MySQL数据库】数据类型与表约束
数据库·mysql
曹牧2 天前
Oracle EXPLAIN PLAN
数据库·oracle
BD_Marathon2 天前
SQL学习指南——视图
数据库·sql