没有通用的Oracle SGA设置,那么所有Oracle SGA设置都需要根据系统的负载、相关的业务需求与某些硬件环境来对其进行调整。在Oracle9i及以前版本中,只能用手动SGA内存管理,不存在参数SGA_TARGET,而且参数 SGA_MAX_SIZE只是一个上限,而不是动态目标,但10G中时SGA_TARGET设置不能超过它。
1、自动SGA内存管理
在Oracle 10g中引入了自动SGA内存管理特性,DBA可以设定SGA_TARGET(默认等于SGA_MAX_SIZ)告诉Oracle可用的SGA内存为多大,由Oracle根据系统负载来动态调整各组件大小,相应的数据会保存在控制文件中,即使数据库重启后也记得各组件大小。