TNS-12541: TNS: 无监听程序 TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监听程序(亲测有效)
生活随笔
收集整理的這篇文章主要介紹了
TNS-12541: TNS: 无监听程序 TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监听程序(亲测有效)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
此文版權(quán)歸作者 – yaogang所有,轉(zhuǎn)載請注明yaogang?www.luocs.com。
整理之后的解決辦法是:
1.在 listener.ora 文件中找見ADR_BASE_LISTENER =(日志目錄)如: D:appAdministrator
2.用命令lsnrctl stop 或者 直接在服務(wù)中停止監(jiān)聽
3.找到D:appAdministratordiag nslsnrWIN-NME98R72PK9listener race 該目錄下的 listener.log (不出意外的話這里的文件大小約為4G) 刪除這個(gè)文件
4.重啟監(jiān)聽
5.成功。 navicat連接成功 ,服務(wù)訪問成功
6.如不成功,參考原文分析
原文如下
1 Luocs說:這是我一個(gè)朋友的一個(gè)監(jiān)聽器問題解決案例,這是昨天發(fā)生的事情,我一直跟朋友一起Troubleshooting,折騰了半天最后是BUG所致。再次汗顏,Windows平臺惹不起??!好,那么下面開始分享我朋友的案例! 2 3 環(huán)境描述: 4 OS : Windows Server 2008 64Bit (做了HA) 5 DB : 11.1.0.7.0 6 7 排錯(cuò)過程: 8 前天應(yīng)用不能訪問數(shù)據(jù)庫了 (后臺應(yīng)用能訪問數(shù)據(jù)庫),故障發(fā)生。 9 馬上登錄到服務(wù)器里查看監(jiān)聽狀態(tài),發(fā)現(xiàn)有TNS-12541 ,TNS-12560等錯(cuò)誤 10 11 12 13 Luocs補(bǔ)充:我跟朋友要了錯(cuò)誤代碼,但他沒有保存,就直接貼圖。 14 15 從計(jì)算器的管理 –> 服務(wù)選項(xiàng) –> 檢查oracle 監(jiān)聽服務(wù)程序,發(fā)現(xiàn)該服務(wù)已經(jīng)停止。 16 17 手動(dòng)把監(jiān)聽服務(wù)啟動(dòng),這時(shí)候服務(wù)狀態(tài)上顯示為已啟動(dòng),但在CMD窗口執(zhí)行l(wèi)snrctl status的時(shí)候依然返回錯(cuò)誤信息: 18 19 C:>lsnrctl status 20 21 LSNRCTL for 64-bit Windows: Version 11.1.0.7.0 - Production on 12-11月-2012 18:1 22 8:32 23 24 Copyright (c) 1991, 2008, Oracle. All rights reserved. 25 26 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.203.218)(PORT=1521))) 27 TNS-12541: TNS: 無監(jiān)聽程序 28 TNS-12560: TNS: 協(xié)議適配器錯(cuò)誤 29 TNS-00511: 無監(jiān)聽程序 30 64-bit Windows Error: 61: Unknown error 31 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) 32 33 34 過段時(shí)間回顯非常慢。 35 36 然后我檢查了下告警日志,大量的ora錯(cuò)誤 37 38 Fatal NI connect error 12170. 39 40 VERSION INFORMATION: 41 TNS for 64-bit Windows: Version 11.1.0.7.0 - Production 42 Oracle Bequeath NT Protocol Adapter for 64-bit Windows: Version 11.1.0.7.0 - Production 43 Windows NT TCP/IP NT Protocol Adapter for 64-bit Windows: Version 11.1.0.7.0 - Production 44 Time: 12-11月-2012 15:23:33 45 Tracing not turned on. 46 Tns error struct: 47 ns main err code: 12535 48 49 TNS-12535: TNS: 操作超時(shí) 50 ns secondary err code: 12560 51 nt main err code: 0 52 nt secondary err code: 0 53 nt OS err code: 0 54 Client address: <unknown> 55 56 ORA-609 : opiodr aborting process unknown ospid (4116_6104) 57 58 59 這時(shí)候朋友懷疑是不是監(jiān)聽器配置問題,就把原先的監(jiān)聽器刪除重建了下,問題依然。 60 61 網(wǎng)上有個(gè)解決TNS-12535錯(cuò)誤的案例,平臺和版本都很類似,如下: 62 1、在 sqlnet.ora文件中 增加如下行: 63 DIAG_ADR_ENABLED = OFF 64 2、在listener.ora文件中增加如下行: 65 DIAG_ADR_ENABLED_<listenername> = OFF 66 如何監(jiān)聽是listener時(shí),則前面的名稱為:DIAG_ADR_ENABLED_LISTENER = OFF 67 3、重新啟動(dòng)windows服務(wù)管理中的監(jiān)聽程序.先停止,然后再重新啟動(dòng). 68 4、檢查結(jié)果.發(fā)現(xiàn)可以了,返回的值在10毫秒.有時(shí)為0毫秒.成功!! 69 70 但這并不是問題發(fā)生原因,在繼續(xù)排查過程中偶然發(fā)現(xiàn)監(jiān)聽日志大小居然為4G。然后把這現(xiàn)象告訴了Luocs。 71 過了一會兒,Luocs回應(yīng)是Oracle一個(gè)BUG,BUG號為9879101 : THE CONNECT THROUGH LISTENER WAS SLOW WHEN LISTNER LOG GROWED 4GB。 72 73 74 Luocs還提供了MOS上一篇文章,ID 1319797.1 : WINDOWS: Listener Hangs & Lsnrctl Commands Are Slow or Hang,里面給出了解決方法: 75 76 You can solve this problem by deleting the large listener in $ORACLE_BASEdiag nslsnr<hostname>listener race<listener_name>.log 77 1) Stop the listener process using the command line or Control Panel Service. 78 79 2) Delete the log file(s) that are at or approaching the 4G size limit at this location: 80 $ORACLE_BASEdiag nslsnr<hostname>listener race<listener_name>.log 81 3) Issue any lsnrctl command and you will see a new listener.log in its place under: 82 $ORACLE_BASEdiag nslsnr<hostname>listener race 83 84 85 Since ADR Diagnostics are enabled for this listener these steps cannot be done dynamically using the lsnrctl utility. 86 e.g. 87 LSNRCTL>set log_file mylog 88 Will yield: TNS-01251: Cannot set trace/log directory under ADR. 89 90 However, it is possible to disable the flat file listener logging using the following commands: 91 92 LSNRCTL>set current_listener <listener_name> 93 LSNRCTL>set log_status OFF 94 LSNRCTL>save_config 95 96 97 我就按照以上說明如下進(jìn)行: 98 1)LSNRCTL進(jìn)入交互模式 99 2)執(zhí)行set current_listener LISTENER 100 3)set log_status off 101 4)stop 停止監(jiān)聽器 102 5)手工刪除ADR指定的監(jiān)聽日志路徑下的listener.log文件 103 6)start重啟監(jiān)聽器 104 7)status查看狀態(tài) 105 106 到此問題解決。 107 108 雖然最后解決過程僅僅耗費(fèi)了短短幾分鐘時(shí)間,但整個(gè)排錯(cuò)過程卻是令人驚訝。在此整理,并與遇到同樣問題的朋友分享。
總結(jié)
以上是生活随笔為你收集整理的TNS-12541: TNS: 无监听程序 TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监听程序(亲测有效)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Tp3 和 Tp5之间的区别
- 下一篇: Primeng UI框架中 分页组件用法