一次“ora-12170 tns 连接超时”的经历

 

win7    64位系统

oracle  10g   64位  

plsql之前连接是好使的,突然连接不上,提示错误“ora-12170 tns 连接超时”

1、ping IP    没有问题

2、netstat –na 查看1521端口,端口是没有问题的

3、防火墙没问题

4、lsnrctl status   发现  snmp off

解决方法 

首先:dba用户登录系统,无法shutdown   报:ora-00106错误:

修改 由于不是rac  是单机,之前的   tnsnames中service_name 是电脑名  ,修改为IP地址

其次:又变成错误 ,增加以下代码(红色字体)解决问题

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.186)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
      (SRVR = DEDICATED)
    )
  )

最后:用DBA用户登录报错误:

ora-12514错误;解决方法如下

打开<OracleHome>/network/admin)A[Y)I~](ZC9Z[3Y)IDK7LKstener.ora文件,找到:
   SID_LIST_LISTENER =
   (SID_LIST =
     (SID_DESC =
       (SID_NAME = PLSExtProc)
       (ORACLE_HOME = D:oracleproduct10.2.0db_1)
       (PROGRAM = extproc)
     )
   )
  2. 添加:
            (SID_DESC =
       (GLOBAL_DBNAME = ORACLE)
       (ORACLE_HOME = D:oracleproduct10.2.0db_1)  
       (SID_NAME = ORACLE)
      )
  3. 最后变成:
SID_LIST_LISTENER =
   (SID_LIST =
     (SID_DESC =
       (SID_NAME = PLSExtProc)
       (ORACLE_HOME = D:oracleproduct10.2.0db_1)
       (PROGRAM = extproc)
     )
     (SID_DESC =
       (GLOBAL_DBNAME = ORACLE)
       (ORACLE_HOME = D:oracleproduct10.2.0db_1)  
       (SID_NAME = ORACLE)
      )
   )
  4. 保存文件,重启服务中的TNSListener,OK!

原文地址:https://www.cnblogs.com/umlzhang/p/4033495.html