ORA-00849: SGA_TARGET string cannot be set to more than MEMORY_MAX_TARGET string.

文档解释

ORA-00849: SGA_TARGET string cannot be set to more than MEMORY_MAX_TARGET string.

Cause: SGA_TARGET value was more than MEMORY_MAX_TARGET value.

Action: Set SGA_TARGET to be less than MEMORY_MAX_TARGET.

1. 详细说明:

ORA-00849: SGA_TARGET字符串不能设置为高于MEMORY_MAX_TARGET字符串。

这个错误表示在配置 Oracle 数据库实例时,你设置的 SGA_TARGET 参数值大于 MEMORY_MAX_TARGET 参数值,而 Oracle 不允许这样的操作。

官方解释

该错误的官方解释是:

ORA-00849: 当使用 ALTER SYSTEM 语句时,SGA_TARGET 字符串不能设置为大于 MEMORY_MAX_TARGET 字符串。

请确保你的 SGA_TARGET 的值不超过 MEMORY_MAX_TARGET 的值,并确保 MEMORY_MAX_TARGET 的值可以容纳 SGA_TARGET 的值。

常见案例

最常见的案例是当你想要为你的 Oracle 数据库实例增加更多 SGA 时,比如在使用 ALTER SYSTEM 指令进行 SGA 调整时:

ALTER SYSTEM SET SGA_TARGET=800M;

在运行此指令时,如果 MEMORY_MAX_TARGET 的值小于800M,你就会遇到 ORA-00849 错误,因为 SGA_TARGET 要小于等于 MEMORY_MAX_TARGET。

正常处理方法及步骤

1. 如果你想要将 SGA_TARGET 设为比 MEMORY_MAX_TARGET 更大,请先将 MEMORY_MAX_TARGET 设置为合适的值,然后再设置 SGA_TARGET 为相应的值;

2. 使用 ALTER SYSTEM RESET 语句,将 SGA_TARGET 重新设置回合适的值;

3. 启动实例,重新评估 MOMERY_MAX_TARGET 的值是否能够容纳 SGA_TARGET 的值;

4. 使用 ALTER SYSTEM 语句,重新配置 SGA_TARGET 参数,以确保 SGA_TARGET 的值不超过 MEMORY_MAX_TARGET 的值。

你可能感兴趣的