1. 程式人生 > >關於OracleOraDb11g_home1TNSListener監聽程式在windows服務列表中消失問題

關於OracleOraDb11g_home1TNSListener監聽程式在windows服務列表中消失問題

在本地新建了一個oracle資料庫,並用Net Manager 配置客戶端節點時遇到一個問題,當在地址主機號框中輸入localhost時進行連線測試能成功,當輸入具體ip或者127.0.0.1進行連線測試時則報:沒有找到監聽程式。

百度了下依著步驟用net configuration assistant 刪除了原來節點,設定了新的節點(我理解目的是將監聽程式listener.ora檔案中HOST配置從localhost【我原來的監聽中主機確實配的是localhost】修改為主機名,如leaf-PC,配置為主機名可以覆蓋localhost,反之則不行)。

新問題又來了

當services.msc進入服務列表,想重新啟動監聽和新建的資料庫時,OracleOraDb11g_home1TNSListener已經被禁用掉,原因是相關程式已被刪除。可是我已經用netca新建了監聽。電腦重啟後,服務列表中OracleOraDb11g_home1TNSListener服務已經消失。

解決辦法

進入本地oracle安裝目錄E:\app\Leaf\product\11.2.0\dbhome_1\BIN,點選LSNRCTL.EXE (若配置了環境變數,可直接cmd進入輸入lsnrctl start),在彈出的介面中輸入start命令會顯示:

啟動tnslsnr: 請稍候...

Failed to open service <OracleOraDb10g_home2TNSListener>, error 1060.
TNSLSNR for 32-bit Windows: Version 10.1.0.2.0 - Production
系統引數檔案為D:\oracle\product\10.1.0\db_2\network\admin\listener.ora
寫入D:\oracle\product\10.1.0\db_2\network\log\listener.log的日誌資訊
監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=PC-200903232225)(PORT=1521)))

正在連線到 (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
LISTENER 的 STATUS
------------------------
別名                      LISTENER
版本                      TNSLSNR for 32-bit Windows: Version 10.1.0.2.0 - Produ
ction
啟動日期                  20-11月-2009 01:17:50
正常執行時間              0 天 0 小時 0 分 2 秒
跟蹤級別                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
監聽程式引數檔案          D:\oracle\product\10.1.0\db_2\network\admin\listener.o
ra
監聽程式日誌檔案          D:\oracle\product\10.1.0\db_2\network\log\listener.log

監聽端點概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=PC-200903232225)(PORT=1521)))
監聽程式不支援服務
命令執行成功
----------------------------------------

這樣重新整理之前的服務列表 OracleOraDb11g_home1TNSListener服務就在了

在Net Manager中使用ip進行連線測試亦成功。