首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

[原] Oracel JDBC 内存 有关问题

2012-11-08 
[原] Oracel JDBC 内存 问题Oracle JDBC 驱动, 会使用大量的内存, 如果控制不好很容易导致Java出现Out of

[原] Oracel JDBC 内存 问题

Oracle JDBC 驱动, 会使用大量的内存, 如果控制不好很容易导致Java出现Out of memory错误.

耗内存有多方面的原因: 主要包括四个方面: (下面的讨论全部基于我自己的环境: ojdbc6.jar, version是11.1.0.7.0-Production?, Oracle 10G, Java6(JDBC4) )

?

详见我自己的blog文章:

[原] Oracel JDBC 内存 问题

?

1 楼 freish 2011-06-24   目前还没碰到因为oracle jdbc驱动问题导致OutOfMemory的 2 楼 smithfox 2011-06-24   freish 写道目前还没碰到因为oracle jdbc驱动问题导致OutOfMemory的
常见的 business web application应该不会有OOM问题, 因为所查询的数据量本身就比较小, 这种appliaction更多的是强调 table relationship, 业务 rule, and filter之类的.

但还有一部分程序是做后台的大数据的分析或是同步, 尤其是在分布式环境的维护.
3 楼 grave 2011-06-25   smithfox 写道freish 写道目前还没碰到因为oracle jdbc驱动问题导致OutOfMemory的
常见的 business web application应该不会有OOM问题, 因为所查询的数据量本身就比较小, 这种appliaction更多的是强调 table relationship, 业务 rule, and filter之类的.

但还有一部分程序是做后台的大数据的分析或是同步, 尤其是在分布式环境的维护.

直接写stored procedure了吧..难道你还全取出来用完再塞回去么?而且你觉得换个数据库和jdbc驱动就不会出现这个问题么. 4 楼 smithfox 2011-06-25   grave 写道smithfox 写道freish 写道目前还没碰到因为oracle jdbc驱动问题导致OutOfMemory的
常见的 business web application应该不会有OOM问题, 因为所查询的数据量本身就比较小, 这种appliaction更多的是强调 table relationship, 业务 rule, and filter之类的.

但还有一部分程序是做后台的大数据的分析或是同步, 尤其是在分布式环境的维护.

直接写stored procedure了吧..难道你还全取出来用完再塞回去么?而且你觉得换个数据库和jdbc驱动就不会出现这个问题么.
用stored procedure解决业务计算? 每个人所处的Application和Business都不一样.
如果你没有遇到过 scale out 问题, 没有Global Level Database问题.
你就不会理解这些问题:
for example:
user信息是存在不同城市的 物理 Database Instance的, 你根本就无法在DataBase level处理一个新的用户是否已经在系统了.

这些都是 sale out的基本问题!

扯远了! 只想说: 如果你没遇到这个问题, 表示你所处Application和Business和我的不一样.或是你的解决方案不用 Oracle Database and Java 5 楼 joachimz 2011-06-27   印象与ResultSet的类型相关,如果是scrollable的,Oracle会把所有结果集都放在内存到OOM,否则应该没有OOM问题。 6 楼 smithfox 2011-06-27   joachimz 写道印象与ResultSet的类型相关,如果是scrollable的,Oracle会把所有结果集都放在内存到OOM,否则应该没有OOM问题。
恩, 谢谢提醒, 这个也是一个很重要的一个方面:

可以通过:

stmt1 = this._conn.prepareStatement(sql,
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY);
stmt1.setFetchDirection(ResultSet.FETCH_FORWARD);

应该这种方式来做到你说的这一点!

热点排行