Linux ora 12154错误怎么解决?ora 12154 tns无法解析服务名

在 Linux 环境下遇到 Oracle 错误 ORA-12154: TNS:could not resolve the connect identifier specified,通常意味着客户端无法通过 tnsnames.ora 或命名服务找到对应的数据库连接描述符。

以下是系统化的排查步骤和解决方案:

Linux连接window遇到问题了?我帮你解决
加载中
Linux连接window遇到问题了?我帮你解决

检查环境变量 TNS_ADMIN

Oracle 客户端首先会查找 TNS_ADMIN 环境变量指定的目录,如果未设置,则默认查找 $ORACLE_HOME/network/admin/。

  • 检查当前设置:
    echo $TNS_ADMIN
    echo $ORACLE_HOME
  • 解决方案:
    • TNS_ADMIN 未设置或指向错误目录,请确保 tnsnames.ora 文件位于正确的位置。
    • 或者,显式设置环境变量:
      export TNS_ADMIN=/path/to/your/network/admin/dir

检查 tnsnames.ora 文件

确认 tnsnames.ora 文件是否存在,且包含正确的连接字符串。

  • 文件路径:

    • 通常位于:$ORACLE_HOME/network/admin/tnsnames.ora
    • 如果设置了 TNS_ADMIN,则位于:$TNS_ADMIN/tnsnames.ora
  • Linux ora 12154错误怎么解决?ora 12154 tns无法解析服务名

    常见错误:

    • 文件名拼写错误(如 tnsnames.ora.bak 被误改名为 tnsnames.ora 但内容不对)。
    • 连接标识符名称不匹配(例如客户端调用的是 MYDB,但 tnsnames.ora 中定义的是 MY_DB)。
    • 语法错误(缺少括号、逗号、引号等)。
  • 示例 tnsnames.ora 配置:

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

使用 tnsping 测试连通性

这是最直接的诊断工具。

  • 命令:

    tnsping <连接标识符>
    tnsping MYDB
  • 结果分析:

    • 成功: 显示 OK (xx msec),说明 TNS 解析正常,问题可能在数据库服务本身或监听器。
    • 失败: 显示 TNS-12541: TNS:no listener 或 TNS-12560: TNS:protocol adapter error,说明监听器未运行或端口错误。
    • 失败:

      Linux ora 12154错误怎么解决?ora 12154 tns无法解析服务名

      显示 TNS-12545: Connect failed because target host or object does not exist,说明主机名或 IP 错误。

    • 失败: 显示 TNS-12560: TNS:protocol adapter error 或 TNS-03505: Failed to resolve name,说明 tnsnames.ora 中的名称无法解析,需检查文件名或 TNS_ADMIN。

检查监听器状态

确保数据库服务器上的监听器正在运行。

  • 检查监听器状态:
    lsnrctl status
  • 启动监听器:
    lsnrctl start

检查主机名解析

tnsnames.ora 中使用的是主机名而非 IP 地址,确保 Linux 系统能正确解析该主机名。

  • 检查 /etc/hosts 文件:

    cat /etc/hosts

    确保数据库服务器的主机名或 IP 地址已正确映射。

  • 测试解析:

    ping <数据库主机名>
    nslookup <数据库主机名>

检查权限问题

确保 Oracle 用户(通常是 oracle)对 tnsnames.ora

Linux ora 12154错误怎么解决?ora 12154 tns无法解析服务名

文件有读取权限。

  • 检查权限:
    ls -l $ORACLE_HOME/network/admin/tnsnames.ora

    如果权限不足,修复权限:

    chmod 644 $ORACLE_HOME/network/admin/tnsnames.ora

其他可能原因

  • 防火墙问题: 确保客户端能访问数据库服务器的 1521 端口(或指定端口)。
    telnet <数据库主机> 1521
  • 多实例环境: 如果服务器上有多个 Oracle 实例,确保 tnsnames.ora 中指定的 SERVICE_NAME 或 SID 正确。
  • DNS 问题: 如果依赖 DNS 解析主机名,检查 DNS 服务器是否可达。

总结排查流程

  1. 运行 tnsping <连接名>,看返回什么错误。
  2. 如果提示“无法解析名称”,检查 TNS_ADMIN 和 tnsnames.ora 文件内容。
  3. 如果提示“监听器错误”,检查 lsnrctl status 和防火墙。
  4. 如果提示“主机不存在”,检查 /etc/hosts 或 DNS。

通过以上步骤,绝大多数 ORA-12154 错误都可以被定位和解决。

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

赞 (0)
K8s日志EFK收集方案怎么用?k8s日志收集方案
上一篇 2026年7月10日 18:17
Python和phython有什么区别?Python入门学习教程
下一篇 2026年7月10日 18:18

