导航

PL/SQL 用户登录出现ORA-12170:TNS:连接超时 等问题时,建议参考如下解决方案。

1.cmd ------ ping ip地址

   查看网络问题,能否ping通ip地址;

2.cmd ------ tnsping ip地址(或服务器的实例名SID

   ①如果出现"TNS-12535:操作超时" 提示,可能是服务器端防火墙没有关闭,关闭防火墙即可;

   ②如果出现下图显示,则证明没有问题;

   

3.cmd ------ netstat - na 查看1521端口是否关闭

   ①如果显示关闭,则需要在防火墙设置中将1521端口设为例外;

   ②如果出现下图显示,则证明没有问题;

   

4.cmd ------ lsnrctl status  (重点:大部分错误集中于此)

   lsnrctl是listener-control 监听器的缩写,查看监听的状态

   当输入命令后出现下图所示

   

   或出现监听不支持服务等文字,基本可以确定我们安装目录product\11.2.0\dbhome_1\NETWORK\ADMIN 下的tnsnames.ora文件或listener.ora文件出现问题。

   ①检查tnsnames.ora文件,查看代码中HOST后面对应的是不是你的IP地址,如果不是修改为正确的IP 即可。(连接无线网络的多注意,因为每次的IP是随机分配的)如下显示为正确的文件内容 

  1.  
    LISTENER_ORCL =
  2.  
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  3.  
     
  4.  
     
  5.  
    ORACLR_CONNECTION_DATA =
  6.  
    (DESCRIPTION =
  7.  
    (ADDRESS_LIST =
  8.  
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  9.  
    )
  10.  
    (CONNECT_DATA =
  11.  
    (SID = CLRExtProc)
  12.  
    (PRESENTATION = RO)
  13.  
    )
  14.  
    )
  15.  
     
  16.  
    ORCL =
  17.  
    (DESCRIPTION =
  18.  
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.6.245.68)(PORT = 1521))
  19.  
    (CONNECT_DATA =
  20.  
    (SERVER = DEDICATED)
  21.  
    (SERVICE_NAME = orcl)
  22.  
    )
  23.  
    )

   ②检查listener.ora文件,listener.ora文件我们需确保文件中至少存在如下代码

  1.  
    LISTENER =
  2.  
    (DESCRIPTION_LIST =
  3.  
    (DESCRIPTION =
  4.  
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
  5.  
    (ADDRESS = (PROTOCOL = TCP)(HOST = UPAS-20181130MI112)(PORT = 1521))
  6.  
    )
  7.  
    )

   如果lsnrctl status命令下出现监听不支持服务问题我们还需要在上面的基础上加一段,如下为完整代码

  1.  
    SID_LIST_LISTENER =
  2.  
    (SID_LIST =
  3.  
    (SID_DESC =
  4.  
    (GLOBAL_DBNAME = ORCL)
  5.  
    (SID_NAME = ORCL)
  6.  
    )
  7.  
    )
  8.  
     
  9.  
     
  10.  
    LISTENER =
  11.  
    (DESCRIPTION_LIST =
  12.  
    (DESCRIPTION =
  13.  
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
  14.  
    (ADDRESS = (PROTOCOL = TCP)(HOST = UPAS-20181130MI112)(PORT = 1521))
  15.  
    )
  16.  
    )