本地怎么连Oracle服务器名称,数据库连接服务器名怎么配?

本地连接Oracle数据库服务器名称,本质上就是在数据库客户端工具里正确填写主机地址、端口和服务名这三个要素,其中服务名(或SID)就是你要找的“服务器名称”,它定义在服务端tnsnames.ora文件中。

很多初学者第一次接触Oracle时,在“服务器名称”这一栏卡住,不知道该填IP地址还是填什么长串字符,其实这个名称是可以自定义的,是DBA在数据库服务器上配置好的一个“别名”,本文从原理到实操,一步步带你搞懂本地怎么连接Oracle数据库服务器名称。

本地plsql连接oracle数据库
加载中
本地plsql连接oracle数据库
笑
笑得很美啊
3471--
原视频地址

本地连接Oracle数据库服务器名称前,先分清三个概念

在动手填任何配置之前,先花三分钟搞懂三个容易混淆的词,否则你会越试越糊涂。

服务名(Service Name)与SID的区别

  • 服务名:对应Oracle 8i之后引入的概念,格式通常类似orcl或orcl.example.com,是数据库对外提供服务的逻辑标识。
  • SID:早期版本使用,指数据库实例的系统标识符,连接时同样写在主机字符串里。

行业共识认为,如今90%以上企业的Oracle数据库都使用服务名配置,因为服务名支持RAC集群和Data Guard等高级特性,你在“服务器名称”栏里填的,绝大多数情况下就是服务名。

服务器名称不等于IP地址

本地怎么连接Oracle数据库服务器名称,最容易踩的坑就是把“服务器名称”当成了IP地址。

项目 填写的值 示例
主机名/IP 数据库服务器所在机器的网络地址 168.1.100
端口 监听器打开的端口 1521
服务器名称/服务名 tnsnames.ora里定义的别名 ORCL

如果你只填了IP地址和端口,但“服务名”一栏留空或填错,连接会直接报ORA-12514: TNS listener does not currently know of service错误。

本地连接Oracle数据库服务器名称配置实操:从零到连通

下面用两台电脑的实际场景演示一台装了Oracle数据库的Windows服务器(假设IP为168.1.100),一台本地Windows电脑装了SQLPlus或Navicat客户端。

第一步:在数据库服务器上确认服务名

登录数据库服务器,打开命令行,输入:

lsnrctl status

这个命令会显示监听器的详细信息,重点看最后一列“Service”后面跟的名字,

Service "ORCL" has 1 instance(s).

这里的ORCL就是你要用的服务器名称,如果这步查询不到服务名,说明监听服务未启动,需要先运行:

lsnrctl start

第二步:检查客户端tnsnames.ora文件位置

本地电脑需要知道去哪找这个配置文件,常见路径如下:

  • Windows:$ORACLE_HOME\network\admin\tnsnames.ora
  • Linux:$ORACLE_HOME/network/admin/tnsnames.ora
  • 免安装客户端(如Instant Client):你的解压目录\network\admin\

用记事本打开tnsnames.ora,内容类似:

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )
  )

这里ORCL连接标识符”,SERVICE_NAME = ORCL是最终生效的服务名。如果你没装Oracle客户端,只有Navicat这类第三方工具,可以跳过tnsnames.ora的修改,直接在图形界面里填。

第三步:SQLPlus连接实战

在本地打开命令提示符,输入以下命令:

sqlplus system/密码@192.168.1.100:1521/ORCL

这段命令的拆解含义:

  • system:数据库用户名
  • 密码:对应用户的密码
  • 168.1.100:1521:主机和端口
  • ORCL:服务名

看到Connected to Oracle Database字样即为连接成功,如果报ORA-12154错误,大概率是tnsnames.ora文件格式或位置有问题。

第四步:Navicat图形化连接路径

Navicat连接Oracle时,“服务器名称”这个概念被拆成了两个字段,在连接配置界面依次填写:

  1. 主机:168.1.100
  2. 端口:1521
  3. 服务名:选择“服务名”单选按钮,输入ORCL

如果选择“SID”单选按钮,则改为输入ORCL对应的SID值,这个值在服务器上执行select instance_name from v$instance;可以查到。

本地连接Oracle数据库服务器名称失败,按这个次序排查

连接不上时,不要乱猜,按照从外到内的顺序逐层排查。

先确认网络能否到达

在命令行执行:

ping 192.168.1.100
telnet 192.168.1.100 1521
  • ping不通:网络不通或防火墙拦截。
  • ping通但telnet端口不通:数据库服务器防火墙未放行1521端口,Windows服务器在“高级安全Windows Defender防火墙”中添加入站规则;Linux服务器用firewall-cmd --add-port=1521/tcp。

再确认监听是否工作

