Linux TNS-12541错误怎么解决?Linux TNS-12541错误代码含义

在 Linux 环境下,Oracle 数据库报错 TNS-12541: TNS:no listener 表示客户端无法连接到 Oracle 监听器(Listener),这通常意味着监听器未启动、配置错误或网络不通。

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

PL/SQL Developer无法登录Oracle报错“ORA-12541:TNS:”无监听程序解决方式
加载中
PL/SQL Developer无法登录Oracle报错“ORA-12541:TNS:”无监听程序解决方式

检查监听器是否正在运行

确认监听器进程是否存在。

# 切换到 oracle 用户
su - oracle
# 检查监听器状态
lsnrctl status
  • 如果显示 “TNS-12541” 或 “TNS:no listener”:说明监听器未启动。
  • 如果显示 “Listening on…”:说明监听器正在运行,问题可能在网络或配置上。

启动监听器

如果监听器未启动,尝试手动启动它:

lsnrctl start
  • 如果启动成功:再次运行 lsnrctl status 确认状态。
  • 如果启动失败:查看日志文件获取详细错误信息:
    • 默认日志路径:$ORACLE_BASE/diag/tnslsnr/<hostname>/listener/alert/log.xml
    • 或查看 listener.log 文件(通常在 $ORACLE_HOME/network/log/ 下)

检查监听器配置文件 listener.ora

监听器配置错误是常见原因,检查 $ORACLE_HOME/network/admin/listener.ora 文件。

Linux TNS-12541错误怎么解决?Linux TNS-12541错误代码含义

示例正确配置:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = <your_server_ip_or_hostname>)(PORT = 1521))
    )
  )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = <your_db_name>)
      (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)
      (SID_NAME = <your_sid>)
    )
  )

常见错误:

  • HOST 设置错误:HOST 设置为 localhost,远程客户端无法连接,应设置为服务器的主机名或 IP 地址。
  • 端口冲突:确保 1521 端口未被其他程序占用。
  • SID 不匹配:SID_NAME 必须与数据库实例名一致。

修改后,重启监听器:

lsnrctl stop
lsnrctl start

检查防火墙和网络设置

即使监听器在运行,防火墙也可能阻止连接。

检查防火墙状态:

# 检查 firewalld(CentOS/RHEL)
sudo firewall-cmd --state
# 检查 iptables
sudo iptables -L -n | grep 1521

开放端口(如果需要):

# 如果使用 firewalld
sudo firewall-cmd --permanent --add-port=1521/tcp
sudo firewall-cmd --reload
# 如果使用 iptables
sudo iptables -I INPUT -p tcp --dport 1521 -j ACCEPT
sudo service iptables save

Linux TNS-12541错误怎么解决?Linux TNS-12541错误代码含义

测试网络连通性:

从客户端机器测试:

telnet <server_ip> 1521
# 或
nc -zv <server_ip> 1521

检查 /etc/hosts 文件

确保服务器的主机名能正确解析为 IP 地址。

hostname
cat /etc/hosts
  • hostname 返回的主机名在 /etc/hosts 中没有对应的 IP 映射,监听器可能无法正确绑定地址。
  • 确保 /etc/hosts 中包含类似如下行:
    168.1.100   your_server_hostname

检查数据库实例是否注册到监听器

有时监听器在运行,但数据库实例未注册(静态注册或动态注册失败)。

检查动态注册:

lsnrctl status

查看输出中是否有 Instance "<sid>", status READY 或 BLOCKED,如果没有,可能需要静态注册(见第 3 步 SID_LIST_LISTENER)。

强制注册:

在数据库中执行:

ALTER SYSTEM REGISTER;

检查 sqlnet.ora 配置

检查 $ORACLE_HOME/network/admin/sqlnet.ora 文件,确保没有阻止监听的参数。


检查权限和文件所有权

Linux TNS-12541错误怎么解决?Linux TNS-12541错误代码含义

确保 listener.ora、tnsnames.ora 和 sqlnet.ora 文件的所有者是 oracle 用户,并且权限正确(通常为 644)。

chown oracle:oinstall $ORACLE_HOME/network/admin/.ora
chmod 644 $ORACLE_HOME/network/admin/.ora

查看日志文件

如果以上步骤都无法解决问题,查看监听器日志文件以获取详细错误信息:

  • 日志位置:$ORACLE_BASE/diag/tnslsnr/<hostname>/listener/alert/log.xml
  • 或使用 tail 命令:
    tail -f $ORACLE_BASE/diag/tnslsnr/<hostname>/listener/alert/log.xml

总结排查流程

  1. lsnrctl status → 确认监听器状态。
  2. lsnrctl start → 启动监听器。
  3. 检查 listener.ora → 确认 HOST、PORT、SID 配置正确。
  4. 检查防火墙 → 确保 1521 端口开放。
  5. 检查 /etc/hosts → 确保主机名解析正确。
  6. 查看日志 → 根据日志错误进一步排查。

如果问题仍然存在,请提供 lsnrctl status 的输出和 listener.ora 的内容(隐藏敏感信息),以便进一步分析。

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

