ORA-01102
ORA-01102
一、解決問題
此問題因為lk<sid>文件造成。
[oracle@ocp dbs]$ fuser -u lkOCPTEST lkOCPTEST: 14158(oracle) 14160(oracle) 14162(oracle) 14164(oracle) 14166(oracle) 14168(oracle) 14170(oracle) 14172(oracle) 14174(oracle) 14176(oracle) 14178(oracle) 14186(oracle) 14367(oracle) 14369(oracle) 18196(oracle) [oracle@ocp dbs]$ fuser -k lkOCPTEST lkOCPTEST: 14158 14160 14162 14164 14166 14168 14170 14172 14174 14176 14178 14186 14367 14369 [oracle@ocp dbs]$然后啟動數據庫就ok了。
[oracle@ocp dbs]$ fuser -u lkOCPTEST lkOCPTEST: 14158(oracle) 14160(oracle) 14162(oracle) 14164(oracle) 14166(oracle) 14168(oracle) 14170(oracle) 14172(oracle) 14174(oracle) 14176(oracle) 14178(oracle) 14186(oracle) 14367(oracle) 14369(oracle) 18196(oracle) [oracle@ocp dbs]$ fuser -k lkOCPTEST lkOCPTEST: 14158 14160 14162 14164 14166 14168 14170 14172 14174 14176 14178 14186 14367 14369 [oracle@ocp dbs]$二、問題分析
1、查看日志錯誤信息
SQL> ! oerr ora 01102 01102, 00000, "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.SQL>2、當你啟動數據庫遇到1102報錯時,之前的數據庫的down操作一般都不是正常完成的,或由于一些異常使Oracle在操作系統中殘留一些內存結構,Pmon等一幾個進程依然存在等原因使Oracle誤認為Instance依然在運行著,所以庫就沒有啟動,具體說來大體原因有如下幾個:
1、pmon、smon、lwgw及dbwr這些后臺進程依然存在著
2、Oracle開辟的共享內存沒有釋放掉
3、"lk<sid>" and "sgadef<sid>.dbf"這兩個用于鎖內存的文件存在著。
三、進一步方法
1、看一下"lk<sid>" and "sgadef<sid>.dbf"這兩個文件是不是存在著,如果存在將其刪掉。 oracle$cd $ORACLE_HOME/dbs oracle$ls -l sgadef<sid>.dbf如果存在刪掉它 oracle$rm sgadef<sid>.dbf oracle$ls -l lk<sid>如果存在刪掉它 oracle$rm lk<sid>2、看是不是有后臺進程存在了 oracle$ps -ef | grep ora_ | grep $ORACLE_SID如果有pmon這些后臺進程的殘留,kill -9掉它 oracle$kill -9 pid3、看一下oracle的共享內存段及信號集(semaphores)是不是還存在著 1)清共享內存段 oracle$ipcs -m --顯示一下,看owner是Oracle用戶的 oracle$ipcrm -m <Shared_Memory_ID>2)清信號集 oracle$ipcs -s --顯示一下,看owner是Oracle用戶的 oracle$ipcrm -s <Semaphore_ID>四、小結
此問題不復雜,但了解其業務邏輯關系處理起來就方便了。
?
posted on 2013-11-07 13:01?Alexy Young 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/alexy/p/ora_01102.html
總結
- 上一篇: PageHelper只对紧跟着的第一条S
- 下一篇: HTTP协议理解——计算机网络