JAVA池、大池、流池

1.大池

大池的一个主要用途是供共享的服务器使用。在缺少大池的情况下,这些进程将使用共享池中的内存,这会导致对共享池的恶性争用。如果使用的是共享服务器或并行服务器,那么始终应该创建大池,有些I/O进程也使用大池,如Recovery Manager在备份到磁带设备时使用的进程就是如此。
设置大池的大小与性能无关。如果某个进程需要大内存池,而内存不够用,则此进程将失败,并发生错误。如果分配的内存量超过需要,语句的运行速度并不会因此加快。另外,如果存在大池,将使用大池,则不可能出现这样的情况:某条语句开始时使用大池,后来又因为大池过小而恢复使用共享池。

2.JAVA池

只有当应用程序需要在数据库中运行Java存储过程时,才需要Java池:此池用作实例化Java对象所需的堆空间。但是,有很多Oracle选项是用Java编写的,因此,现在将Java池视为标准。注意,Java代码不在java池中缓存:Java代码在共享池中缓存,与PL/SQL代码的缓存方式相同。
Java池的最佳大小与Java应用程序相关,也与运行其的会话数量有关。每个会话都需要用于其对象的堆空间。如果Java池不够大,那么,由于需要不断的回收空间,性能会因此降低。在EJB(Enterprise JavaBean,企业JavaBean)应用程序中,诸如无状态会话Bean的对象可能被初始化和使用,如果还需要它,就会将其保留在内存中:这样的对象可以立即重用。但是,如果Oracle服务器已经销毁此Bean,以便为其他Bean腾出空间,那么,下次需要时,将不得不进行重新实例化。如果Java池非常小,则应用程序将失败。

3.流池

流池供oracle流使用。流使用的机制是:从重做日志提取变更向量,并使用这些重新构造执行的语句,或具有相同效果的语句。这些语句在远程数据库执行。从重做日志提取更改的进程以及应用更改的进程将用到内存:此内存就是流池
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值