ORA-12541: TNS:無監聽器

 來源: http://oracle.chinaitlab.com/induction/881334.html

ORA-12541: TNS:無監聽器

 登錄ORCALE時錯誤提示:ORA-12541: TNS:no listener不能正常連接到數據庫

    錯誤原因是:清理註冊表信息或修改配置數據庫機器名稱造成。

    一、連接主機字符串,報告沒有監聽器

    C:\Documents and Settings\Administrator> sqlplus username/password;

    ORA-12541: TNS:no listener

    二、運行監聽器

    C:\Documents and Settings\Administrator>lsnrctl

    LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 07-7月 -2009 10:08

    :08

    Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.

    歡迎來到LSNRCTL,請鍵入"help"以獲得信息。

    三、通過查看監聽器狀態給出解決辦法

    情況一,只報告無監聽器

    LSNRCTL> status

    正在連接到 (ADDRESS=(PROTOCOL=tcp)(PORT=1521))

    ORA-12541: TNS:無監聽器

    TNS-12560: TNS: 協議適配器錯誤

    TNS-00511: 無監聽器

    32-bit Windows Error: 61: Unknown error

    LSNRCTL> start

    啓動tnslsnr:請稍候…

    Failed to open service <OracleOraHome92TNSListener>, error 1060.

    TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production

    寫入D:\oracle\ora92\network\log\listener.log的日誌信息

    監聽:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sha120594n02.clients.apac.cpwr.c

    orp)(PORT=1521)))

    正在連接到 (ADDRESS=(PROTOCOL=tcp)(PORT=1521))

    LISTENER 的 STATUS

    ------------------------

    別名                      LISTENER

    版本                      TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc

    tion

    啓動日期                  07-7月 -2009 10:08:49

    正常運行時間              0 天 0 小時 0 分 4 秒

    跟蹤級別                  off

    安全性                    OFF

    SNMP                      OFF

    監聽器日誌文件          D:\oracle\ora92\network\log\listener.log

    監聽端點概要…

    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sha120594n02.clients.apac.cpwr.corp)

    (PORT=1521)))

    監聽器不支持服務

    命令執行成功

    情況二,除了報告無監聽器還報告地址的協議專用組件指定不正確

    LSNRCTL> status

    連接至(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(PORT=1521)))

    TNS-01103: 地址的協議專用組件指定不正確

    TNS-12541: TNS:無監聽器

    TNS-12560: TNS:協議適配器出現錯誤

    TNS-00511: 無監聽器

    32-bit Windows Error: 61: Unknown error

    LSNRCTL> start

    啓動tnslsnr:請稍候…

    Failed to start service, error 3.

    TNS-12536: TNS:可能會阻礙*作

    TNS-12560: TNS:協議適配器出現錯誤

    TNS-00506: *作可能阻塞

    32-bit Windows Error: 997: Unknown error

    LSNRCTL>

    這種情況的解決方案如下:

    1、在控制面板中啓動服務,出現以下錯誤

    服務:在本地計算機 無法啓動 OracleOraHome92TNSListener服務。

    錯誤3:系統找不到指定的路徑

    而且OracleOraHome92TNSListener服務的可執行文件的路徑是空的。

    2、進入註冊表中修改ImagePath

    在運行處執行REGEDIT進入註冊表到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome92TNSListener

    發現ImagePath關鍵值沒有了,增加他,選擇可擴充字符串值,編輯字符串的數值數據爲:D:\oracle\ora92\BIN\TNSLSNR 退出註冊表。

    3、再次啓動監聽器

    LSNRCTL> start

    TNS-01106: 使用名稱LISTENER的監聽器已經啓動

    四、這時查看監聽器的狀態,監聽器已經恢復正常

    LSNRCTL> status

    正在連接到 (ADDRESS=(PROTOCOL=tcp)(PORT=1521))

    LISTENER 的 STATUS

    ------------------------

    別名                      LISTENER

    版本                      TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc

    tion

    啓動日期                  07-7月 -2009 10:08:49

    正常運行時間              0 天 0 小時 2 分 18 秒

    跟蹤級別                  off

    安全性                    OFF

    SNMP                      OFF

    監聽器日誌文件          D:\oracle\ora92\network\log\listener.log

    監聽端點概要…

    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sha120594n02.clients.apac.cpwr.corp)

    (PORT=1521)))

    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sha120594n02.clients.apac.cpwr.corp)

    (PORT=8080))(Presentation=HTTP)(Session=RAW))

    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sha120594n02.clients.apac.cpwr.corp)

    (PORT=2100))(Presentation=FTP)(Session=RAW))

    服務摘要

    服務 "Covisint" 包含 1 個例程。

    例程 "Covisint", 狀態 READY, 包含此服務的 1 個處理程序…

    服務 "CovisintXDB" 包含 1 個例程。

    例程 "Covisint", 狀態 READY, 包含此服務的 1 個處理程序…

    命令執行成功

    五、再去連接,成功

    C:\Documents and Settings\Administrator> sqlplus username/password;

    連接成功。

    C:\Documents and Settings\Administrator>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章