赞 (0)
h5模板建站视频教程怎么用?零基础小白建站教程
上一篇 2026年7月9日 21:42
cdn安全技术有哪些,cdn安全防护原理
下一篇 2026年7月9日 21:44

相关推荐

  • 租三星服务器一个月多少钱,服务器租用价格一般多少?

    三星租服务器的价格没有统一标价,市场上常见配置月付多在几百元到数千元之间,入门级物理机通常几百元起步,高配GPU或大存储机型可能达到数千元每月,实际费用取决于硬件、带宽、机房线路和服务商资质,三星租服务器价格由哪些因素决定硬件配置是基础成本租用服务器时,CPU型号、内存容量、硬盘类型直接决定起步价,三星品牌服务……

    2026年9月16日
    200
  • 1M宽带能承受多少人在线,服务器带宽怎么选?

    1M带宽的服务器通常能支撑数十到数百人在线,具体取决于网站类型、页面大小和优化程度,合理的架构设计能让1M带宽发挥更大价值, 站长在选择服务器时,常被带宽规格困扰,这个问题没有统一答案,但分析核心因素后,可以得出清晰判断,影响1M带宽承载人数的核心因素要估算1M带宽能支撑多少人在线,必须先理解带宽单位换算和实际……

    2026年8月23日
    300
  • 马鞍山HPE塑合型服务器价格如何?,多少钱一台?

    马鞍山HPE塑合型服务器价格没有固定标价,主要受配置、新旧程度及服务商影响,主流配置通常在6万至18万元区间,具体需根据实际需求定制方案,影响HPE塑合型服务器价格的核心因素硬件配置与性能参数HPE塑合型服务器架构强调计算、存储和网络的融合,价格起点取决于处理器、内存和硬盘组合,处理器选择Intel Xeon可……

    2026年8月13日
    400
  • mc服务器租用一个月多少钱?,哪家最便宜?

    Minecraft服务器租用一个月多少钱?根据不同配置与玩家规模,入门级4GB内存版本通常在50-80元/月,而支持百人同时在线的中高端配置则需要200-500元/月,选择时需关注CPU性能、内存大小及机房线路,这些直接决定游戏体验与成本,影响MC服务器租用价格的核心因素服务器配置决定基础成本MC服务器对CPU……

    2026年8月6日
    1000
  • 一块GPU服务器芯片到底多少钱,最新价格多少?

    一块GPU服务器芯片的价格从数千元到数十万元不等,消费级显卡如RTX 4090市场价约1.3万-2万元,而企业级加速卡如NVIDIA H100的单价则在20万-30万元区间,顶级型号甚至突破40万元,但真正影响采购决策的,从来不只是芯片本身的价格,而是算力获取的综合成本,为什么GPU芯片价格差异如此悬殊GPU芯……

    2026年8月26日
    1200
  • 生信服务器一天要多少钱才合适?,价格贵不贵

    生信服务器按天租用的价格通常在50元到500元不等,具体取决于CPU核心数、内存大小以及是否配备GPU加速卡,如果只是跑常规比对和组装任务,一台32核64G配置的云服务器一天费用约80元;涉及GPU加速的深度学习分析,费用则攀升至300元以上,价格差异主要来自硬件规格和计费模式,下文逐一拆解,影响一天价格的核心……

    2026年8月29日
    600
  • ccl linux是什么?,怎么安装使用?

    CCL Linux 是一个基于社区维护的轻量级企业级操作系统,专为容器化工作负载设计,其安装配置和安全调优方法直接影响生产环境的稳定性与性能,为什么CCL Linux值得选择统计数据显示,Linux在服务器端市场份额持续维持在85%,轻量级发行版的需求在近年来增长尤为明显,CCL Linux继承了RHEL的生态……

    2026年7月15日
    400
  • 养一个服务器每月要花多少钱,云服务器租用费用怎么算

    养一台服务器一年的真实成本,从几百元到数十万元不等,差异核心在于你是“租”还是“养”,以及选择什么形态的基础设施,对绝大多数中小企业或个人开发者而言,云计算按需付费是最经济的选择;而对追求极致性能或合规要求极高的业务,自建机房则意味着一次性的硬件投入与持续的运维支出,下面,我将为你逐一拆解每个环节的账本,算清这……

    2026年8月31日
    400
  • ice服务器一共花了多少钱

    单纯问“ice服务器多少钱”,答案并不固定,如果按目前市场上主流配置的云服务器来算,一台起步的ice服务器年付成本通常在几百到一千元区间;但如果把带宽、数据盘、IP资源和后期维护算进去,一台真正能稳定跑业务的ice服务器,年度综合成本大概率在两千元到一万元之间,这个区间跨度大,是因为“ice”本身不是某个固定套……

    2026年9月1日
    400
  • MC服务器一年要花多少钱,我的世界服务器租用多少钱一年

    一个能稳定容纳50人同时在线的原版生存服,一年预算在2000-5000元区间;百人规模的Mod服或插件服,一年约需8000-20000元;而千人级别的跨服或大型网络服,年成本可轻松突破10万元,这笔钱主要花在服务器租用、带宽流量、数据备份和安全防护上,下文按需求分层逐项拆解,影响年度费用的四个核心变量玩家规模直……

    2026年9月10日
    200

发表回复

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