SQL> startup
ORACLE instance started.
...
ORA-01102: cannot mount database in EXCLUSIVE mode
資料庫異常關機(掉電、kill -9、OS 崩潰)導致下列資源未正確釋放:
$ORACLE_HOME/dbs/lk<SID> 仍被進程持有。ipcs -m)殘留。ipcs -s)殘留。cd $ORACLE_HOME/dbs
fuser -u lkORCL # 顯示持有進程 PID 與用戶
fuser -k lkORCL # 強制殺掉所有持有進程
rm -f lkORCL # 刪除鎖檔
ipcs -m | grep oracle
ipcrm -m # 逐個刪除 oracle 擁有的段
ipcs -s | grep oracle
ipcrm -s
ps -ef | grep ora_ | grep -v grep
kill -9
rm -f $ORACLE_HOME/dbs/sgadef${ORACLE_SID}.dbf
SQL> startup
Database mounted.
Database opened.
若為 RAC/Data Guard,先確認其他節點未啟動同一資料庫實例(共享存儲只能單節點掛載 EXCLUSIVE)。
shutdown immediate 正常關閉,避免 shutdown abort。lk*、共享記憶體、信號量殘留,異常時告警。