記一次故障處理總結;
操作系統:windows server 2008 R2
數據庫版本:11.2.0.2
故障描述:
外部應用連接數據庫,提示連接不正常;
排錯過程:
1.首先 檢查數據庫監聽服務狀態是否正常
lsnrctl status
監聽狀態正常!!!
繼續!!!
sqlplus / as sysdba;
連接數據庫之后,查看數據庫啟動狀態:
select name,open_mode from v$database;
select instance_name,status from v$instance;
上述兩條命令都提示報錯:
ORA-01034: ORACLE not available
進程 ID: 0
會話 ID: 0 序列號: 0
提示數據庫不可用,初步確定原因,數據庫啟動狀態確實不正常!!!可能是死機了,因為windows服務管理界面里邊的實例服務狀態是正常的。
接着嘗試啟動數據庫:
startup;
ORA-27102: out of memory
startup force;
ORA-27102: out of memory
shutdown immediate;
ORA-27102: out of memory
命令行啟動、關閉數據庫都不行,報相同的錯誤:ORA-27102: out of memory
網上查閱資料:
小結:
這里發現一個有趣的地方,windows系統 和 Linux系統遇到這種問題 還有所區別;
當windows環境下的時候,除了sqlplus 命令行操作以外,還可以通過服務圖形界面去啟動關閉監聽和數據庫實例,
而當Linux環境下的時候,如果spfile文件有備份成pfile的話,可以根據該pfile去啟動數據庫,如果沒有備份的話,只能從其他相同版本的服務器上去拷貝一份pfile文件,
然后手動修改配置信息,來啟動數據庫(注意是相同版本的數據庫)。
其他:
oracle告警日志的路徑:http://blog.csdn.net/haiross/article/details/12749929
windows環境下cmd無法運行:sqlplus / as sysdba; lsnrctl status
查看當前數據庫是以pfile啟動的還是spfile: http://blog.csdn.net/tianlesoftware/article/details/5804902
create pfile from spfile;
11g默認創建的pfile路徑,在$ORACLE_BASE/admin/yourdbname/pfile下,
也可以指定pfile生成的路徑:
create pfile='E:app\product\11.2\dbhome_1\dbs\initpfile.ora' from spfile;