zoukankan      html  css  js  c++  java
  • 解决oracle连接很慢问题 oracle监听无响应

    问题具体内容如下:

    客户那边人员说oracle数据库又问题,pgsql、navicat连接很慢,很卡,经常timeout,经过重重排查,从客户那边重设服务器网络、到自己修改oracle监听文件、映射文件等其他文件,最终还是未能解决问题。最后,开外挂上google搜到了,oracle版本的一个bug,DNS解析问题导致数据库连接很慢,连不上。
    查下监听日志,主要是以下内容:
    TNS-12525: TNS:listener has not received client's request in time allowed  TNS-12535: TNS:operation timed out    TNS-12606: TNS: Application timeout occurred  
    TNS-12518: TNS:listener could not hand off client connection  TNS-12571: TNS:packet writer failure    TNS-12560: TNS:protocol adapter error     TNS-00530: Protocol adapter error      Linux Error: 104: Connection reset by peer  
    27-NOV-2012 15:43:26 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=jdbc)(USER=oracle))(SERVICE_NAME=orcl)) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.10.1.200)(PORT=61018)) * establish * orcl * 0  
    数据库警告日志中也出现ora-609内容:
    Fatal NI connect error 12537, connecting to:  (LOCAL=NO)
    VERSION INFORMATION:  TNS for Linux: Version 11.2.0.1.0 - Production  Oracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.1.0 - Production  TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.1.0 - Production  Time: 29-FEB-2012 20:45:05  Tracing not turned on.  Tns error struct:  ns main err code: 12537  TNS-12537: TNS:connection closed  ns secondary err code: 12560  nt main err code: 0  nt secondary err code: 0  nt OS err code: 0  opiodr aborting process unknown ospid (12792) as a result of ORA-609

    报错如下

    oracle bug: Bug 9593134 - DNS or NIS mis-configuration can cause slow database connects [ID 9593134.8]

    排查步骤

    查看防火墙和SELinux是否关闭

    查看ping是否正常

    ping 127.0.0.1 正常
    ping localhost 正常
    ping server1    正常 server1为主机名

    查看tnsping是否正常

    tnsping 127.0.0.1 很慢
    tnsping localhost 很慢
    tnsping server1    很慢 server1为主机名

    检查侦听文件listener.ora和tnsnames.ora配置是否正确

    vim $ORACLE_HOME/network/admin/listener.ora
    vim $ORACLE_HOME/network/admin/tnsnames.ora
    listener.ora和tnsnames.ora中host必须一样

    解决方法:

    第一步,/etc/hosts 一定要映射主机名

    通过服务器hostname命令查看主机名,然后到/etc/hosts做映射

    修改服务器名
    CentOS7.X :   vim /etc/hostname
    CentOS6.X :  vim /etc/sysconfig/network

    修改完最终如下

    第二步,DNS配置

    oracle配置成功,但是navicat、pgsql连接很慢、无响应,跟dns解析有关
    vim  /etc/resolv.conf

    重启监听后问题重现。
    解决办法就是注释掉/etc/resolve.conf 中对DNS解析内容。
    重启监听,OK.

  • 相关阅读:
    tensorboard以时间命名每一个文件夹
    图像分割loss集合
    博客园使用markdown
    Processed foods make us fatter easily
    python 有4个数字1234,能组成多少个互不相同且无重复的三位数数字。
    python 实现计算器功能 输入字符串,输出相应结果
    解决idea关闭Run窗口时点了Disconnect导致项目一直在跑的问题
    idea导入SpringBoot项目,没有启动按钮,没有maven
    Bean with name 'xxxService' has been injected into other beans [xxxServiceA,xxxServiceB] in its raw version as part of a circular reference, but has eventually been wrapped
    工厂模式
  • 原文地址:https://www.cnblogs.com/homjun/p/14445929.html
Copyright © 2011-2022 走看看