在数据库服务器本机运行:

lsnrctl status

如果监听状态是The listener supports no services,说明监听没有关联到数据库实例,常见原因是listener.ora文件配置有误,或者数据库实例未注册,此时需要检查listener.ora中是否存在类似:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = D:\app\oracle\product\19.0.0\dbhome_1)
      (SID_NAME = ORCL)
    )
  )

最后排查服务名是否有效

在本地SQLPlus中执行:

sqlplus system/密码@192.168.1.100:1521/ORCL

报ORA-12514表示服务名写错,解决办法是在服务器上执行:

lsnrctl services

这个命令展示当前监听器实际注册的服务名,对着这个输出结果逐字符核对大小写和拼写。

本地连接Oracle数据库服务器名称常见问题速查

服务器名称填SID还是服务名?

如果你的数据库是单实例且非RAC环境,两者填哪个都能连通,但填服务名是长远更稳妥的做法,在连接字符串中,SID用SID关键字,服务名用SERVICE_NAME关键字:

sqlplus user/pwd@host:port/SID
sqlplus user/pwd@host:port/SERVICE_NAME

为什么用ODBC连接时服务器名称那里默认显示空?

ODBC数据源管理器里,Oracle ODBC Driver配置界面的“Service Name”字段,就是本文说的服务名,它默认为空,需要手动输入,拉黑下拉列表里出现的名称,其实来自你本机tnsnames.ora中定义的连接标识符,如果你的tnsnames.ora文件没配置,这个下拉列表就是空的。

你在本机连接时最常见的两个坑

坑一:Oracle临时改了端口导致名称失效

不少公司出于安全考虑,把1521端口改成了1522或1526,你手里拿到的“服务器名称”其实是对的,但连接配置里端口没改成实际值,这很像你拿着老地址去找朋友搬家后的新家名字还是那个名字,但门牌号变了,本地怎么连接Oracle数据库服务器名称不只是填对名字,还得确认IP和端口和服务名是同一套配置里的信息。

坑二:32位客户端连接64位数据库

本地装了32位Oracle客户端,去连64位的远程数据库服务(或反过来),经常报ORA-12560,这不是服务名和用户名密码的问题,而是客户端与服务器架构不匹配,解决办法:统一客户端位数与服务器位数,或使用纯JDBC连接方式规避。

Q&A:本地连接Oracle数据库服务器名称的补充问题

如何查到远程Oracle服务名?

SQLPlus中以sysdba身份登录数据库,执行show parameter service_names;可以查看当前实例的服务名,也可执行lsnrctl services查看监听器注册的所有服务名,这两个命令是查证“服务器名称”最权威的方式。

本地没装Oracle客户端,也能连Oracle数据库吗?

能,Navicat、DBeaver等图形化工具内置了连接Oracle所需的OCI驱动,无需单独安装Oracle客户端,在连接配置界面直接填写主机、端口和服务名即可,如果你需要命令行方式,可以使用Oracle Instant Client精简版,下载解压后配置PATH环境变量就能用SQLPlus连接。

连接时提示用户名或密码无效,但密码明明没错,怎么办?

先排除服务器名称填错的可能,因为Oracle的认证服务在密码验证前也依赖监听器正确路由到目标实例,确认服务名无误后,再检查是否密码区分大小写,从Oracle 11g开始默认启用密码大小写敏感,如果数据库设置了SEC_CASE_SENSITIVE_LOGON=TRUE,密码大小写写错就会认证失败,条件允许时DBA可以通过alter user 用户名 identified by 新密码;重置密码来验证。

连接Oracle这件事,搞懂了服务名的来龙去脉就等于成功了一半,剩下的一半在于配置文件的路径和监听器的状态,把上面说的几个命令在服务器和本地各跑一遍,绝大多数连接问题都能自己解决,本地怎么连接Oracle数据库服务器名称,归纳起来就三句话:查服务名,找对配置文件位置,填准监听信息。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/790944.html

赞 (0)
上一篇 2026年11月9日 21:08
下一篇 2026年11月9日 21:08

