环境:Oracle 9.0.1.1.1,CPU Core2 1.86GHz / 内存 2G,Windows 2003 SP1除了将sga_max_size改为512M之外,其它参数均是Oracle默认安装出来的参数,SGA的各个内存参数都没改过,前面的操作过程请参见我的帖子“新手问题1:重起计算机后设置的初始化参数就还原成默认值了? ”http://community.csdn.net/Expert/topic/5443/5443770.xml?temp=.9457514。因在网上看到Windows不能使用lock_sga,建议使用pre_page_sga,所以想尝试看看。没想到重起Oracle就失败了。请问导致该错误的原因是pre_page_sga的设置吗?如何解决这个问题呢?操作顺序:SQL> show parameter pre_page_sga;NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
pre_page_sga                         boolean     FALSE
SQL> alter system set pre_page_sga=TRUE scope=spfile;系统已更改。SQL> shutdown;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> conn system/manager as sysdba;
已连接到空闲例程。
SQL> startup;
ORA-00445: background process "PMON" did not start after 120 seconds

解决方案 »

  1.   

    SGA_MAX_SIZE 必须大于等于SGA_TARGET
      

  2.   

    你修改参数之前用的是SPFILE还是PFILE
      

  3.   

    SGA_TARGET 是 Oracle 10g 才有的参数...
      

  4.   

    用的SPFILE。前面详细的操作过程请看我的帖子“新手问题1:重起计算机后设置的初始化参数就还原成默认值了?”
    http://community.csdn.net/Expert/topic/5443/5443770.xml?temp=.7085688
      

  5.   

    用PFILE可以启动,不过初始化参数都是默认的,sga_max_size没改,pre_page_sga也没改。SQL> startup pfile='E:\oracle\admin\orcl\pfile\init.ora';
    ORACLE 例程已经启动。Total System Global Area  118255568 bytes
    Fixed Size                   282576 bytes
    Variable Size              83886080 bytes
    Database Buffers           33554432 bytes
    Redo Buffers                 532480 bytes
    数据库装载完毕。
    数据库已经打开。alter.ora我搜索了...没找到...