文档解释
ORA-00846: could not shrink MEMORY_TARGET to specified value
Cause: Attempted to shrink MEMORY_TARGET to the specified value but did not succeed because the PGA and SGA components could not be shrunk.
Action: Do not set MEMORY_TARGET to a value below the current value without first shrinking the individual memory components.
ORA-00846表示不能把MEMORY_TARGET缩小到指定的值,这是Oracle数据库在管理SGA时报出的错误。
官方解释
ORA-00846消息提供者:Post Restarting Instance
一旦启动实例,不能将内存目标缩小到指定的值,因为某些类型的内存变量不适用于缩小后的值。
常见案例
当尝试使用ALTER SYSTEM SET MEMORY_TARGET命令为数据库设置MEMORY_TARGET参数时,因某些参数不适用于缩小的值而引起的此错误消息。
正常处理方法及步骤
1. 确定问题原因:
检查SPFILE和内存参数是否存在,也可能是在改变MEMORY_TARGET参数之前没有改变SPFILE参数。
2.不改变SPFILE中其他参数前,请先备份现有的SPFILE
3.删除SPFILE中的内存参数后,重新设置MEMORY_TARGET
4.重启数据库实例,使新的SPFILE生效