ORA-00827: could not shrink sga_target to specified value
Cause: Attempted to shrink the SGA to the specified value but did not succeed because the SGA components could not be shrunk as they were already at their minimum sizes.
Action: Do not set sga_target to a value below the current value without first shrinking the individual SGA components.
ORA-00827: could not shrink sga_target to specified value
这是一个Oracle数据库的错误,它指示数据库无法将SGA_TARGET参数设置为请求的值。此参数指示Oracle在每一次请求时提取的共享池内存数量。
ORA-00827:出现在当分配新的SGA_TARGET给实例时,可用内存不足以缩减至指定值。或者,缩减SGA_TARGET值时可使用内存数量不足。
常见的情况可能是将共享池的大小设置的过大,需要一段时间才能以指定的缩小量释放内存。内存无法在按预期的方式被释放,使得无法将SGA_TARGET参数设置为请求的值。
1. 首先,检查您在受影响的实例上是否有任何并发会话或事务,关闭任何受影响的会话或事务
2. 在更改实例参数之前,请切换到MOUNT状态并启用PRE_CHANGE_ACTION:
SQL > SHUTDOWNDB IMMEDIATE
SQL > SHUTDOWN ABORT
SQL > STARTUP MOUNT
SQL > ALTER SYSTEM SET PRE_CHANGE_ACTION = TRUE SID = ‘*’;
3. 调整SGA_TARGET值:
SQL > ALTER SYSTEM SET SGA_TARGET = value SCOPE=SPFILE
4.重新启动实例:
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
5. 重新设置POST_CHANGE_ACTION:
SQL > ALTER SYSTEM SET POST_CHANGE_ACTION = TRUE SID = ‘*’;