ORA-00851: SGA_MAX_SIZE string cannot be set to more than MEMORY_TARGET string.

文档解释

ORA-00851: SGA_MAX_SIZE string cannot be set to more than MEMORY_TARGET string.

Cause: SGA_MAX_SIZE value was more than MEMORY_TARGET value.

Action: Set SGA_MAX_SIZE to be less than MEMORY_TARGET.

ORA-00851错误是指SGA_MAX_SIZE(System Global Area最大大小)字符串不能设置大于MEMORY_TARGET(内存目标)字符串。

官方解释

ORA-00851被返回,当您尝试通过修改SGA_MAX_SIZE系统参数设置SGA的最大大小时。SGA_MAX_SIZE的大小不能超过MEMORY_TARGET参数设置的内存目标,而MEMORY_TARGET就定义了Oracle实例可以使用的内存。

常见案例

假设你已经通过修改一些系统参数来设置MEMORY_TARGET参数为1000兆字节(即YG),然后你试图修改SGA_MAX_SIZE参数到800兆字节(800MB),然后ORA-00851可能会出现,因为SGA_MAX_SIZE不得超过MEMORY_TARGET(1000MB)的大小。

正常处理方法及步骤

这是一个非常常见的ORA-00851错误,处理该错误的正常方法是:

1、使用ALTER SYSTEM命令重新设置MEMORY_TARGET:

ALTER SYSTEM SET MEMORY_TARGET=800M SCOPE=SPFILE;

2、重新启动数据库服务器。

3、使用ALTER SYSTEM命令修改SGA_MAX_SIZE以反映新的MEMORY_TARGET参数:

ALTER SYSTEM SET SGA_MAX_SIZE=800M SCOPE=SPFILE;

4、重新启动数据库服务器。

如果你想要确保SQL>操作正常,你可以重新连接到数据库来测试。如果一切顺利,你可以继续使用数据库,否则你可能需要检查参数配置是否正确。

你可能感兴趣的