文档解释
ORA-00850: PGA_AGGREGATE_TARGET string cannot be set to more than MEMORY_MAX_TARGET string.
Cause: PGA_AGGREGATE_TARGET value was more than MEMORY_MAX_TARGET value.
Action: Set PGA_AGGREGATE_TARGET to be less than MEMORY_MAX_TARGET.
ORA-00850错误表示,已设置的PGA_AGGREGATE_TARGET值不能大于MEMORY_MAX_TARGET的值。
官方解释
PGA_AGGREGATE_TARGET(PATA)参数指定了进程分配的总保留区(PRAs)的大小,它限制了进程可以使用的最大PGA内存量,而MEMORY_MAX_TARGET参数则限制了整个实例中可用的最大内存量。如果PATA参数值大于MEMORY_MAX_TARGET参数值,则当进程尝试分配内存时,ORA-00850错误将会被返回,表示PATA参数值不得大于MEMORY_MAX_TARGET参数值。
常见案例
ORA-00850错误通常是由于在数据库中手动设置了PATA参数值大于MEMORY_MAX_TARGET参数值而引起的。在这种情况下,需要将PATA参数的值设置为小于或等于MEMORY_MAX_TARGET参数的值,才能解决这个错误。
正常处理方法及步骤
1、检查数据库中的PATA参数值:
SQL> Show parameter PATA
2、检查数据库中的MEMORY_MAX_TARGET参数值:
SQL> Show parameter MEMORY_MAX_TARGET
3、如果PATA参数的值大于MEMORY_MAX_TARGET参数的值,则需要将PATA参数的值设置为小于或等于MEMORY_MAX_TARGET参数的值:
SQL> Alter system Set PATA = desired value SCOPE=spfile;
4、重新启动实例以使修改生效:
SQL> Shutdown immediate
SQL> Startup