签到成功

知道了

CNDBA社区CNDBA社区

WINDOWS平台报错TNS-12535: TNS: 操作超时 TNS-12560: TNS: 协议适配器错误 TNS-00511: 操作超时

2018-02-06 11:25 7120 3 原创 ORACLE
作者: Marvinn
昨天,接到客户说修补永恒之蓝补丁,数据库重启,监听就报错,业务无法连接,具体排查过程如下:

环境描述:
windows server 2008 r2
oracle 10g

报错如下

http://www.cndba.cn/Marvinn/article/2628

lsnrctl status

LSNRCTL for 64-bit Windows: Version 11.1.0.7.0 - Production on 12-11月-2012 18:1
8:32

Copyright (c) 1991, 2008, Oracle. All rights reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.203.218)(PORT=1521)))
TNS-12535: TNS: 操作超时
TNS-12560: TNS: 协议适配器错误
TNS-00505: 操作超时
TNS-00530: 协议适配器错误
64-bit Windows Error: 61: Unknown error

前期处理过程


    1、重新配置了监听文件不管是IP还是主机、重启报错依旧
    2、删除监听文件,通过net manager配置不管是IP还是主机,重启报错依旧
    3、步骤如下
        3.1 进入注册表:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/OracleOraDb11g_home1TNSListener
查看imagepath中的值是否和OracleOraDb11g_home1TNSListener 服务的“E:/oracle/product/10.2.0/db_1/BIN/TNSLSNR.exe” 一致,如不一致,修改为一致即可

        3.2 开始-管理工具-服务-OracleOraDb10_home1TNSListener-属性-查看可执行文件路径是否跟注册表一致以及状态是否启动
        3.3 重启OracleOraDb10_home1TNSListener或者lsnrctl start报错依旧

    4、重启机器大法,可报错还是依旧

上面四种方法都没能解决….
网上看到一篇文章,看着及其相似,以下是文章连接
https://www.cnblogs.com/david-zhang-index/p/4916770.html
但是按照这个文章走,并没有解决我得问题,但是数据库静态注册成功了,动态注册并没有,业务用的动态这样肯定不行的.
关于这篇文章的bug问题,当前数据并没有发现类似问题,可忽略,只执行了如下几个步骤:http://www.cndba.cn/Marvinn/article/2628http://www.cndba.cn/Marvinn/article/2628

http://www.cndba.cn/Marvinn/article/2628

主要是这几步骤,关闭了ADR特性
1、在 sqlnet.ora文件中 增加如下行:
DIAGADR_ENABLED = OFF
2、在listener.ora文件中增加如下行:
DIAG_ADR_ENABLED
<listenername> = OFF
如何监听是listener时,则前面的名称为:DIAG_ADR_ENABLED_LISTENER = OFF
3、重启监听,报错如下

静态监听只报告了一个服务,而且这个服务是讲台监听的服务,动态监听TCP根本没起来,不过能起静态也算是个开端吧http://www.cndba.cn/Marvinn/article/2628http://www.cndba.cn/Marvinn/article/2628

接着,尝试修改监听文件中的动态监听配置,不管改为主机名还是IP,报错依然没有改变…

然后,我看了下10g监听sample中样例监听lisener.ora文件,按照其中文件配置如下:
如果主机名不行的话,也可修改为主机IP尝试下(C:/windows/System32/driver/etc/hosts内确保有主机IP)

http://www.cndba.cn/Marvinn/article/2628
http://www.cndba.cn/Marvinn/article/2628

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = wcm65)
      (ORACLE_HOME = E:/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
    )
       (SID_DESC =
        (GLOBAL_DBNAME = wcm65)
        (ORACLE_HOME = E:/oracle/product/10.2.0/db_1)  
        (SID_NAME = wcm65)
       )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = database)(PORT = 1521))
    )
  )

重启监听,监听正常,业务正常连接、问题解决
http://www.cndba.cn/Marvinn/article/2628http://www.cndba.cn/Marvinn/article/2628

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Marvinn

Marvinn

关注

路漫漫其修远兮、吾将上下而求索

  • 99
    原创
  • 0
    翻译
  • 2
    转载
  • 36
    评论
  • 访问:458371次
  • 积分:449
  • 等级:中级会员
  • 排名:第12名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