"cannot mount database in EXCLUSIVE mode"
*Cause:  Some other instance has the database mounted exclusive or shared.
*Action: Shutdown other instance or mount in a compatible mode.

解决方案 »

  1.   

    To: leosh ()
    你的数据库是如何的一个环境啊,ops还是...?
      

  2.   

    解决方法:
    1、oracle>cd $ORACLE_HOME/dbs
      看sgadef<sid>.dbf 这个文件是否存在  如果存在则删除掉
      oracle>rm sgadef<sid>.dbf
    2、把oracle的instance shutdown 下来,看oracle的后台进程是否在了,如果在,kill掉,如下:
      oracle>ps -ef|grep ora_
      oracle>kill -9 process_id
    3、看一下共享内存中的orale的内存段及信号段是否存在,如果存在则清除掉
      oracle>ipcs -m
      如果有oracle的内存段,则清除掉  oracle>ipcrm -m <Shared_Memory_ID_Number>
      同时清除信号段
      oracle>ipcs -s
      oracle>ipcrm -s <Semaphore_ID_Number>  
    4、如果你这台机器中有多个oracle的database,你需要把所有这些databaes都down下来
      并确认$ORACLE_HOME/dbs下没有lk<sid>这个文件.
    5、启动实例应该就可以了。
         
      

  3.   

    谢谢楼上的兄弟,我的不是ops环境。我是WINXP,装ORACLE 8.1.7企业版,默认方式安装。我查找过了,我的机器没有sgadef<sid>.dbf文件。从第二步到第五步好像是采用UNIX环境下的,能否有WINXP环境下的操作。
    谢谢,非常感谢!!
      

  4.   

    windows更好办了,重启一下计算机就可以了。
      

  5.   

    你重起所有的oracle服务试试。
    我也经常遇到这样的情况,就是采取重启服务来解决的。
      

  6.   

    重启服务是可以解决。
    但是,startup mount这个命令就不能用了,我想从非归档模式切换到归档模式也不行啊。
      

  7.   

    错误日志如下,还请各位高手帮忙!!!SQL>shutdown abort
    ORACLE 例程已经关闭。
    SQL>startup nomount
    ORACLE 例程已经启动。
    Total System Global Area   45049884 bytes
    Fixed Size                    75804 bytes
    Variable Size              19509248 bytes
    Database Buffers           25387008 bytes
    Redo Buffers                  77824 bytes
    SQL>alter database mount;
    alter database mount
    *
    ERROR 位于第 1 行:
    ORA-01102: ??? EXCLUSIVE ????????
    SQL>show parameter  parallel_server;NAME                                 TYPE           VALUE
    ------------------------------------ -------------- ------
    parallel_server                      boolean        FALSE
    parallel_server_instances            integer        1