windows 程连接 Oracle 报 ORA-12541

远程连接 Oracle 报 ORA-12541 完整修复教程

适用场景:本地能连 Oracle、远程连接报错 ORA-12541: TNS:no listener,Windows 环境

一、问题原因

从你的日志可明确:

  1. Oracle 监听默认只绑定 127.0.0.1,仅允许本机访问
  2. 监听重启后数据库实例未自动注册,远程依然无法识别服务

二、前置准备

  1. 登录Oracle 所在服务器 ,以管理员身份打开 CMD

  2. 找到监听配置文件路径(以你的环境为例):

    复制代码
    E:\BaiduNetdiskDownload\network\admin\listener.ora

三、第一步:修改监听配置,允许远程访问

  1. 打开 listener.ora 文件

  2. 全量替换 为以下配置(直接复制覆盖):

    ini 复制代码
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )
    
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = E:\BaiduNetdiskDownload)
          (PROGRAM = extproc)
        )
      )
  3. 保存并关闭文件

四、第二步:重启监听生效

管理员 CMD 中依次执行:

cmd 复制代码
lsnrctl stop
lsnrctl start

重启成功后执行:

cmd 复制代码
lsnrctl status

看到 HOST=0.0.0.0 即配置生效:

复制代码
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))

五、第三步:注册数据库实例到监听

监听启动后,数据库不会自动注册,需手动执行:

  1. CMD 登录数据库:

    cmd 复制代码
    sqlplus / as sysdba
  2. 执行注册语句:

    sql 复制代码
    alter system register;
  3. 退出 SQL:

    sql 复制代码
    exit
  4. 再次查看监听状态:

    cmd 复制代码
    lsnrctl status

出现以下内容即为正常:

复制代码
服务 "orcl" 包含 1 个实例。
实例 "orcl", 状态 READY...

六、第四步:开放服务器 1521 端口

  1. 管理员 CMD 执行放行命令:

    cmd 复制代码
    netsh advfirewall firewall add rule name="Oracle 1521" dir=in action=allow protocol=TCP localport=1521
  2. 云服务器需额外在控制台安全组开放 1521 端口

七、远程连接测试

  1. 远程电脑使用服务器公网/内网IP连接
  2. 连接信息示例:
    • IP:服务器真实IP
    • 端口:1521
    • 服务名:orcl
  3. 测试连接,ORA-12541 错误消失

八、常见验证命令汇总

  • 查看监听状态:lsnrctl status
  • 停止监听:lsnrctl stop
  • 启动监听:lsnrctl start
  • 数据库注册监听:alter system register;
  • 测试端口通断:telnet 服务器IP 1521
相关推荐
北顾笙9803 分钟前
MYSQL-day03
数据库·sql·mysql
MXsoft6184 分钟前
**混合云统一监控实践:私有云+公有云的一体化运维方案**
运维·网络·数据库
瀚高PG实验室26 分钟前
java中间件无法连接数据库
java·数据库·中间件·瀚高数据库
ULIi096kr29 分钟前
MySQL大表优化终极方案:单表数据量上限、卡顿解决、分表分库实战教程
数据库·mysql
霖霖总总29 分钟前
[MongoDB小技巧07]MongoDB 深度解析:find中投影与排序的底层机制与性能调优实战
数据库·mongodb
TechWayfarer31 分钟前
云服务器地域怎么选:用离线IP数据库识别用户来源并优化部署
服务器·数据库·python·tcp/ip·数据分析
deviant-ART36 分钟前
MySQL里的三个concat函数
数据库·mysql
H_老邪1 小时前
1044 - Access denied for user ‘root‘@‘%‘ to database ‘nacos‘
数据库·mysql
数智化精益手记局1 小时前
拆解复杂项目管理流程:用项目管理流程解决跨部门协作低效难题
大数据·运维·数据库·人工智能·产品运营
xhtdj1 小时前
Uber 如何通过批处理实现单账户每秒30+次更新
大数据·数据库·人工智能·安全·动态规划