Oracle 连接故障的排查
1、 故障现象
通过resin中间件建立连接池,时间特别长。
2、 故障分析和排除
1)检查建立连接的jsp程序,非常简单的调用jdbc,没有问题。担心jdbc driver for oracle在数based on IBM AIX,但因为找不到更合适的版本,只能放弃这个方向。
2)在数据库端执行lsnrctl status反应时间特别长。Lsnrtcl start,lsnrctl stop也很慢。
检查发现listener的log很大,对该log改名
Mv listener.log listener.log.old
Touch listener.log
执行lsnrctl的时间很快缩短,似乎问题得到了解决。
标准的listener.ora的格式如下(支持两个instance):
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = ora92))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.11)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = client)
(ORACLE_HOME = /app/oracle/product/9.2.0)
)
(SID_LIST =
(SID_DESC =
(SID_NAME = bbnec)
(ORACLE_HOME = /app/oracle/product/9.2.0)
)
)
3)在数据库端和另一台服务器(双机环境)执行sqlplus conn,发现还是很慢。Lsnrctl依然很慢。
典型的listener故障报错信息如下:
aix broken pipe
lost contact
等等。
重新启动数据库,故障现象没有好转。
SQL>shutdown immediate
SQL>startup
4)无奈之下,重新启动计算机。
重新启动计算机时,由于没在主控台,需要通过网络远程登录过去。在服务器的ip 地址能ping通,而且确认服务器已经启动的情况下,telnet该服务器需要等待非常长的时间,以致于好几次都放弃telnet登录了。最终通过telnet能顺利登录服务器,但故障现象依旧。
为什么telnet 需要很长时间呢?
检查 DNS 设置,原来服务器配置了/etc/resolv.conf。这个文件的意义在于,如果不存在,表示本机的域名服务由/etc/hosts提供,如果存在且空,表示本机是域名服务器,如果存在且非空,表示本机是由域名服务器提供域名解析的客户机。
3、 总结
在排除故障的过程中,曾经猜想过可能是DNS问题,因为在ping hostname的时候就非常慢。但是,做梦也没想到,在一个正式的生产系统中,有人会做这样一个有害的dns设置。而且,连接慢应该是一个久已存在的问题,只是以前没有注意到而已。问题的原因很简单,但排除故障的过程很长,花了整整一天,只是因为发生了不该发生的事情。
本文转载自:http://wenku.baidu.com/view/d046670552ea551810a68766.html?from_page=view&from_mod=download
相关推荐
排查Oracle客户端连接故障.pdf
3.3.3 Oracle连接管理器 56 3.3.4 会话多路复用 56 3.3.5 防火墙访问控制 57 3.4 使用Oracle Net Listener 57 3.4.1 密码验证 59 3.4.2 多个监听进程 59 3.4.3 连接池 59 3.5 命名方法 60 3.5.1 目录命名...
3.3.3 Oracle连接管理器 3.3.4 会话多路复用 3.3.5 防火墙访问控制 3.4 使用Oracle Net Listener 3.4.1 密码验证 3.4.2 多个监听进程 3.4.3 连接池 3.5 命名方法 3.5.1 目录命名方法 3.5.2 目录信息树 3.5.3 标识名 ...
1.7 统一存储系统故障排查 2.1 海量存储 2.2 海量存储 2.3 海量存储 2.4 海量存储 2.5 海量存储 3.1 备份解决方案规划与部署 3.2 备份解决方案场景1(文件系统备份) 3.3 备份解决方案场景2(VMware备份) ...
前天应用不能访问数据库了 (后台应用能访问数据库),故障发生。 马上登录到服务器里查看监听状态,发现有TNS-12541 ,TNS-12560等错误 Luocs补充:我跟朋友要了错误代码,但他没有保存,就直接贴图。 从计算器的...
MySQL拥有庞大的开发者社区和丰富的第三方插件、库、中间件支持,提供了丰富的文档、教程、论坛以及专业服务,极大地简化了开发、运维和故障排查过程。 关键组件与日志 系统数据库 MySQL内部包含几个特殊的系统...
MySQL拥有庞大的开发者社区和丰富的第三方插件、库、中间件支持,提供了丰富的文档、教程、论坛以及专业服务,极大地简化了开发、运维和故障排查过程。 关键组件与日志 系统数据库 MySQL内部包含几个特殊的系统...
MySQL拥有庞大的开发者社区和丰富的第三方插件、库、中间件支持,提供了丰富的文档、教程、论坛以及专业服务,极大地简化了开发、运维和故障排查过程。 关键组件与日志 系统数据库 MySQL内部包含几个特殊的系统...
MySQL拥有庞大的开发者社区和丰富的第三方插件、库、中间件支持,提供了丰富的文档、教程、论坛以及专业服务,极大地简化了开发、运维和故障排查过程。 关键组件与日志 系统数据库 MySQL内部包含几个特殊的系统...
MySQL拥有庞大的开发者社区和丰富的第三方插件、库、中间件支持,提供了丰富的文档、教程、论坛以及专业服务,极大地简化了开发、运维和故障排查过程。 关键组件与日志 系统数据库 MySQL内部包含几个特殊的系统...
MySQL拥有庞大的开发者社区和丰富的第三方插件、库、中间件支持,提供了丰富的文档、教程、论坛以及专业服务,极大地简化了开发、运维和故障排查过程。 关键组件与日志 系统数据库 MySQL内部包含几个特殊的系统...
MySQL拥有庞大的开发者社区和丰富的第三方插件、库、中间件支持,提供了丰富的文档、教程、论坛以及专业服务,极大地简化了开发、运维和故障排查过程。 关键组件与日志 系统数据库 MySQL内部包含几个特殊的系统...
MySQL拥有庞大的开发者社区和丰富的第三方插件、库、中间件支持,提供了丰富的文档、教程、论坛以及专业服务,极大地简化了开发、运维和故障排查过程。 关键组件与日志 系统数据库 MySQL内部包含几个特殊的系统...
MySQL拥有庞大的开发者社区和丰富的第三方插件、库、中间件支持,提供了丰富的文档、教程、论坛以及专业服务,极大地简化了开发、运维和故障排查过程。 关键组件与日志 系统数据库 MySQL内部包含几个特殊的系统...
MySQL拥有庞大的开发者社区和丰富的第三方插件、库、中间件支持,提供了丰富的文档、教程、论坛以及专业服务,极大地简化了开发、运维和故障排查过程。 关键组件与日志 系统数据库 MySQL内部包含几个特殊的系统...
MySQL拥有庞大的开发者社区和丰富的第三方插件、库、中间件支持,提供了丰富的文档、教程、论坛以及专业服务,极大地简化了开发、运维和故障排查过程。 关键组件与日志 系统数据库 MySQL内部包含几个特殊的系统...
MySQL拥有庞大的开发者社区和丰富的第三方插件、库、中间件支持,提供了丰富的文档、教程、论坛以及专业服务,极大地简化了开发、运维和故障排查过程。 关键组件与日志 系统数据库 MySQL内部包含几个特殊的系统...
MySQL拥有庞大的开发者社区和丰富的第三方插件、库、中间件支持,提供了丰富的文档、教程、论坛以及专业服务,极大地简化了开发、运维和故障排查过程。 关键组件与日志 系统数据库 MySQL内部包含几个特殊的系统...
MySQL拥有庞大的开发者社区和丰富的第三方插件、库、中间件支持,提供了丰富的文档、教程、论坛以及专业服务,极大地简化了开发、运维和故障排查过程。 关键组件与日志 系统数据库 MySQL内部包含几个特殊的系统...
MySQL拥有庞大的开发者社区和丰富的第三方插件、库、中间件支持,提供了丰富的文档、教程、论坛以及专业服务,极大地简化了开发、运维和故障排查过程。 关键组件与日志 系统数据库 MySQL内部包含几个特殊的系统...