解决oracle报Ora-04031错误
错误现象:
1 | 04031, 00000, "unable to allocate %s bytes of shared memory ("%s","%s", "%s","%s")" |
这个错误临时解决办法:
1 | alter system flush shared pool; |
但是这个方式治标不治本,过段时间还是会出现这个错误。
根本的解决办法:
1 | ALTER SYSTEM SET sga_target=8192M SCOPE=SPFILE; |
另外要注意shared pool size的值要设置为0.
操作系统Kernel.shmmax的值要改大一些:
1 | vi /etc/sysctl.conf |
立即生效:
1 | sysctl -p |
这一行如果没有就增加,这样问题就彻底解决了。