在Windows平台上,Oracle只会获取实际需要的内存作为SGA大小,随着物理SGA的变化(例如管理员执行alter system set shared_pool_size=new_size),Oracle会动态获取或释放内存。在Unix平台上,由于采用了共享内存的结构,Oracle在启动时获取共享内存段。如果SGA开得比SGA_MAX_SIZE小,操作系统的虚拟内存管理会将未使用的内存放入SWAP空间。设置SGA_MAX_SIZE过大或过小都不合适,在某些平台(如Sun)可能会导致操作系统的页交换,设置过小会影响性能。