您好,登錄后才能下訂單哦!
這篇文章主要介紹了oracle中出現ORA-01102錯誤怎么辦,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
測試環境中oracle數據庫這臺服務器不知因何原因異常關機了。重新開機之后嘗試恢復相關應用發現啟動數據庫失敗。期間翻山越嶺走了段曲折小路。先把處理流程梳理一下以便后期遇到此類可以快速解決。
begin↓
一、數據庫
1.機器啟動之后登錄服務器使用sqlplus / as sysdba 登錄數據庫發現數據庫并沒有啟動之前把數據庫服務添加過開機自啟動
2.使用startup命令啟動數據庫報錯了
SYS@orcl>startup;
ORACLE 例程已經啟動。
Total System Global Area 2471931904 bytes
Fixed Size 2255752 bytes
Variable Size 671089784 bytes
Database Buffers 1778384896 bytes
Redo Buffers 20201472 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode
3.關掉實例嘗試一步步啟動啟動到mount階段時還是報同樣的錯
4.網絡上搜索了一下 ORA-01102找到了解決方法
這個錯誤主要是lk<SID>文件造成的該文件位于ORALCE_HOME下的dbs目錄下,
這個lk<SID>的主要作用是說明DATABASE MOUNT上了,不用在MOUNT了.DATABASE UNMOUNT 后會刪除掉,如果DATABASE確實沒有MOUNT,這個文件在你也MOUNT上,只有手工刪除
5.談到具體解決方法引入另外一個命令/sbin/fuser
/sbin/fuser的主要功能是使用文件或者套接字來表示識別進程。常把它用來查看相關進程和殺死相關進程。此處用來清除lk<SID>文件
/sbin/fuser -u /u01/app/oracle/product/11.2.0/db_1/dbs/lkHSDB 查詢占用該臨時文件的進程pid和username
/sbin/fuser -k /u01/app/oracle/product/11.2.0/db_1/dbs/lkHSDB 直接kill相關pid釋放文件lk<SID>文件
/sbin/fuser -u /u01/app/oracle/product/11.2.0/db_1/dbs/lkHSDB 再次查看發現已經沒有那些進程了
6.再次啟動數據庫一切ok
感謝你能夠認真閱讀完這篇文章,希望小編分享的“oracle中出現ORA-01102錯誤怎么辦”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。