ORA-01102: cannot mount database in EXCLUSIVE mode(无法以 EXCLUSIVE 模式装载数据库)
Oracle含义
由于另一个实例(或旧实例的残留文件)似乎仍持有数据库的锁,无法以 EXCLUSIVE 模式装载数据库。实例停在 MOUNT 阶段。
原因
之前的实例没有正常关闭,锁文件($ORACLE_HOME/dbs 下的 lk<SID>,或残留的共享内存/信号量)仍然存在;另一个实例已连接到同一数据库;或在非 RAC 安装中启动了第二个实例。之前实例残留的进程/共享内存或过期的 lk<SID> 文件是最常见的原因。
解决方法
确认确实没有其他实例在运行:ps -ef | grep pmon 和 ipcs -m(共享内存段)。如果存在残留,ABORT 该实例并清理;必要时用 ipcrm 删除残留的段/信号量。删除 $ORACLE_HOME/dbs 下的 lk<SID> 锁文件(仅在确定实例已停止时)。然后尝试 STARTUP MOUNT。在 RAC 上,检查 CLUSTER_DATABASE 和节点状态。
同一数据库的其他条目
- ORA-01033ORACLE initialization or shutdown in progress(ORACLE 正在初始化或关闭)
- ORA-00600internal error code, arguments: [...](内部错误代码,参数:[...])
- ORA-07445exception encountered: core dump(遇到异常:core dump)
- ORA-29913error in executing ODCIEXTTABLEOPEN callout(执行 ODCIEXTTABLEOPEN callout 时出错)
- ORA-19804cannot reclaim N bytes disk space from M bytes limit(无法从 M 字节的限制中回收 N 字节磁盘空间)
- ORA-00494enqueue held for too long by 'inst N, osid M'(enqueue 被 'inst N, osid M' 持有时间过长)
- ORA-04021timeout occurred while waiting to lock object(等待锁定对象时超时)