启动数据库报错ORA-01102
ORA-01102

错误原因

  • 数据库已经被另一个实例挂载。
  • 锁文件(如 lk 或 .dblink)未正确清理。
  • ASM实例或集群资源管理器(如Oracle Restart或Oracle RAC)正在管理数据库。
  • 参数文件(spfile 或 pfile)配置错误。

解决方法

检查锁文件

Oracle使用锁文件(如 lk 或 .dblink)来防止多个实例同时挂载数据库。如果锁文件未正确清理,可能会导致此错误。

查找锁文件:
find $ORACLE_HOME/dbs -name "lk*"
find $ORACLE_HOME/dbs -name ".dblink*"
删除锁文件:
rm $ORACLE_HOME/dbs/lk<SID>
rm $ORACLE_HOME/dbs/.dblink<SID>

清理共享内存和信号量

查找共享内存和信号量:
ipcs -m
ipcs -s
清理共享内存和信号量:
ipcrm -m <shmid>
ipcrm -s <semid>

更多推荐