You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用账号密码连接Oracle数据库遇localhost 1521无监听错误的解决方法

Oracle数据库连接错误:localhost端口1521无监听程序解决办法
  • 检查Oracle监听服务状态

    • Windows:按Win+R输入services.msc打开服务列表,找到名称含TNSListener的Oracle服务(比如OracleOraDB19Home1TNSListener),查看是否处于“正在运行”状态。未启动则右键点击“启动”。
    • Linux/macOS:终端执行lsnrctl status查看监听状态,若提示异常,执行lsnrctl start启动监听服务。
  • 核对监听配置文件listener.ora

    • 找到Oracle安装目录下的ORACLE_HOME/network/admin/listener.ora文件
    • 确认配置中监听端口为1521、主机指向localhost(或正确主机名),示例配置如下:
      LISTENER =
        (DESCRIPTION_LIST =
          (DESCRIPTION =
            (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
          )
        )
      
    • 修改配置后需重启监听:Windows在服务中重启,Linux/macOS执行lsnrctl stoplsnrctl start
  • 排查端口1521占用情况

    • Windows:命令提示符执行netstat -ano | findstr :1521,若有结果,查看对应PID的进程,若非Oracle监听进程,可结束该进程(需管理员权限),或修改Oracle监听端口。
    • Linux/macOS:终端执行lsof -i :1521netstat -tulpn | grep 1521,检查占用进程并处理。
  • 验证tnsnames.ora配置(使用TNS连接时)

    • 同样在ORACLE_HOME/network/admin目录找到tnsnames.ora,确保连接描述符的主机、端口、服务名正确,示例:
      ORCL =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
          (CONNECT_DATA =
            (SERVER = DEDICATED)
            (SERVICE_NAME = orcl)
          )
        )
      
    • 服务名可通过登录数据库执行select sys_context('userenv','service_name') from dual;查询。
  • 测试连接

    • 用SQL*Plus测试:sqlplus 用户名/密码@localhost:1521/服务名,替换为实际信息,能成功登录则问题解决。

内容的提问来源于stack exchange,提问作者Debesh Pradhan

火山引擎 最新活动