http://blog.csdn.net/jisuanjixu/article/details/1741965摘抄s
一, oracle監聽啟動後,立即停止。
TNS-12545: 因目標主機或對象不存在,串連失敗
TNS-12560: TNS: 協議適配器錯誤
TNS-00515: 因目標主機或對象不存在,串連失敗
32-bit Windows Error: 1004: Unknown error
不再監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC0ipc)))
原因是我安裝了oracle之後,又修改了主機名稱
解決方案:
1、直接修改 listener.ora
路徑是: oracle安裝目錄/product/10.2.0/db_1/NETWORK/ADMIN/listener.ora
修改HOST 為主機名稱或者IP
2、通過 Net Manager,在 監聽程式/LISTENER 下直接修改主機即可
二.錯誤碼及解決辦法
1,ORA:-12545:因目標主機和對象不存在,串連失敗
錯誤碼ORA-12545表示網路連接串(即tnsnames.ora檔案中的HOST處)中使用的機器名和IP地址不存在,重新修改和重新串連即可。
2,ORA-12651:TNS:沒有監聽器
該資訊說明所要已連線的服務器沒有啟動監聽進程Listener(該進程為Oracle伺服器上作業系統進程,監聽進程沒有啟動時,伺服器可以正常進行,但是用戶端不能與伺服器產生串連。這時可以在伺服器使用作業系統命令lsnrctl正常起啟動監聽進程)
3,ORA-00600:internal error code,arguments:[num],[?],[?],[?],[?]
產生原因:這種錯誤通常為ORACLE的內部錯誤,只對OSS和ORACLE開發有用。ORA-600的錯誤經常伴隨追蹤檔案的狀態轉儲(系統狀態和進程狀態),系統狀態儲存將包括ORACLE RDBMS持有的當前對象的資訊,進程狀態轉儲則將顯示特殊進程持有的對象,當進程符合了某錯誤條件時,經常是由於一些資訊取自它持有的一個塊,如果我們知道這些錯誤進程持有的塊,就容易跟蹤問題的來源。
解決方案:一般來說出現這個錯誤我們本身是無法解決的,只有從提高系統本身各方面來解決這個內部問題,如增加硬體裝置,調整系統效能,使用OPS(當然OPS從某種意義上說並不是一種好的解決方式)等。ORA-600錯誤的第一個變數用於標記代碼中錯誤的位置(代碼中的每個部分的第一變數都不一樣),從第二個到第五個變數顯示附加資訊,告訴OSS代碼在哪裡出現了錯誤
4,ORA-12560 協議適配器錯誤:
有關ORA-12560: TNS:協議適配器錯誤 的問題
①.檢查Terminal Service, 遠端桌面是不是起因
②.環境變數set oracle_sid=需要的服務名
③.listener.ora, tnsnames.ora等內機器名或者IP地址是否正確
④.netstat –a檢查連接埠是否被佔用
⑤.檢查註冊表HKEY_LOCAL_MACHINE/Software/Oracle/Home0新增字串USE_SHARED_SOCKET=TRUE, 重新啟動服務
5,ORA-28595: Invalid DLL Path 調用外部DLL出錯
原因:A setting in Oracle's LISTENER.ORA file on the server hosting the RDBMS is missing.
解決辦法:
(1).Locate the active LISTENER.ORA file on the server. By default, it will be on the Oracle RDBMS drive in the path ../ora92/network/admin.
(2).Inspect the file and locate all entries associated with "SID_DESC". Each such entry should have the following option associated with it:
(ENVS = "EXTPROC_DLLS=ANY")
(3).Add the above line to any entry where it is missing.
(4).Restart the Oracle Listener Service (or reboot the server which will in turn restart Oracle).
例子:
The example LISTENER.ORA file below shows a valid configuration for the server named "WOODY" (using TCP/IP on Port 1521) with the correct ENVS entries highlighted:
# LISTENER.ORA Network Configuration File: C:/oracle/ora92/network/admin/listener.ora # Generated by Oracle configuration tools.LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = woody)(PORT = 1521)) ) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = C:/oracle/ora92) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ANY") ) (SID_DESC = (GLOBAL_DBNAME = WOODY) (ORACLE_HOME = C:/oracle/ora92) (SID_NAME = WOODY) (ENVS = "EXTPROC_DLLS=ANY") ) ) |
6.在控制台中啟動服務,出現以下錯誤
服務:在本機電腦 無法啟動 OracleOraDb10g_home1TNSListener 服務。
錯誤3:系統找不到指定的路徑
查看屬性探索,OracleOraDb10g_home1TNSListener 服務的可執行檔的路徑為空白。
解決辦法:
開始-->運行REGEDIT -->進入註冊表找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/OracleOraDb10g_home1TNSListener
發現ImagePath關索引值沒有了,建立一個名為ImagePath的可擴充字串值,編輯字串的數值資料為:Oracle安裝路徑/BIN/TNSLSNR
7.錯誤描述:本機電腦上的OracleOraDb10g_home1TNSListener服務啟動後又停止了。一些服務自動停止,如果它們沒有什麼可做的,例如 "效能記錄檔及警示 "服務。
解決辦法:C:/oracle/product/10.2.0/db_1/NETWORK/ADMIN/listener.ora把這這檔案裡的內容改下 HOST=你的電腦名稱字。