我的环境是redhat as5 64bit,oracle10g 64bit,物理内存是8G,今天调整了SGA的大小,在EM中修改sga_max_size由原来的1760M增加到2048M,sga_target也由原来的1760M增加到2048M,后重启数据库后报错:
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORA-19802: cannot use DB_RECOVERY_FILE_DEST without DB_RECOVERY_FILE_DEST_SIZE
SQL> shutdown immediate;
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory谢谢高手指点怎么能将数据库起动起来!!!!!!!

解决方案 »

  1.   

    1.连接并生成pfile
    $sqlplus "/as sysdba"
    sql>create pfile='/u01/init.ora' from spfile
    2.修改pfile文件,将参数修改为原来的正常值
    3.生成spfile
    sql>create spfile from pfile='/u01/init.ora'
    4.启动数据库
    sql>startup
      

  2.   

    注意这句错误
    ORA-19802: cannot use DB_RECOVERY_FILE_DEST without DB_RECOVERY_FILE_DEST_SIZE
    你要在上面第2步修改pfile时给DB_RECOVERY_FILE_DEST_SIZE指定一个值,如
    DB_RECOVERY_FILE_DEST_SIZE=2000M
      

  3.   

    使用DB_RECOVERY_FILE_DEST须与DB_RECOVERY_FILE_DEST_SIZE同时使用。修改pfile,以pfile启动
    create spfile from pfile;
    shutdown immediate
    startup
      

  4.   

    ORA-19802: cannot use DB_RECOVERY_FILE_DEST without DB_RECOVERY_FILE_DEST_SIZE 错误很明显, 检查这2个参数,在pfile里面, 在用pfile启动数据库。 ------------------------------------------------------------------------------
    Blog: http://blog.csdn.net/tianlesoftware
    网上资源: http://tianlesoftware.download.csdn.net
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
    Q Q 群:62697716
      

  5.   

    答案出来了,顺便把联机文档的解释贴出来吧,让更多人看到。Specifying this parameter without also specifying the DB_RECOVERY_FILE_DEST_SIZE initialization parameter is not allowed.其中this parameter指的是DB_RECOVERY_FILE_DEST。
      

  6.   

    ORA-19802: cannot use DB_RECOVERY_FILE_DEST without DB_RECOVERY_FILE_DEST_SIZE 
    =================================================================================
    先设置 DB_RECOVERY_FILE_DEST_SIZE 大小
    再设置 DB_RECOVERY_FILE_DEST 位置
      

  7.   

    设置db_recovery_file_dest:alter system set db_recovery_file_dest='xxx' scope=spfile;
    设置db_recovery_file_dest_size:alter system set  db_recovery_file_dest_size=3G;