今天下午一個(gè)客戶(hù)來(lái)電告知一個(gè)運(yùn)行中的輿情系統(tǒng)的內(nèi)網(wǎng)部分,突然無(wú)法登錄。
我們立即讓其發(fā)來(lái)日志,發(fā)現(xiàn)是以下錯(cuò)誤造成應(yīng)用無(wú)法連接數(shù)據(jù)庫(kù)。
ORA-12541:TNS:no listener
查了很久原因,各方面都正常,嘗試了一些方法,數(shù)據(jù)庫(kù)也重起了2次,耗用了大約1小時(shí),還是同樣錯(cuò)誤。
最后查到網(wǎng)上提及l(fā)istener.log 太大也可能引起監(jiān)聽(tīng)器異常,于是讓用戶(hù)檢查,發(fā)現(xiàn)其大小為4G,讓其重命名,然后重起監(jiān)聽(tīng)器,便可以正常登錄了。
總結(jié)如下:
應(yīng)用出錯(cuò)一般是連接Oracle出問(wèn)題了,連接Oracle出問(wèn)題很可能是監(jiān)聽(tīng)器出問(wèn)題了。
需要在Windows服務(wù)管理器中重起監(jiān)聽(tīng)器。如果仍無(wú)法解決問(wèn)題,請(qǐng)按以下步驟:
如果 listener 啟動(dòng)(lsnrctl start)不成功,且有錯(cuò)誤提示,可查看提示或以下原因:
1. 計(jì)算機(jī)名字或IP作了更改
2. Oracle_Home沒(méi)有設(shè)置或不正確
如果 listener 啟動(dòng)(lsnrctl start)成功,且無(wú)錯(cuò)誤信息,而Oracle_Home也正確且近期沒(méi)有修改過(guò)計(jì)算機(jī)名或IP,且系統(tǒng)連續(xù)運(yùn)行了很長(zhǎng)時(shí)間如幾個(gè)月,而突然出現(xiàn)這個(gè)問(wèn)題,那很可能是
3. D:\app\Administrator\diag\tnslsnr\DBServer\listener\trace\listener.log太大 (這里路徑僅作示例用)
這個(gè)一般是Oracle運(yùn)行很長(zhǎng)時(shí)間后爆發(fā),原因很隱蔽。
Oracle很強(qiáng)大,但出了問(wèn)題需要較多時(shí)間或技巧來(lái)解決,這一點(diǎn)不是很好,它完全應(yīng)開(kāi)發(fā)一個(gè)針對(duì)常見(jiàn)問(wèn)題的自動(dòng)診斷程序來(lái)輔助用戶(hù)快速定位與解決。