记一次 Oracle无法连接 问题分析
前言
今天,同事告訴我,有臺Oracle服務器異常斷電,重啟后發現無法連接了。
分析過程
1.檢查服務狀態
查看Oracle的listerner服務和service服務,發現都是正在運行狀態,說明服務是正常的。
2.檢查端口狀態
在客戶機上使用:
tnsping?服務器IP:1521返回OK,說明端口也是正常的。
3.檢查日志
檢查Oracle安裝目錄下的所有log文件,最后在“D:\app\Administrator\product\11.2.0\dbhome_1\database\oradim.log”下發現如下內容:
D:\app\Administrator\product\11.2.0\dbhome_1\bin\oradim.exe -startup -sid orcl -usrpwd * -log oradim.log -nocheck 0
ORA-00119: invalid specification for system parameter LOCAL_LISTENER?
ORA-00132: syntax error or unresolved network name 'LISTENER_ORCL'
感覺找到錯誤根源了。
4.檢查數據庫啟動狀態
于是,在服務器上驗證數據庫是否啟動成功,運行下列命令:
sqlplus?/?as?sysdba SQL>startup返回如下錯誤:
可以確定了,啟動參數有問題,導致數據庫并未啟動成功!
解決方法
由于我們沒有改過任何參數,而Oracle默認使用spfile啟動,因此先嘗試使用pfile啟動:
SQL>startup?pfile='D:\app\Administrator\orcl\pfile\init.ora.1223201617822pfile和spfile的區別請自行百度
發現啟動成功,并且客戶端可以正常連接了。
于是懷疑是spfile文件損壞,使用下列命令重建spfile:
SQL>?create?spfile?from?pfile;重啟服務后,一切恢復正常!
結論
剛開始陷入了經驗誤區,認為服務啟動了數據庫就是正常工作的,導致走了一些彎路。
如果你覺得這篇文章對你有所啟發,請關注我的個人公眾號”My IO“
總結
以上是生活随笔為你收集整理的记一次 Oracle无法连接 问题分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Prism源代码解析(IRegionMa
- 下一篇: Kubernetes:标签、选择器、注解