文档解释
ORA-09856: smpalo: vm_allocate error while allocating pga.
Cause: The vm_allocate system call returned an error.
Action: Check returned error. Possibly out of system resources.
ORA-09856是Oracle数据库服务器出现的内存分配错误,它表示在分配PGA(主要用于排序和hash等)内存时发生内存分配错误,通常由于服务器上系统设置的最大PGA内存过小,导致无法分配足够的内存,而产生此错误。
官方解释
Oracle Error ORA-09856: vm_allocate error while allocating pga.
引自官方文档:
这个错误显示服务器无法为PGA内存分配内存,这可能是由于SGA_MAX_SIZE或PGA_AGGREGATE_TARGET参数设置得过低,或者也可能是服务器上可用内存不足,当前已通过其他进程使用而无法使用。
常见案例
1)当服务器上有其他进程正在使用大量内存时,可能会导致剩余内存不足以分配PGA所需的内存,从而导致此错误。
2)可能是系统上设置的SGA或PGA内存参数值过低,从而使得无法分配足够的内存,也会导致此错误。
正常处理方法及步骤
1)检查是否有其他进程正在使用较大量的内存;
2)检查SGA_MAX_SIZE与PGA_AGGREGATE_TARGET参数设置值是否满足实际需求;
3)如果以上都不行,则尝试增加服务器上可用内存,以提供更多用于分配PGA所需内存。