ORA
一個詭異的案例:ORA-12547: TNS:lost contact導(dǎo)致數(shù)據(jù)庫無法啟動,甚至sqlplus都無法登錄,讓我們一一來解開這個案例的真面目。
某客戶出現(xiàn)數(shù)據(jù)庫無法啟動的情況,申請云和恩墨協(xié)助分析和處置。
云和恩墨工程師快速響應(yīng),組織相關(guān)人員進(jìn)行故障診斷分析、指出故障原因,提出解決措施并處置,快速恢復(fù)了業(yè)務(wù)。
以下是詳細(xì)的故障分析診斷過程,以及詳細(xì)的解決方案描述。2.1. 故障現(xiàn)象
數(shù)據(jù)庫無法啟動,數(shù)據(jù)庫監(jiān)聽狀態(tài)異常。
發(fā)現(xiàn)數(shù)據(jù)庫的asm實例也出現(xiàn)異常。2.2. 故障根源
去分析asm的alert日志
ASM實例異常。
Ora.asm的資源是offline狀態(tài)。
嘗試關(guān)閉has,然后重新啟動has,再看看asm是否可以啟動:
has啟動失敗,查看asm agent日志:
Asm啟動過程中報InstConnection:connect:excp OCIException OCI error 12547之后啟動失敗。
我們發(fā)現(xiàn)sqlplus / as sysdba登錄也會出現(xiàn)TNS 12547的報錯
通過truss 去跟蹤sqlplus:
發(fā)現(xiàn)在讀寫sqlnet.log 時候報錯,懷疑是oracle本身有問題,查詢metalink證實了這個想法:Troubleshooting ORA-12547 TNS: Lost Contact [ID 555565.1]。
然后嘗試去relink。
relink的日志出現(xiàn)ksh: /dev/null: 0403-005 Cannot create the specified file.的報錯。根據(jù)IBM官方文章:https://www.ibm.com/support/pages/file-access-permissions-do-not-allow-specified-action:
執(zhí)行chmod 660 /dev/null,sqlplus / as sysdba不再顯示ORA-12547: TNS:lost contact的錯誤。2.3. 故障處置
嘗試重新啟動has,ASM實例正常啟動,但是數(shù)據(jù)庫實例無法啟動。
手工啟動數(shù)據(jù)庫。又出現(xiàn)CRS-5016: Process "/oracle/grid/bin/setasmgidwrap等錯誤:
解決辦法:
執(zhí)行sqlplus sys as sysdba登錄。
執(zhí)行startup,手動啟動數(shù)據(jù)庫
根本原因是由于/dev/null權(quán)限的問題,
解決辦法:
原文閱讀:https://www.modb.pro/db/26889?YYF
下一篇:oracle數(shù)據(jù)庫中表誤操作恢復(fù)(delete、truncate、drop)