Oracle网络连接慢

36 篇文章 0 订阅
11 篇文章 0 订阅

目前遇到2种情况可导致连接缓慢

一。DNS服务器故障导致Oracle连接特别慢

环境:redhat 5.2  Oracle11.2.0.1


一。问题:

oracle在客户端连接时,能连上,但特别慢。

SQL> conn pera/pera@qa611s
已连接。
SQL>
要等10s多,才能连上,


二。解决方法:

检查了防火墙,selinux,都是关闭的,


最后,在服务器端,修改了以下文件
[root@pera611oracle ~]# vi /etc/resolv.conf 
nameserver 192.168.0.8


将原来是192.168.0.4, 换成192.168.0.8  就好了。


原因是DNS服务器192.168.0.4出现了问题。


二。由于listener.log过大导致连接慢

环境:
windows2008+oracle11.1.0.6.0


原因:

由于listener.log过大导致连接缓慢 。



E:\oracle11g\diag\tnslsnr\test\listener\trace\listener.ora
该文件达到4个G。

连接测试:


已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.50.157)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = pera)))
OK (8990 毫秒)


删除该log后的速度


已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.50.157)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = pera)))
K (10 毫秒)


关于listener.log更多说明:



1.在32位的机器中由于操作系统限制达到2G时,监听Listener无法处理新的连接,所以需要有定期处理的机制。
2.在64位下,windows下过大(如上面实例4G),则监听响应特别慢。在linux暂没有发现有多大影响(见过最大的8.3G,响应同样是10ms)
3.关闭不让生成该log的方法:
LSNRCTL> set log_status off
4.清理方法:


方法1:
LSNRCTL> set log_status off
清理log
LSNRCTL> set log_status on


方法2:
 cat /dev/null > listener.log
 


关于listener.log不超过2G和198天必须重启的bug详细说明,参见maclean的文章:
http://www.askmaclean.com/archives/2gb-listenerlog-198-days-instance.html


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle 数据库连接速度可能由多种因素引起。下面是一些可能的解决方法: 1. 确保网络连接稳定:检查网络连接是否正常,包括服务器和客户端之间的网络连接。确保网络连接速度快,没有丢包或延迟问题。 2. 优化数据库配置:检查数据库的配置参数,例如网络相关参数、连接参数等。可以调整这些参数以提高性能。例如,可以增加 `SQLNET.INBOUND_CONNECT_TIMEOUT` 参数的值来增加连接超时时间。 3. 检查数据库负载:如果数据库负载过高,可能会导致连接速度变。可以使用 Oracle 监控工具(如 Oracle Enterprise Manager)来检查数据库的负载情况,并根据需要进行优化。 4. 检查索引和查询语句:确保数据库表有适当的索引以加快查询速度。优化查询语句,避免使用不必要的 JOIN 操作和复杂的子查询。 5. 调整数据库连接池设置:如果使用连接池来管理数据库连接,可以调整连接池的配置参数以提高连接速度。例如,增加最大连接数或减少空闲连接超时时间。 6. 更新到最新版本:如果使用的是较旧版本的 Oracle 数据库,考虑升级到最新版本。新版本通常会修复一些性能问题和 bug。 7. 调整操作系统参数:根据操作系统的不同,可能需要调整一些参数来优化数据库连接速度。例如,增加最大文件描述符数或调整 TCP 缓冲区大小。 如果以上方法无法解决问题,建议联系 Oracle 技术支持获取更详细的帮助和指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值