因为手工改了spfile,数据库起不来了,就把spfile的东西全考到pfile里了,后来用pfile启动,数据库起来了,可EM没了,1158监听也没有,我该怎么恢复呢?

解决方案 »

  1.   

    spfile是一个二进制文件,直接修改会出错的.
    要修改它,可以先使用命令create pfile from spfile;将它转为文本文件,然后再编辑它.
    在pfile里去掉从spfile挎过来的内容,然后使用:create spfile from pfile;再重启试试.
      

  2.   

    因为在修改spfile时忘记备份了,所以不能再使用create pfile from spfile了,只能手工拷过去了,现在问题是数据库起来了,EM监听没起来,不知道为什么,是不是我少拷了什么东西还是什么其他原因造成的?
      

  3.   

    在pfile(initorcl.ora)里去掉spfile的东西,pfile里就没东西了,默认的pfile只有一句,就是去找spfile。
    还有刚才试了下面的命令
    C:\Documents and Settings\ssl>emctl start dbconsole
    Environment variable ORACLE_SID not defined. Please define it.
    ORACLE_SID怎么设置啊,除了在PATH里设置?
      

  4.   

    删掉'D:\oracle\product\10.2.0\db_1\dbs的spfile文件。重新创建一次。
    create spfile='D:\oracle\product\10.2.0\db_1\dbs\spfilesid.ora' from pfile='D:\oracle\product\10.2.0\admin\sid\pfile\init.ora.92220082179';
      

  5.   


    EXPORT ORACLE_SID=YOURIDNAME
      

  6.   

    重新配置dbconsole的步骤
    emca -repos drop
    emca -repos create
    emca -config dbcontrol db
    emctl start dbconsole
      

  7.   

    谢谢各位仁兄的支持。
    我把OracleDBConsoleSID服务重新启动了一下,然后EM就能用啦,不知道为什么,呵呵!