今天没有注意所用的数据库是建立在32位的Windows上的,看到内存有8G,就马上将Oracle的SGA改为5G了,结查重起Oracle时马上报 out of memory的错。
错误操作如下: SQL> alter system set sga_max_size=5G scope=spfile;
System altered. 启动时,内存不足,数据库是无法启动的:
SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORA-27102: out of memory
解决的办法:在机器上创建一个文件,例如叫 mypfile.txt,编辑这个文件,内容如下:
SPFILE='d:oracleproduct10.2.0dbsspfileorcl.ora' sga_max_size=1073741824
注: 1.spfile的位置应按实际位置; 2.上面的sga值为1G,请根据实际修改。 3.此方法其实就是通过mypfile.txt指定加载原来spfile的内容,同时在文件后面把spfile中存在的错误修正过来。
接着:
sqlplus / as sysdba SQL>startup pfile=c:mypfile.txt
待Oracle起来后,再重新修正spfile的内容:
SQL> alter system set sga_max_size=2G scope=spfile;
上面的操作是在Windows下,Linux下也是一样的。