相关推荐

  • UDP服务器到底能支持多少客户端?,连接数限制是多少

    UDP服务器能支持多少个客户端?答案不是一个固定数字,在理论端口上限(约6.5万)与百万级并发之间,实际取决于你的架构、硬件和业务场景,但通过合理设计,单机承载数十万甚至百万级UDP连接是现实可行的,UDP(用户数据报协议)天生无连接,这意味着服务器不需要像TCP那样为每个客户端维护一个昂贵的连接对象,这份“轻……

    2026年8月20日
    200
  • Gravatar头像无法加载怎么办?国内头像完美替代方案

    国内WordPress用户若因Gravatar头像加载缓慢或完全无法显示而困扰,Cravatar是目前最稳定、免费且无需复杂配置的完美替代方案,在博客和论坛生态中,头像不仅是个人身份的象征,更是社区互动的重要视觉锚点,对于长期依赖Gravatar服务的国内开发者而言,这一“全球通用头像”服务近年来体验急剧下降……

    2026年6月30日
    2310
  • 安卓http服务器框架怎么用?IdeaHub Board设备安卓设置教程

    在IdeaHub Board设备上搭建安卓HTTP服务器,核心在于利用其内置的Android系统权限,通过Termux或Python脚本环境实现本地局域网文件共享,从而满足会议资料快速分发与调试需求,随着企业数字化转型的深入,传统的U盘拷贝或邮件附件传输方式已无法满足高效协作的需求,华为IdeaHub Boar……

    2026年6月17日
    3410
  • 低配服务器1m宽带能带多少并发?,带宽不够怎么办

    1M带宽的服务器,并发支撑能力通常在个位数,具体数值取决于页面大小和响应时间,以优化后的网站为例,1M带宽可同时处理5-10个请求,但实际运营中需要结合场景估算,影响并发数的核心因素带宽的实际吞吐量1M带宽的理论下行速率是128KB/s,但这是理想值,实际受协议开销、网络延迟和服务器处理能力影响,可用速率通常只……

    2026年8月24日
    000
  • 手机App服务器租用一年多少钱,哪家便宜?

    手机App服务器租用一年的费用大概在几百到几万元之间,具体取决于配置、带宽和服务商资质,选择持牌自营机房的服务商能确保稳定性与合规性,手机App服务器租用费用构成与市场行情服务器租用成本不是固定数字,而是由多个变量决定,了解这些变量,才能根据自身App的规模做出合理预算,核心配置决定基础价格一台服务器的基础配置……

    2026年8月19日
    400
  • Apache Web Server漏洞怎么查?漏洞管理平台有哪些

    Apache Web Server漏洞管理的核心在于建立“发现-评估-修复-验证”的闭环机制,而非单纯依赖补丁更新,需结合资产梳理与风险优先级排序来降低实际攻击面,在数字化基础设施的底层,Apache HTTP Server 依然占据着不可忽视的市场份额,尽管 Nginx 和 Cloudflare 等新兴方案崛……

    2026年6月15日
    3200
  • 国外云主机哪家最好,国外云服务器怎么选才稳定?

    选择国外云主机时,不存在绝对的“唯一标准答案”,因为最好的选择取决于具体业务场景、技术能力、预算以及对网络延迟的特殊要求,综合市场占有率、性能稳定性、技术架构及性价比来看,亚马逊云科技(AWS)、Google Cloud、DigitalOcean及Vultr在各自领域均处于顶尖水平,对于企业级应用,AWS是首选……

    2026年2月25日
    12800
  • app兼容性测试怎么做,新建兼容性测试任务步骤详解

    在移动应用开发生命周期中,构建一个高效、覆盖面广的兼容性测试任务,是保障产品质量、降低线上故障率的决定性环节,新建兼容性测试任务的核心结论在于:必须建立一套标准化的“范围定义-用例筛选-环境配置-执行策略”流程体系,通过精准的云端设备选型与智能化的脚本执行,以最小的成本覆盖最广泛的真实用户场景,从而在应用发布前……

    2026年4月7日
    9200
  • CloudSilk白丝云哪款线路最好?大陆优化BGP线路推荐

    🌐 CloudSilk 白丝云 · 中国大陆优化 BGP 产品汇总✅ 核心优势BGP 多线接入:自动选择最优路由,支持三网(电信、联通、移动)访问,低延迟、低丢包:针对中国大陆网络环境优化,显著提升访问稳定性,回程线路优化:部分节点使用 CMI(中国移动国际) 或 9929/4837 精品线路,进一步降低延迟……

    2026年7月12日
    4910
  • 如何判断app使用的cdn加速服务器?添加cdn加速域名

    App判断CDN加速服务器是否生效及添加CDN加速域名的核心在于:在App后端配置中绑定加速域名并验证DNS解析记录,同时在App客户端通过特定接口或日志监控请求头中的Server字段及响应时间,以确认流量是否成功走通CDN节点,在移动互联网高度发达的今天,App的加载速度直接决定了用户的留存率,当用户打开一个……

    2026年6月7日
    4400

发表回复

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