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集群或云数据库 :选 TNS 或 Cloud 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 方式即可。

相关推荐
阳光九叶草LXGZXJ7 小时前
达梦数据库-报错-15-列【XXX】长度超出定义
linux·运维·数据库·sql·学习
字节渡客8 小时前
Redis键明明过期了,业务还在读到旧数据
数据库·redis·spring
OnlineProxy10 小时前
亚马逊多账号运营:如何在规避“关联封号”风险的同时实现电商规模化扩张
服务器·数据库·redis
辻弋20112 小时前
五年前的旅行视频糊成马赛克?Video2X用Real-ESRGAN逐帧重建细节,但只支持Windows、集显用户建议直接放弃
服务器·数据库·windows·游戏引擎·电脑
可乐鸡翅yeah_12 小时前
业务中 M3U8 水印相关坑,硬水印和动态水印区别
前端·网络·数据库·ffmpeg·m3u8在线
石头麻辣鱼13 小时前
Bamboo 调度系统 OceanBase 适配实战:存储过程迁移踩过的三个大坑
数据库
龙亘川13 小时前
数智驱动民政升级 精准守护民生保障
大数据·数据库·人工智能
念何架构之路13 小时前
zap扩展生态与总结
java·前端·数据库
晚安日记wanna14 小时前
MySQL 回表为什么这么慢?5 种优化手段逐个拆解
数据库·mysql·性能优化
第七页独白14 小时前
汽车零件厂如何通过 QMS 真正落地 IATF 16949——QMS软件系统:品质检验-内审稽核-8d客诉管理:全星质量管理软件系统
java·前端·数据库