关于ORA-12170 tns 连接超时等一系列Oracle无法正常登入问题

下面首先说说如何在出现ORA-12170 tns 连接超时等问题时,找到关键问题点,在哪个位置出错?

这是网上较为让人认可的解决方式:

1.cmd-----ping ip地址 查看网络问题,看能否ping通

2.cmd-----tnsping   ip地址(或者是服务器的实例名SID)如果报“TNS-12535:操作超时”,可能是服务器端防火墙    没有关闭

3.cmd----netstat -na 查看1521端口是否关闭,如果关闭Windows XP中的防火墙设置中将1521端口设为例外

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

在这里我重点说说第四点,因为出错的大部分集中于此。

当我们在cmd输入lsnrctl status时出现如下图

或者图中出现监听不支持服务等字眼,基本可以确定我们product\11.1.0\db_2\NETWORK\ADMIN下

tnsnames.ora文件或者listener.ora文件中出现问题

listener.ora文件网上拥有许多资料我们需确保文件中至少存在如下代码

# listener.ora Network Configuration File: E:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = UPAS-20181130MI112)(PORT = 1521))
    )
  )

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

# listener.ora Network Configuration File: E:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)    
      (SID_NAME = ORCL)
    )
  )
 

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = UPAS-20181130MI112)(PORT = 1521))
    )
  )

完成之后我们登入oracle还是报错,那么就需要看看容易忽略的tnsnames.ora文件了

主要看看:

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = UPAS-20181130MI112)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

这段代码中HOST是否是你的主机名或者IP,如果不是请修改到对应的主机名和IP就OK了。

  • 14
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值