–内存管理的新功能:引入PGA 的上限尺寸限制   管理program global area (PGA) 传统的 PGA 内存管理
  • Oracle 9i Database 中,导入了自动 PGA 内存(PGA 自动调整功能)
  • 通过PGA_AGGREGATE_TARGET初始化参数自动导出实例中活跃的工作区域中,可以使用的PGA内存总量
–Oracle可以自动调整分类处理以及哈希结合中所使用的SQL工作区域   pga 9i     自动 PGA 的内存操作与限制  
  • 通过PGA_AGGREGATE_TARGET 初始化参数所指定的值就是目标值,但并不一定能残留在指定值以内的内存尺寸之中
–比指定值尺寸更大的案例
  • 大量的进程同时开始分类处理的案例
  • 连接到实例的进程数增加的情况
–如SGA 的 SGA_TARGET初始化参数一样,这并不是无法超过指定值尺寸的结构
  • 直到OS的空白区域中,虚拟内存不足,或者进程到底可以使用的内存上限时,就会发生ORA-4030错误
–OS 整体内存枯竭,可能使得系统整体面临危险   Oracle 12c引入了PGA 的上限尺寸限制 PGA_AGGREGATE_LIMIT 参数  
  • 设定实例全体中可以获得的PGA的上限值
–超过上限执行获得时就会发生ORA-4036 –SYS 用户,后台进程不属于这种情况
  • 默认值:较大值
–2048 MB or PGA_AGGREGATE_TARGET × 2 or PROCESSES × 3MB –默认值在警报日志中的输出例 Using default pga_aggregate_limit of 2048 MB
  • 可以动态变更 (alter system)
–可以设定的值的范围为0,或者比默认值更大的值   Oracle 12c引入了PGA 的上限尺寸限制 PGA_AGGREGATE_LIMIT 的操作图
  • 超过总计值时就会报错(ORA-4036)
※ SYS 用户不在错误范围内   pga_aggregate_limit