java如何解决oracle自动断开连接问题

ApplicationContext丶 2015-03-30 05:09:15
如题,用Java连接池Oracle,过了10分钟数据库会自动断开连接但是程序这边还没处理完毕。如果重新new一个Connection的话原来处理的东西又丢了,有没有其他解决办法呢?
...全文
1156 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
解决自动断开连接有如下解决方法: 方法一、直接修改资源配置文件 分三个步骤在sqlplus环境下完成。 第一步,查询资源文件,找到CONNECT_TIME所在的profile名。 select resource_name,profile from dba_profiles; 第二步,用alter命令修改profile中的值; alter profile MONITORING_PROFILE limit connect_time unlimited;(或跟一个时间值,如1000,单位为分钟) alter profile MONITORING_PROFILE limit idle_time unlimited; 第三步,用如下命令查看profile中的值; select resource_name,limit from dba_profiles where profile='MONITORING_PROFILE'; 方法二:通过创建资源配置文件并进行用户分配来完成。 分三个步骤在sqlplus环境下完成。[该方法不对其它数据库连接用户产生影响] 第一步,查看并修改resource_limit的状态。 www.2cto.com SQL>show parameter resource_limit; 如果为FALSE,则将其修改为TRUE,否则配置不会生效: SQL>alter system set resource_file=true; 第二步,用create profile命令创建一个新的profile文件: SQL>create profile [profile文件名] limit connect_time unlimited idle_time unlimited; [示例:create profile test_profile limit connect_time unlimited idle_time unlimited;] 第三步,将这个新的配置文件分配给该用户: SQL>alter user [user_name,如ROOT_QY] profile [profile文件名]; [示例:alter user root_qy profile test_profile;]
attilax 2015-03-31
  • 打赏
  • 举报
回复
这个最好用离线处理思路来做。。定时启动一个线程,抓取一条记录处理。处理完毕。。新开一个连接,在取一个数据处理。。

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