客户端和ORACLE server不在同一不服务器,客户端为配置差的aix操作系统,oracle server为配置略好的linux系统,在客户端上执行sqlplus user/passwd@dbserver的方式登录,有40%左右的登录超时的几率,这个太高了影响使用了,求解决方法。
下面是执行登录时报的错误:
SQL*Plus: Release 11.1.0.7.0 - Production on Wed Feb 29 11:54:37 2012Copyright (c) 1982, 2008, Oracle. All rights reserved.ERROR:
ORA-12170: TNS:Connect timeout occurred已经排除了下列可能:
1. 两台电脑互ping没有丢包,延迟很小可以忽略
2. 数据库设置idle连接自动回收为false
3. 数据库的process数远远大于当前连接数
4. 数据库各种表空间都充足
5. 防火墙是关着的
6. 客户端与服务端字符集时一致的。
7. 看server上alert的log日志中也木有错误提示
8. 系统句柄足够,磁盘空间足够,cpu足够,内存谈不上足够,但也有5个G
9. 路由简单查看了下,也没有问题。
下面是执行登录时报的错误:
SQL*Plus: Release 11.1.0.7.0 - Production on Wed Feb 29 11:54:37 2012Copyright (c) 1982, 2008, Oracle. All rights reserved.ERROR:
ORA-12170: TNS:Connect timeout occurred已经排除了下列可能:
1. 两台电脑互ping没有丢包,延迟很小可以忽略
2. 数据库设置idle连接自动回收为false
3. 数据库的process数远远大于当前连接数
4. 数据库各种表空间都充足
5. 防火墙是关着的
6. 客户端与服务端字符集时一致的。
7. 看server上alert的log日志中也木有错误提示
8. 系统句柄足够,磁盘空间足够,cpu足够,内存谈不上足够,但也有5个G
9. 路由简单查看了下,也没有问题。
还有ping 得同不能说明问题,你要tnsping测试通
使用sqlplus username/passwd@服务名还是大部分时候是可以连上的。
使用jdbc也可以连上。
oracle server是Linux机型的
oracle client是IBM机型的
不过跟客户端无关了,因为在其他linux上也是经常会出现连接超时的情况。
检查下并发连接是不是太多了:
SQL>set time on
SQL>select name,value from v$sysstat where name='logons cumulative';
执行几次,算下每秒有多少连接。
13:51:02
SQL> select name,value from v$sysstat where name='logons cumulative';NAME VALUE
---------------------------------------------------------------- ----------
logons cumulative 52562513:51:16
SQL> select name,value from v$sysstat where name='logons cumulative';NAME VALUE
---------------------------------------------------------------- ----------
logons cumulative 52563813:51:25
SQL> select name,value from v$sysstat where name='logons cumulative';NAME VALUE
---------------------------------------------------------------- ----------
logons cumulative 52564613:51:31
SQL>
在数据库主机上tnsping的响应时间呢?
检查下LISTENER日志,看是否有异常信息。