1. 程式人生 > >sqlplus登入是報錯,ORA-12570: TNS: 包閱讀程式失敗

sqlplus登入是報錯,ORA-12570: TNS: 包閱讀程式失敗

1、先定位問題是不是Oracle 監聽器日誌 listener.log檔案過大

 

路徑一般:C:\app\Administrator\diag\tnslsnr\主機名\listener\trace下面的 listener.log

db版本:11.2.0.1

os版本:windows2008

現象:

應用異常,無法連線資料庫。登陸資料庫伺服器,檢視監聽已經斷掉。嘗試重啟監聽,重啟失敗。檢視監聽日誌listener.log的大小已經超過4G。

解決方法:

1、關閉監聽 

2、刪除listener.log(刪除前可以先做備份) 

3、然後重啟監聽,監聽重啟後會自動建立一個新的日誌檔案

<----------------------------------------------------以上為windows傻瓜式操作,下面可以用於linux----------------------------------------------->

補充:

在監聽程序執行時,無法對listener.log做刪除或者重新命名操作。

如果不想重啟監聽,刪除監聽日誌。可以按如下操作:

1.>lsnrctl set log_status off    # 先把日誌狀態停掉,這樣就不會寫監聽器日誌

2. 備份或者刪除監聽日誌

3.>lsnrctl set log_status on    # 重新開啟日誌,開始記錄監聽器日誌。該檔案會自動建立

4.>lsnrctl status                    #檢查監聽狀態

 

Linux下不要直接 cat /dev/null >  listener.log 除非在監聽器關閉的情況下。否則,即便檔案已經被清空,監聽器還是無法執行寫入日誌的。

 

參考資料:

Bug 9497965 - Win: Listener Startup Fails Due to listener.log Size is Greater Than 4GB [ID 9497965.8]