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 READYBLOCKED,如果没有,可能需要静态注册(见第 3 步 SID_LIST_LISTENER)。

强制注册:

在数据库中执行:

ALTER SYSTEM REGISTER;

检查 sqlnet.ora 配置

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


检查权限和文件所有权

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

确保 listener.oratnsnames.orasqlnet.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

相关推荐

  • 2核1G服务器能支持多少人访问?,服务器配置怎么选?

    2核1G服务器能支持多少人访问?核心答案是:对于优化良好的轻量级网站,日均PV 1000-2000,同时在线50-100人是合理范围;但具体上限取决于缓存策略、带宽和代码效率,性能基准:2核1G到底能跑什么负载计算资源对比2核CPU、1GB内存是云服务器市场最低配置之一,CPU主频通常在2.0-2.5GHz,适……

    2026年8月3日
    500
  • 熹妃q传1.1.2有几个服务器,哪个服务器人最多?

    熹妃q传1.1.2版本当前共开放了超过300组服务器,覆盖iOS、Android及官方渠道,满足不同区服玩家的匹配需求,这个数字并非固定,而是根据玩家活跃度动态调整,但截至2026年第一季度,稳定在300组上下,很多玩家关心这个数字,因为它直接关系到能否与朋友合服、延迟高低以及后续的服务器生态,下面我们从服务器……

    2026年8月21日
    100
  • 锐捷32G服务器内存条贵不贵?,哪里买便宜

    锐捷32G服务器内存条的价格通常在600元到1100元之间,具体金额取决于内存类型、频率、渠道以及是否原厂兼容,这个区间覆盖了DDR4和DDR5主流规格,不同时序、品牌和质保期也会导致几十元到上百元的差异,如果你正在为锐捷服务器规划内存升级,理解这些变量能帮你用更合理的预算获得稳定可靠的性能,影响价格的核心技术……

    2026年8月2日
    1100
  • PS4战地1租服务器多少钱?,怎么租最便宜

    PS4《战地1》租用服务器费用通常在30元至200元/月之间,具体取决于玩家人数、服务器性能和租期长短,但价格只是入门,选择一家持有合规资质、运营稳定的IDC服务商,才能保证游戏低延迟、不丢包,长期运行省心,战地1服务器租用费用到底怎么算官方租用与第三方服务商差异官方RSP:EA提供的租用服务器服务,按Slot……

    2026年8月2日
    300
  • linux仿苹果桌面怎么设置?linux美化主题推荐

    Linux仿苹果系统并非单一软件,而是通过KDE Plasma、GNOME等桌面环境配合特定主题包实现的视觉与交互重构,其核心优势在于开源免费且高度可定制,适合追求个性化且具备一定技术基础的用户,为什么选择Linux仿苹果界面?许多用户从macOS转向Linux,往往是因为对苹果生态的依赖,或是被其简洁优雅的界……

    2026年7月6日
    8100
  • 2核4g5m的服务器到底多少钱?,哪家最便宜

    2核4G5M服务器年付价格普遍在600-1000元区间,但具体价格取决于服务商资质、带宽类型和促销活动,选择持牌服务商比单纯比价更重要,价格解析:2核4G5M服务器到底多少钱?2核CPU、4GB内存、5M带宽是目前中小型网站和应用的常见起步配置,这个规格的服务器在市场上价格跨度较大,主要受计费模式、服务商类型和……

    2026年7月30日
    1700
  • IBM云服务器一个月最便宜多少钱,怎么收费

    IBM云服务器一个月最便宜的付费实例起步价通常在30元至50元人民币区间,如果利用免费套餐,甚至可以零成本使用,实际价格会受到实例规格、计费周期和地域选择的影响,建议通过官网计算器获取精确报价,IBM云服务器一个月最便宜多少钱?核心因素解析实例类型决定价格底线IBM云服务器提供共享型、专用型和裸金属等实例类型……

    2026年7月25日
    700
  • 8核100m1t服务器多少钱?,哪家好?

    8核100M1T服务器,即8核CPU、100Mbps带宽、1TB月流量的配置,主流云服务商的月租价格普遍在800元至2000元之间,具体取决于硬件平台、网络线路和计费模式,影响价格的三大核心因素CPU与内存配置- 8核CPU常搭配至强E5或银牌系列,也有部分厂商用AMD EPYC,内存容量从16GB到64GB不……

    2026年8月8日
    300
  • TBC一个服务器能容纳多少人?,容量上限是多少

    TBC怀旧服单个服务器同时在线人数通常维持在4000-6000人之间,这是硬件配置与游戏架构共同决定的合理区间,魔兽世界燃烧的远征版本沿用经典服务器架构,暴雪在2021年怀旧服发布时公开的技术说明中提到,单服同时在线上限设定在5000人左右,这个数字不是随意拍板,而是考虑野外抢怪体验、阵营平衡、经济系统稳定等多……

    2026年8月18日
    400
  • 租服务器一个月多少钱,性价比高的推荐哪家

    租服务器一个月多少钱?核心答案是:入门级云服务器通常每月几十元起,中配置约200-500元,高性能物理服务器则在千元以上,具体取决于你的业务需求,影响价格的核心因素租服务器不是买白菜,价格浮动大是因为背后有多个变量,你首先得搞清楚自己需要什么,才能对号入座,硬件配置- **CPU核心数**:1核到32核甚至更高……

    2026年8月23日
    200

发表回复

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