问题:
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