ORA-01102 的解決辦法

楊奇龍發表於2011-04-15
安裝完oracle 資料庫後啟時,遇到ora-01102錯誤。
oracle@r05a11016.yh.com:/home/oracle>sqlplus "/as sysdba"
SQL*Plus: Release 11.2.0.2.0 Production on Fri Apr 15 16:17:39 2011
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 1.7103E+10 bytes
Fixed Size                  2243608 bytes
Variable Size            8455717864 bytes
Database Buffers         8623489024 bytes
Redo Buffers               21712896 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode
查了ml,瞭解到  ORA-1102 錯誤原因:
1 在ORACLE_HOME/dbs/存在 "sgadef.dbf" 檔案或者lk 檔案。這兩個檔案是用來用於鎖記憶體的。
2 oracle的 pmon, smon, lgwr and dbwr等程式未正常關閉。
3 資料庫關閉後,共享記憶體或者訊號量依然被佔用。
lk說明DATABASE 已經是MOUNT狀態了,不用再次MOUNT.當 DATABASE 被UNMOUNT 後會被自動刪除,如果DATABASE沒有MOUNT,卻依然存在這個問題,只有手工將其刪除。
具體解決ORA-01102問題的步驟:
--------------------
oracle@r05a11016.yh.com:/apsarapangu/disk1/opt/oracle/products/11.2.0>cd dbs
oracle@r05a11016.yh.com:/apsarapangu/disk1/opt/oracle/products/11.2.0/dbs>ll lk*
-rw-r----- 1 oracle oinstall 24 Apr 15 15:43 lkORCL
使用fuser -u lkORCL 檢視使用 lkORCL 檔案的程式和使用者。-u 為程式號後圓括號中的本地程式提供登入名。
oracle@r05a11016.yh.com:/apsarapangu/disk1/opt/oracle/products/11.2.0/dbs>/sbin/fuser -u lkORCL
lkORCL:              21007(oracle) 21009(oracle) 21015(oracle) 21019(oracle) 21023(oracle) 21025(oracle) 21027(oracle) 21029(oracle) 21031(oracle) 21033(oracle) 21035(oracle) 21037(oracle) 21039(oracle) 21041(oracle)
使用 fuser -k  lkORCL  殺死這些正在訪問lkORCL的程式   -k 殺死這些正在訪問這些檔案的程式。
oracle@r05a11016.yh.com:/apsarapangu/disk1/opt/oracle/products/11.2.0/dbs>fuser -k lkORCL
lkORCL:              21007 21009 21015 21019 21023 21025 21027 21029 21031 21033 21035 21037 21039 21041
確認:相關程式全被終止
oracle@r05a11016.yh.com:/apsarapangu/disk1/opt/oracle/products/11.2.0/dbs>/sbin/fuser -u lkORCL
重新啟動:
oracle@r05a11016.yh.com:/apsarapangu/disk1/opt/oracle/products/11.2.0/dbs>sqlplus "/as sysdba"       
SQL*Plus: Release 11.2.0.2.0 Production on Fri Apr 15 16:30:16 2011
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 1.7103E+10 bytes
Fixed Size                  2243608 bytes
Variable Size            8455717864 bytes
Database Buffers         8623489024 bytes
Redo Buffers               21712896 bytes
Database mounted.
Database opened.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-692638/,如需轉載,請註明出處,否則將追究法律責任。

相關文章