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)、服务名或SIDTNS通过通讯录连接从本地tnsnames.ora文件里找花名连接复杂的生产环境尤其是RAC集群或配置了负载均衡的数据库选择本地TNS 网络别名Cloud Wallet用钥匙和地址证明连接通过官方授权的钱包文件进行高安全连接连接Oracle Autonomous Database (云端自治数据库)下载好的钱包文件 (ZIP)和服务名Advanced使用JDBC精确串连接直接用精确格式的地址连接连接串格式特殊或Basic/TNS方式无法满足的定制化场景完整的JDBC URLLDAP通过公司黄页连接去中心化的目录服务里找数据库地址大型企业统一管理数据库地址的场景目录服务器地址等 核心问题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; 实际填表时怎么选如果你不确定首选填“服务名”现在大部分新装的Oracle数据库尤其是12c以后的版本默认都推荐使用服务名。许多云数据库和现代应用也主要基于服务名来连接。如果服务名连不上再试试SID一些老系统或特殊配置的单机数据库DBA可能只给你配置了SID。小技巧当你连接一个你完全不了解的新数据库时可以两个都试一下。哪个能通就用哪个。或者直接问给你分配数据库账号的DBA“请问是用SID连接还是服务名具体的值是多少” 给前端转大数据的你在SQL Developer里填写正确的连接信息就是你进入数据库世界的“钥匙”。它的底层逻辑其实和你用VSCode的Remote-SSH插件连接一台远程服务器需要IP、端口、密码是完全一样的只不过现在把“连接服务器”换成了“连接数据库”。搞懂Basic连接最常用和SIDvs服务名的区别足以应对日常工作90%的场景。当需要连接复杂的集群时再深入了解TNS方式即可。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2590601.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!