ORA-00371: not enough shared pool memory

故障描述:

由于数据库所在服务器内核崩溃,经过几个小时的修复也没能挽救回来,只能将数据目录挂载至其他地方然后尝试把数据库拉起来。

结果在启动时出现如下报错

SQL> startup pfile='/home/oracle/initgabsjsb.ora';
ORA-00371: not enough shared pool memory

几经折腾发现是参数文件中缺少processes这个参数而导致,如果没有设置process,process的默认值可能根据cpu的数量来估算,会是一个很高的值,进一步造成oracle认为需要很多shared pool。因此启动时候报错如果小于2G shared pool,就启动不了,

参数文件如下:

*.audit_file_dest='/oracle/admin/gabsjsb/adump'
*.control_files='/oradata/gabsjsb/control01.ctl','/oradata/gabsjsb/control02.ctl'
*.diagnostic_dest='/oracle'
*.db_name='gabsjsb'
*.dispatchers='PROTOCOL=TCP (SERVICE=gabsjsbXDB)'
*.compatible='11.2.0.4.0'
*.db_files=1000
*.processes=3000

 

posted @ 2022-04-01 08:55  小年青。  阅读(435)  评论(0编辑  收藏  举报