一个纠结好久的问题,小女对JAVA实在是门外汉,只能求教诸位高人了起因是负责运营的系统平时连接都很正常,但是到业务高峰期服务器经常发生瞬堵,检查后台日志,报错信息如下:
###<2011-4-2 下午05时30分29秒 CST> <Info> <JDBC> <cnsz030356> <ICSs-GCCSFServer1146> <ExecuteThread: '23' for queue: 'weblogic.kernel.Default'> <V_GROUP_ICSS_GCC_GROUP_ICSS_GCC_001> <> <BEA-001156> <Stack trace associated with message 001129 follows: java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
         at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
         at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414)
         at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
         at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
         at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
         at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:205)
         at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:138)
         at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1181)
         at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1111)
         at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:368)
         at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:294)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:468)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:387)
         at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:81)
         at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:88)
         at weblogic.jdbc.pool.Driver.connect(Driver.java:148)
         at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:540)
         at weblogic.jdbc.jts.Driver.connect(Driver.java:139)
         at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:329)
         at com.paic.pafa.app.lwc.service.persistence.dao.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:131)
         at com.paic.pafa.app.lwc.service.persistence.dao.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:120)
         at com.paic.pafa.app.lwc.service.persistence.dao.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:177)
         at com.paic.pafa.app.lwc.service.persistence.dao.ibatis.SqlMapClientTemplate.queryForObject(SqlMapClientTemplate.java:227)
         at com.paic.icss.gcc.outbound.dataextractbyesb.integration.dao.impl.EsalePolicyMaintenanceIbatisDAO.getSeqNoFromGCC(EsalePolicyMaintenanceIbatisDAO.java:108)
         at com.paic.icss.gcc.outbound.dataextractbyesb.biz.service.EsalePolicyMaintenanceService.execute(EsalePolicyMaintenanceService.java:84)
         at com.paic.amesb.delegate.imp.ejb.BusinessDelegateBean.runServiceNotSupported(BusinessDelegateBean.java:202)

解决方案 »

  1.   

    你oracle监听服务启用了没有啊jdbc driver 有没有换过试试另,你们的系统没有经过压力测试嘛?  高峰就挂掉,并发多少啊?
      

  2.   

    这个是数据库连接失败,多是由于数据库端的问题,要么数据库重启了,要不那边连接满了无法接受新的连接,不管如何,DBA都应能查出相应时间有何异常-------------------------------------------------
    爱问易 - 非官方技术支持互助平台
    http://www.iaskengineer.com
    -------------------------------------------------
    几块钱就能解决的问题,何必困扰好几天?
    -------------------------------------------------
      

  3.   

    TO zyz1985
    因为系统是7*24小时运营,如果数据库启动用户操作上也会有感受的,所以可以肯定是没有重启过的呢to magicluo
    监控服务一直启用的,jdbc driver没有更换过。
    压力测试有进行过的,高峰时期业务操作是没有感受的,是因为一次和关联系统的同步出现异常所以才关注到日志这个报错的呢。
    高峰时期并发800~900人to iaskengineer
    已经联系DBA组和网络组去查询后台记录了。以上,有进展可能还需要各位指点,总之非常感谢呢!