Linux oracle 使用PLSQL Developer提示TNS:无监听程序

文章目录

    • 出现的问题
    • 问题定位

出现的问题

问题1:
提示TNS: 监听程序当前无法识别连接描述符中的请求服务
提示这个,可以先检查下连接数据的 sid 是否正确,有可能不是 orcl 。
问题2:
PLSQL Developer提示TNS:无监听程序 或者 程序连接数据库失败( The Network Adapter could not establish the connection。 )

问题定位

  • 测试网络连通性

    ping  192.168.0.60
    
  • 检测防火墙是否开放1521 端口

     -- 关闭linux的防火墙
     service iptables stop
     -- 开放1521端口,编辑iptables ,保存
     vi /etc/sysconfig/iptables
     -A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT
    
  • 登陆数据库,测试数据库的监听状态

    lsnrctl status
    如果提示:
      -------------------------------------------------------------
    Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
    TNS-12541: TNS:no listener
     TNS-12560: TNS:protocol adapter error
      TNS-00511: No listener
       Linux Error: 111: Connection refused
       ------------------------------------------------------------
      解决方法:
      修改了/etc/hosts文件,将下面删掉,重新添加上。
      127.0.0.1       localhost.localdomain   localhost
      修改
      vi  /etc/hosts  
      修改/etc/hosts之后正常情况应该是保存之后立即生效的,但是有时不是。使用uname -a 可以查看hostname是多少,就可以知道是否修改生效了
      启动监听: lsnrctl start
      查看监听状态:lsnrctl status
      如果提示:
      ---------------------------------------------------------------------
      Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=zzbank)(PORT=1521)))
        TNS-12542: TNS:address already in use
         TNS-12560: TNS:protocol adapter error
          TNS-00512: Address already in use
           Linux Error: 98: Address already in use
           --------------------------------------------------------------
        可以看到地址被占用,强制杀掉即可。
        ps -ef | grep LISTENER
        oracle    4562     1  0 21:44 ?        00:00:08 /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr LISTENER -inherit
    oracle    5740  5611  0 22:02 pts/1    00:00:00 grep LIS
        kill -9  4562
      再测试下监听状态: lsnrctl status
    
    

参考:Io 异常: The Network Adapter could not establish the connection解决办法

oracle linux下开放1521端口

oracle listener错误Linux Error: 111: Connection refused

TNS-12541 TNS-12560 TNS-00511 Linux Error: 111 解决方法

TNS-12542: TNS:address already in use 问题

[/etc/hosts文件修改后如何生效](https://www.cnblogs.com/xuzhiwei/p/3562341.html)

Linux之hosts文件

故障处理一例 TNS-12542: TNS:address already in use

Linux oracle 使用PLSQL Developer提示TNS:无监听程序_第1张图片

你可能感兴趣的:(oracle,Linux)