1.前提簡介 java
首先介紹一下,我是一個java工程師,數據庫不是個人專項技術,因此下面出現的問題也許對於數據庫大神來講可能不算什麼,可是對於我來講下邊的問題困擾了我好久好久,有一天終於被解決了。數據庫
2.問題描述測試
數據鏈接時間特別的長,用命令來看的話"lsnrctl status」監聽不存在,可是你用命令啓動的時候:lsnrctl start 啓動的時候服務能夠啓動可是就是啓動的時間特別的長,有的時候還爲了鏈接測試一直在耗時間,時間大概5-10分鐘左右吧。在用命令查看的時候監聽器服務沒法啓動,無監聽。spa
3.解決之道
日誌
首先進入監聽程序中:orm
lsnrctl內存
查看日誌狀態:博客
show log_statusit
以下圖,set to on表示此時日誌爲開啓狀態程序
要想關閉只須要執行:
set log_status off
而後保存設置便可:
save_config
而後在進入您的目錄下找到D:\Oracle\diag\tnslsnr\機器名\listener\trace\listener(個人安裝路徑)而後您看看這個文件有多大,假如你是32位系統我說的問題確定會在監聽日誌到達4g的時候你的問題就會出現,假如你是64位機器一直跑着沒問題,可是仍是會存在風險。由於系統一直在變慢。
解決辦法:將listener文件刪除,從新在服務中啓動監聽就OK了,系統從新建立了一個新的listener。
4.問題概括
在解決這個問題以前,看了不少關於無監聽的博客,方法都用了可是沒有解決問題,出現上述問題是日誌監聽文件過於大因此致使沒有空間進行日誌支撐。我和Oracle公司的人就這個問題交流過,這個監聽日誌其實沒有多大用,通常他們查找問題也不會看這個,因此這個文件白白的耗掉了不少的內存。