ORA-12560: TNS: 協議適配器錯誤 sql
後來參考下面的文檔,問題解決啦。數據庫
具體作法和恢復10G有些相似: windows
1.將之前的目錄更名,從新按照之前的結構安裝數據庫軟件。 安全
2.將之前數據文件中的 d:「oracle「oradata 和d:「oracle「admin 文件拷貝到對應新建的目錄下。 服務器
3.將參數文件,listener.ora,密碼文件拷貝到對應的目錄下。 oracle
4.啓動數據庫: tcp
C:「Documents and Settings「Administrator>sqlplus /nolog 工具
SQL*Plus: Release 9.2.0.1.0 - Production on 星期六 10月 11 22:36:27 2008 測試
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. 操作系統
SQL> conn / as sysdba
ERROR:
ORA-12560: TNS: 協議適配器錯誤
5。配置察看監聽:
C:「Documents and Settings「Administrator>lsnrctl
LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 11-10月-2008 22:
:04
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
來到LSNRCTL,請鍵入"help"以得到信息。
LSNRCTL> status
正在鏈接到 (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
TNS-12541: TNS:無監聽器
TNS: 協議適配器錯誤
TNS-00511: 無監聽器
32-bit Windows Error: 61: Unknown errorITPUB我的空間h)Im[ u
LSNRCTL> start
啓動tnslsnr:請稍候...
Failed to open service , error 1060.
TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production
寫入e:「oracle「ora92「network「log「listener.log的日誌信息
監聽:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjserver31)(PORT=1521)))
正在鏈接到 (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
LISTENER 的 STATUS
別名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - ProducITPUB我的空間 i b f5k x p W D!t
tion
啓動日期 11-10月-2008 22:38:11
正常運行時間 0 天 0 小時 0 分 0 秒
跟蹤級別 off
安全性 OFF
SNMP OFF
監聽器日誌文件 e:「oracle「ora92「network「log「listener.log
8L)f,「3A.f0監聽端點概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjserver31)(PORT=1521)))
監聽器不支持服務
命令執行成功
狀態是不正確的,說明沒有監聽程序。拷貝監聽的listen.ora後,
LSNRCTL> start
啓動tnslsnr:請稍候...
TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production
系統參數文件爲e:「oracle「ora92「network「admin「listener.ora
寫入e:「oracle「ora92「network「log「listener.log的日誌信息
監聽:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=「「.「pipe「EXTPROC0ipc)))
監聽:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjserver31)(PORT=1521)))
正在鏈接到 (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
LISTENER 的 STATUS
別名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc
tion
啓動日期 11-10月-2008 22:40:52
正常運行時間 0 天 0 小時 0 分 4 秒
跟蹤級別 off
安全性 OFF
SNMP OFF
監聽器參數文件 e:「oracle「ora92「network「admin「listener.ora
監聽器日誌文件 e:「oracle「ora92「network「log「listener.log
監聽端點概要
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=「「.「pipe「EXTPROC0ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjserver31)(PORT=1521)))
服務摘要
服務 "PLSExtProc" 包含 1 個例程。
例程 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理程序...
服務 "orc1" 包含 1 個例程。
例程 "orc1", 狀態 UNKNOWN, 包含此服務的 1 個處理程序...
命令執行成功
6.啓動數據庫仍報錯:
SQL> conn / as sysdba
ERROR:
TNS: 協議適配器錯誤
解決ORA-12560: TNS: 協議適配器錯誤,與你們共享
遭遇ORA-12560: TNS: 協議適配器錯誤的問題,通過一番努力問題已經解決,與你們共享。
形成ORA-12560: TNS: 協議適配器錯誤的問題的緣由有三個:
1.監聽服務沒有起起來。windows平臺個一以下操做:開始-程序-管理工具-服務,打開服務面板,
啓動oraclehome92TNSlistener服務。
2.database instance沒有起起來。windows平臺以下操做:開始-程序-管理工具-服務,打開服務
面板,啓動oracleserviceXXXX,XXXX就是你的database SID.
3.註冊表問題。regedit,而後進入HKEY_LOCAL_MACHINE「SOFTWARE「ORACLE「HOME0將該環境變量ORACLE_SI
D設置爲XXXX,XXXX就是你的database SID.或者右幾個人電腦,屬性高級環境變量-系統變量新建
,變量名=oracle_sid,變量值=XXXX,XXXX就是你的database SID.或者進入sqlplus前,在command line下
輸set oracle_sid=XXXX,XXXX就是你的database SID.
通過以上步驟,就能夠解決問題。