相关推荐

  • 为什么高性能计算服务器需要定制?服务器定制方案有哪些

    高性能计算服务器定制的核心在于根据具体业务负载精准匹配算力、存储与网络架构,而非单纯堆砌硬件参数,这种定制化方案能显著降低TCO并提升特定场景下的运算效率,在2026年的数字化浪潮中,通用型服务器已难以满足日益复杂的AI训练、大规模仿真及实时渲染需求,企业IT决策者正从“买标准品”转向“做精准定制”,这种转变并……

    2026年5月27日
    5300
  • AI养牛方案能秒杀吗,智能养牛技术真的靠谱吗?

    在当前畜牧业数字化转型的浪潮中,核心结论非常明确:利用人工智能技术重构养牛全流程,能够通过数据驱动的精准管理实现成本的大幅降低与效益的指数级增长,这种技术代差带来的效率提升,本质上是对传统粗放式管理模式的降维打击, 这种基于深度学习与物联网的综合解决方案,不仅解决了传统养殖中“看不见、摸不准、管不好”的痛点,更……

    2026年3月1日
    12100
  • 服务器内存选择新手为什么不能一味贪大?,服务器内存多大合适?

    服务器内存不是越大越好,新手选内存的正确顺序是:先看业务类型,再算并发和数据集大小,最后留出合理余量,多数业务把内存从“够用”翻到“翻倍”,性能提升远小于多花出去的钱,说句实在话,我见过太多人第一次买服务器,CPU 挑了半天,硬盘算得仔细,一到内存就两个字:拉满,问原因,回答也干脆——“怕不够”,这个心态能理解……

    程序编程 2026年10月21日
    200
  • 浅月云lightmoon香港VPS测评靠谱吗?浅月云支持解锁哪些流媒体

    浅月云(Lightmoon)作为主打香港BGP线路的VPS服务商,其核心优势在于提供稳定的流媒体解锁能力与较低的入门门槛,适合对网络延迟敏感且需要访问海外内容的小微用户,但在高负载下的稳定性上略逊于一线大厂,在VPS租赁市场鱼龙混杂的背景下,选择一款既便宜又稳定的香港节点产品并非易事,浅月云Lightmoon凭……

    2026年6月23日
    1900
  • 我的世界服务器NPC兑换物品怎么设置,如何让玩家兑换?

    在《我的世界》服务器里给NPC加上兑换功能,最主流且稳定的做法是安装Citizens插件搭配商店插件(如Shopkeepers),或者用命令方块+计分板实现无插件兑换,前者适合生存服、RPG服,功能强大;后者适合纯净服、小型服务器,零插件依赖,我的世界服务器NPC兑换插件推荐与配置先聊最适合多数服主的插件方案……

    2026年10月17日
    100
  • 服务器HA部署怎么做?高可用服务器部署方案与步骤

    高可用性(HA)服务器部署是保障业务连续性、降低单点故障风险的核心手段,其本质在于通过冗余设计与智能切换机制,确保系统在硬件故障、软件异常甚至局部网络中断时仍能持续对外提供服务, 实践证明,一套成熟、可落地的服务器HA部署方案,可将系统年可用性提升至99.99%以上,故障恢复时间(RTO)控制在秒级,数据丢失窗……

    程序编程 2026年4月17日
    6200
  • 杭州服务器租用总价怎么算,一年费用大概多少?

    杭州服务器租用的总价,不是看一张报价单上的“月付价格”那么简单,而是由硬件配置、带宽线路、IP数量、机房级别、服务商策略、合同周期六项费用叠加计算出来的, 如果你正在询价,你会发现同一家服务商给你的报价可能差出好几倍,这很正常——因为每项变量都能单独左右总价,下面我按权重从高到低,把每一项拆开讲,杭州服务器租用……

    2026年10月6日
    100
  • 一台服务器如何配置两个IP,双IP怎么设置?

    一台服务器配置两个IP的核心方法是在操作系统层面为同一块物理网卡添加多个IP地址,或者直接配置多块网卡分别绑定不同IP;无论哪种方式,最终都是通过修改网络配置文件或使用命令行工具实现绑定,为什么一台服务器需要绑定多个IP在讨论怎么操作之前,得先弄清楚你到底需不需要两个IP,很多场景下开发者和运维确实会遇到这类需……

    2026年9月21日
    300
  • linux服务器怎么连接另一个文件,有哪些方法?

    要在Linux服务器上连接并访问另一台服务器上的文件,核心思路是使用SSH远程登录或通过SCP/RSYNC同步,以及挂载远程目录,具体方式取决于你想要的是一时操作还是持续在线访问, 本文直接给你可执行的命令和判断标准,读完就能上手,Linux服务器怎么连接另一个服务器:SSH登录与文件访问最基础的需求是“人”连……

    2026年10月10日
    300
  • AIoT清华学霸是谁?揭秘清华学霸的AIoT成功之路

    AIoT清华学霸之所以成为行业争抢的顶尖人才,核心在于他们完美融合了清华严谨的工程教育背景与AIoT(人工智能物联网)跨学科的创新实践能力,这种“算法+硬件+系统”的复合型技术栈,正是解决当前物联网碎片化痛点、推动产业智能化升级的关键力量,他们不仅具备深厚的理论功底,更拥有将实验室技术转化为工业级解决方案的实战……

    2026年3月11日
    13300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注