客户端和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. 路由简单查看了下,也没有问题。

解决方案 »

  1.   

    仅仅只是aix机器上出现这问题?还是所有的机器连接数据库都出现这问题!!
    还有ping 得同不能说明问题,你要tnsping测试通
      

  2.   

    tnsping 过,是通的。
    使用sqlplus username/passwd@服务名还是大部分时候是可以连上的。
    使用jdbc也可以连上。
    oracle server是Linux机型的
    oracle client是IBM机型的
    不过跟客户端无关了,因为在其他linux上也是经常会出现连接超时的情况。
      

  3.   

    在数据库主机上tnsping tns_name,看连接的时间,一般在几十毫秒,如果超过了1秒,有可能是监听的处理能力有问题。
    检查下并发连接是不是太多了:
    SQL>set time on
    SQL>select name,value from v$sysstat where name='logons cumulative';
    执行几次,算下每秒有多少连接。
      

  4.   

    是只有这台机还是有很多台机都这样在服务器商用sqlplus登录会不会也超时
      

  5.   

    这个怎么计算啊?SQL> set time on
    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> 
      

  6.   

    多台客户端上执行sqlplus的方式登录都会出现的,40%也只是大概估计的了。基本执行sqlplus登录数据库,10次会失败4次左右了。
      

  7.   

    (525646-525638)/(13:51:31-13:51:25)=8/6,每秒的并发连接并不多。
    在数据库主机上tnsping的响应时间呢?
    检查下LISTENER日志,看是否有异常信息。
      

  8.   

    将 数据库服务器的 “ip 机器名”增加到 hosts文件中