Oracle 10G數(shù)據(jù)庫中"ORA-12541: TNS:no listener"報錯解決辦法
2007年09月29日 星期六 02:57
1、在計算機 開始--->管理-->服務中沒有看到 OracleOraHome92TNSListener 服務,但服務已經啟動
2、C:\>lsnrctl start 執(zhí)行完后報open service error。然后在計算機 開始--->管理-->服務中看到  了 OracleOraHome92TNSListener 服務
3、運行regedit.exe啟動注冊表編輯器,在HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/下的Services和CurrentControlSet/Services下找到OracleOraHome92TNSListener項,在右邊窗口按右鍵,新建/字符串,取名ImagePath。
雙擊新見的建,在“數(shù)值數(shù)據(jù)”項輸入D:\oracle\ora92\bin\TNSLSNR.EXE(根據(jù)你自己的實際情況進行修改),確定完成。
再次在服務中雙擊打開OracleOraHome92TNSListener的服務看到其“可執(zhí)行文件的路徑”一欄已經顯示了其正確的值。這時你可以啟動監(jiān)聽了。
4、C:>tnsping 數(shù)據(jù)庫SID。看看tns服務沒有起來。如果沒有起來,用下面的命令
c:\>lsnrctl
lsnrctl>start把這個服務起動起來。

c:\>lsnrctl start 后open service error錯誤消失,但例程中有一個狀態(tài)為UNKNOWN,另一個為READY.命令執(zhí)行成功。

PL/SQL Developer連接Oracle報錯:ORA-12514: TNS:監(jiān)聽程序當前無法識別連接描述符中請求的服務

 

 

 

 

 

解決辦法:

  首先重啟下對應的數(shù)據(jù)庫監(jiān)聽服務(OracleOraDb<?xml:namespace prefix = st1 />10g_home1TNSListener)和數(shù)據(jù)庫服務(OracleServiceORCL),如果還沒解決,就按下面的進行操作:

   1.打開%Oracle安裝目錄%/network/admin/listener.ora文件(C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
   2.
添加:
(SID_DESC =

    (GLOBAL_DBNAME = ORCL)

    (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)  

    (SID_NAME = ORCL)

    )
   3.
最后文件改成
SID_LIST_LISTENER =

(SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)

      (PROGRAM = extproc)

    )

   (SID_DESC =

    (GLOBAL_DBNAME = ORCL)

    (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)  

    (SID_NAME = ORCL)

    )

)

LISTENER =

(DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = zyk)(PORT = 1521))

    )

)

以上粗體部件為增加的內容,修改后重啟監(jiān)聽服務后即可。

 

 



轉載:http://hi.baidu.com/jadmin/blog/item/84b40fd3b4ec8f033bf3cf37.html