jsp程序,数据库oracle11g,window2008tomcat5.0.18发布,网站总是不定时与数据库断开连接,需要重新启动tomcat,这是怎么回事? 网站是用jsp做的,数据库是oracle 11g,windows2008系统,tomcat5.0.18web服务器,在本地测式没有任何问题,但放到外网服务器上的时候网站程序总是不定时与数据库断开连接,需要重新启动tomcat,这是怎么回事?程序写得应没什么问题,每一次打开数据库都做了close了,刚开始怀疑数据库的并发连接问题,修改后,问题依旧,断开的时候数据库服务是正常的,没有停。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我最近也遇到这样的问题,JAVA做的系统,登陆系统两分钟不操作就断开连接。后来找到问题是系统连接池配置问题。我的TOMCAT和ORACLE都是安装在同一台PC SERVER上面的,连接池里面配置的是机器局域网的IP,改成LOCALHOST或者127.0.0.1就OK了。不知道你是不是这样的情况。 谢谢zhangchun_63,我也这样怀疑过,刚好我的情况和你一样,tomcat和oracle在同一台服务器上,但是我的数据库配置是这样的: <Resource auth="Container" name="jdbc/app" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/app"> <parameter><name>factory</name><value>org.apache.commons.dbcp.BasicDataSourceFactory</value></parameter> <parameter><name>driverClassName</name><value>oracle.jdbc.driver.OracleDriver </value></parameter> <parameter><name>url</name> <value>jdbc:oracle:thin:@127.0.0.1:1521:orcl</value> </parameter> <parameter><name>username</name><value>app</value></parameter> <parameter><name>password</name><value>app</value></parameter> <parameter><name>maxActive</name><value>20</value></parameter> <parameter><name>maxIdle</name><value>10</value></parameter> <parameter><name>maxWait</name><value>10000</value></parameter> </ResourceParams> 驱动程序最早用的是class12.jar,换过ojdbc14.jar,现在用ojdbc5.jar,都不能解决问题。 #2的配置看起来很正常,不过url我们用的是公司内网IP。所以我猜问题可能不是这里,可能是服务器所在机器防火墙或者网络连接有什么地方需要设置。 shiyiwan,谢谢你!windows2008服务器版可能是对应用程序的有控制,Vista就有这样的设置;也有可能是防火墙方面设置存在问题(如以前碰到Web服务器和数据库服务器不在同一台,就是因为防火墙设置导致不能连接),现在的情况是用一段后断,推测是累计或者动态条件导致的。 ....,我准备将Tomcat加为系统服务试看看。 发现oracle11G中,在init.ora中修改open_cursors等参数对已创建的实例不生效,用sysdba登陆后用以下语句查询:select * from v$open_cursor where user_name = 'userName'发现max_open_cursors=300,执行:alter system set open_cursors=8000 scope=both; 后成功修改,现继续监控中,帖子先结了,有回答的分摊。 我是初学者,有几个oracle的问题要问,谢谢。 win7系统进入SQLPlus ,提示TNS : 协议适配器错误 求一条时间序列语句 急急急~!一個插入語句的寫法~!!! ORACLE当前游标数量 请问一条sql语句的写法 一个很难的sql查询,望大家多多帮助 实现这样功能的函数,很简单,实现就给分 迷茫,数据库这路要怎么走,我现在22岁了,唉!还晚吗? 非常着急,只有40分了 问两个小问题~真的很小哦 Oracle10g创建数据库时出现错误:"ORA_12546:TNS:权限被拒绝",请问怎么回事?
我的TOMCAT和ORACLE都是安装在同一台PC SERVER上面的,连接池里面配置的是机器局域网的IP,改成LOCALHOST或者127.0.0.1就OK了。
不知道你是不是这样的情况。
<Resource auth="Container" name="jdbc/app" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/app">
<parameter><name>factory</name><value>org.apache.commons.dbcp.BasicDataSourceFactory</value></parameter>
<parameter><name>driverClassName</name><value>oracle.jdbc.driver.OracleDriver </value></parameter>
<parameter><name>url</name>
<value>jdbc:oracle:thin:@127.0.0.1:1521:orcl</value>
</parameter>
<parameter><name>username</name><value>app</value></parameter>
<parameter><name>password</name><value>app</value></parameter>
<parameter><name>maxActive</name><value>20</value></parameter>
<parameter><name>maxIdle</name><value>10</value></parameter>
<parameter><name>maxWait</name><value>10000</value></parameter>
</ResourceParams>
所以我猜问题可能不是这里,可能是服务器所在机器防火墙或者网络连接有什么地方需要设置。
select *
from v$open_cursor
where user_name = 'userName'
发现max_open_cursors=300,
执行:
alter system set open_cursors=8000 scope=both;
后成功修改,现继续监控中,帖子先结了,有回答的分摊。