Skip to content

ASM 实例报错 04031

04031这个错误算是老生常谈了,shared pool不足。在asm实例中也有shared pool,在内存不足时候也会报错04031,碰到这种情况怎么处理?

今天一个客户碰到了这个错误,一般来讲默认的asm实例大小为272M,足够asm使用,而客户是这个节点上面部署了监控asm实例的脚本,跑了一年多出现了今天的情况,初步估计是因为asm的shared pool缓存了太多的这个脚本的sql(解析版本多),导致了今天的情况出现,出现这种情况有2种处理办法:

 

1.增加sga的大小

10g中通过修改sga_max_size的方式(需要重启asm)

11g中通过修改memory_max_target和memory_target(需要重启asm)

 

2.刷共享池

通过刷共享池的方式来解决04031,但是这样会对dbinstance有影响。

 

具体命令为:

alter system flush shared_pool;

具体参考MOS 1370925.1