ITPub博客

首页 > 数据库 > Oracle > Windows server 2008 R2 oracle RAC 监听问题处理一例

Windows server 2008 R2 oracle RAC 监听问题处理一例

原创 Oracle 作者:Z少校 时间:2017-05-27 09:53:59 0 删除 编辑

    Windows server 2008 R2系统安装oracle 11.2.0.4 RAC集群,因为‘永恒之蓝’病毒导致节点1剔除了集群,只剩下了节点2.在将病毒处理后,节点2暂时作为单节点RAC使用。
但是在应用连接数据库时候,连接超时,经过检查发现是监听出现问题,
主要问题是:
    sqlplus登录数据后查询参数local_listener的值为VIP的IP地址的连接地址,但其值默认应该是空值,,因为错误设置了参数值导致了数据库服务无法自动注册到监听中。
重新将参数设置为空后,重新配置了集群监听,数据库服务正常自动注册到监听中了。

    监听正常后,又发现无论是使用PLSQL工具或者toad for oracle来连接数据库还是应用程序的jdbc连接数据库都是非常的慢,最快也需要将近1分钟才能连接的上。连接上后查询都正常,但是应用
无法正常连接,并且报连接超时的错误。
    监听的状态是正常的,查询监听日志也没有报错的记录,(监听日志位置 E:\app\Administrator\product\11.2.0\dbhome_1\log\diag\tnslsnr\Z-PC\listener\trace\listener.log)
联系系统运维检测网络也是正常的
    又使用tnsping 发现也是通的,而且速度也几乎是0ms。
    有上网站或者论坛中搜索类似的问题,网上提到Windows server 2008服务器安装的oracle远程连接特别慢的一个原因是2008服务器和win7新增加的TCP/IP协议自动调谐功能造成的。
按照针对此原因的解决方法将TCP/IP协议自动调谐功能进行关闭:
    具体操作步骤:
    开始——》运行——》cmd回车——》在该工作窗口的DOS提示符下,输入字符串命令
    “netsh int tcp set global autotuninglevel=disable”  回车,显示“确定”意味着此时系统的TCP/IP协议的自动调谐功能已经被成功关闭。



file://C:.Users.ADMINI~1.Z-P.AppData.Local.Temp.ct_tmp/1.png


    使用此方法后,在进行连接,情况并没有什么变化,我想更改系统配置可能重启一下才会生效,因此我将服务器进行了重启,重启后发现连接恢复正常,应用程序和工具连接都已正常。
本以为问题已经解决,但一小时后连接速度有成原来那样慢,而且应用也报连接超时。
想来并不是网上所说的原因导致的。
    不过值得注意的是重启系统后连接正常了,只不过运行一段时候后再次连接数据库时才会导致连接速度低下。因此想到是不是数据库的process数导致的?
查询了数据库当前的连接数和数据库的process,数据库的process为600,当前的连接数为106,并没有达到临界值,但为了验证到底是否因为process的原因导致的连接速度慢,我重新设置数据库的
process为1500,再重启数据库后连接恢复正常,并后续观察了三个小时,发现并没有出现原先连接速度低下的问题。看来是由于process不足导致的,
但是细节原因我还是不是太懂,我自己的猜测可能是应用程序连接数据库后,一些临时进程造成的数据连接在断开后并没有释放,因此在此随着连接数的增加,无用且没有释放的的连接越来越多,当一段时间
后在此连接时,导致无法分配连接,数据库才去释放无用的连接,然后在重新分配新的连接,导致连接时间增加。
   在此作为一个经验吧,如果有对此问题明白的欢迎讨论。


























































来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30484956/viewspace-2139961/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-09-15

  • 博文量
    31
  • 访问量
    22793