服务器 winserver 64 位 oracle11g 64位 rose双机热备
客户端连接数据库服务器,偶尔超时,每天差不多超时 10次左右,每次超时的时间都不固定!
ERROR (2013-05-06 02:41:57,431) WinSrv.QMDBA:0 >> System.Data.OracleClient.OracleException (0x80131938): ORA-12170: TNS: 连接超时   at System.Data.OracleClient.OracleException.Check(OciErrorHandle errorHandle, Int32 rc)
   at System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(String userName, String password, String serverName, Boolean integratedSecurity, Boolean unicode, Boolean omitOracleConnectionName)
   at System.Data.OracleClient.OracleInternalConnection..ctor(OracleConnectionString connectionOptions)
   at System.Data.OracleClient.OracleConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
   at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
   at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.OracleClient.OracleConnection.Open()
   at WinSrv.QMDBA.Open()
ERROR (2013-05-06 02:41:57,431) WinSrv.QMDBA:0 >> System.InvalidOperationException: Invalid operation. The connection is closed.
   at System.Data.OracleClient.OracleCommand.GetStatementHandle()
   at System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor& rowidDescriptor)
   at System.Data.OracleClient.OracleCommand.ExecuteNonQuery()
   at WinSrv.QMDBA.ExecuteNonQuery(String SqlStr)tnsping 偶尔出现超时!
请问,该情况如何分析,处理??oracle 偶尔超时 

解决方案 »

  1.   

    解决方法:
    1.cmd-----ping ip地址 查看网络问题,看能否ping通
    2.cmd-----tnsping   ip地址(或者是服务器的实例名SID)如果报“TNS-12535:操作超时”,可能是服务器端防火墙    没有关闭
    3.cmd----netstat -na 查看1521端口是否关闭,如果关闭Windows XP中的防火墙设置中将1521端口设为例外
    4.cmd----lsnrctl status   lsnrctl是listener-control 监听器的缩写,查看监听的状态
      

  2.   

    测试了网络,
    ping 180.19.2.20 -t >c:\TestPing.txt
    没有发现网络超时。
    我认为oracle数据库有问题