11g启动报错ORA-00371: not enough shared pool memory

  • Post author:
  • Post category:IT
  • Post comments:0评论

问题:

11g的一个库,启库时,报错shared pool不够。由于我是在一个测试的机器上,我不需要那么多的share pool,我只需800M的shared pool就够了。

但指定shared pool的大小为800M在初始化文件中,起库就报错:

SQL> startup

ORA-00371: not enough shared pool memory, should be atleast 2138663491 bytes

解决:

加个processes参数就可以了。我目前加了processes=1000.其他的参数我没动。

原因估计是新机器的cpu core很多,如果没有设置process,process的默认值可能根据cpu的数量来估算,会是一个很高的值,进一步造成oracle认为需要很多shared pool。因此启动时候报错如果小于2G shared pool,就启动不了。

SQL> startup nomount pfile='?/dbs/initt1spmit.ora';

ORACLE instance started.

 

Total System Global Area 2690564096 bytes

Fixed Size                  2161944 bytes

Variable Size            1191183080 bytes

Database Buffers         1342177280 bytes

Redo Buffers              155041792 bytes

SQL>
z4cs2021:t1spmit > cat initt1spmit.ora

t1spmit.__oracle_base='/paic/t1spmit/rdbms/oracle'#ORACLE_BASE set from environment

*.audit_file_dest='/paic/t1spmit/rdbms/oracle/admin/t1spmit/adump'

*.control_files='/paic/t1spmit/data01/oradata/t1spmit/control01.ctl'

*.db_cache_size=1342177280

*.db_name='t1spmit'

*.diagnostic_dest='/paic/t1spmit/rdbms/oracle'

*.java_pool_size=134217728

*.large_pool_size=83886080

*.local_listener='(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.31.9.12)(PORT=1534)))'

*.pga_aggregate_target=536870912

*.shared_pool_reserved_size=83886080

*.shared_pool_size=800m

*.streams_pool_size=134217728

processes=1000

发表评论