解决oracle报Ora-04031错误

技术分享 2024-05-22

错误现象:

04031, 00000, "unable to allocate %s bytes of shared memory ("%s","%s", "%s","%s")"

这个错误临时解决办法:

alter system flush shared pool;

但是这个方式治标不治本,过段时间还是会出现这个错误。

根本的解决办法:

ALTER SYSTEM SET sga_target=8192M SCOPE=SPFILE;
ALTER SYSTEM SET sga_max_size=8192M SCOPE=SPFILE;
#这个值的大小根据服务器内存大小判断,一般设置成物理内存的一半是没有问题的。

另外要注意shared pool size的值要设置为0.

操作系统Kernel.shmmax的值要改大一些:

vi /etc/sysctl.conf
kernel.shmmax=34359738368

立即生效:

sysctl -p

这一行如果没有就增加,这样问题就彻底解决了。

评论 (0)

发表评论

最多500字符

验证码

暂无评论

成为第一个评论的人吧!