Archive

Posts Tagged ‘Oracle SGA PGA’

Oracle Memory Management changes from 9i to 11g

May 27th, 2009 wajoynece No comments

Oracle数据库的内存管理技术从9i到最新的版本11g每一个版本都有着显著的变化:

9i:

  • 推出动态SGA组件,修改内存参数不需要重新启动数据库;
  • 使用DB_CACHE_SIZE代替了DB_BLOCK_BUFFERS;
  • 可以缓存除非默认大小的Block,DB_nK_CACHE_SIZE;
  • 推出PGA自动管理机制,以PGA_AGGREGATE_TARGET替代各个work area的设置;

10g:进一步把SGA也收编在了一起,有一个新名词Automatic Shared Memory Management(ASMM),加入了新参数SGA_TARGET来设置SGA的大小。

11g:再把PGA也收编进来,新名词叫Automatic Memory Management(AMM)

参数:

  • MEMORY_TARGET
  • MEMORY_MAX_TARGET

新还增加了RESULT CACHE用于保存sql及pl/sql结果,相应的参数:

  • RESULT_CACHE_SIZE
  • RESULT_MAX_CACHE_SIZE
  • RESULT_CACHE_MODE

视图:

  • V$MEMORY_DYNAMIC_COMPONENTS
  • V$MEMORY_TARGET_ADVICE
  • V$MEMORY_RESIZE_OPS

可以看出,Oracle内存管理的趋势通过不断的整合实现了自动化,傻瓜化;

同时,对于特殊的需求仍然可以通过手动设置来满足;

Oracle最近就是不停的整合,自己产品内部要整合;其他产品,其他公司也统统要整合……

可以幻想一下,在将来真的会有fast=true这样的设置也不一定吧!

Categories: Oracle Tags: