一、造成ORA-12560: TNS: 協議適配器錯誤的問題的原因有三個:
1.監聽服務沒有起起來。windows平台個一如下操作:開始---程序---管理工具---服務,打開服務面板,
啟動OracleOraDb11g_home1TNSlistener服務。

2.database instance沒有起起來。windows平台如下操作:開始---程序---管理工具---服務,打開服務
面板,啟動OracleServiceBOOKSALES, BOOKSALES就是你的database SID

3.注冊表問題。regedit,然后進入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME
將該環境變量ORACLE_SID設置為XXXX, XXXX就是你的database SID.




或者右擊我的電腦,屬性--高級--環境變量---系統變量--新建,變量名=oracle_sid,變量值=XXXX, XXXX就是你的database SID.
或者進入sqlplus前,在command line下輸 set oracle_sid=XXXX, XXXX就是你的database SID.
經過以上步驟,一般就可以解決問題。
二、oracle正常運行一般會有如下服務:

OracleServiceORCL這個服務竟然不見了 解決辦法:
1.新增數據庫ORCL實例服務的命令:
oradim -new -sid ORCL
2.可以用sc命令刪除oracle在Windows的Service
sc delete OracleServiceORCL
或者
打開CMD,管理員權限,切換到oracle 的bin目錄
oradim -NEW -SID XE -STARTMODE manual -PFILE
"E:\oraclexe\app\oracle\product\11.2.0\server\database\init.ora"
切換到sqlplus sysdba 登陸,
SQL>
alter system set local_listener= 'XE';
OracleOraDb11g_home1TNSListener這個服務不見了 解決辦法:
運行“cmd”,在命令行里輸入"lsnrctl",回車,進入lsnrctl中,在“LSNRCTL>”后輸入"start",回車。就會啟動了,現在去服務里刷新一下就會有監聽器的啟動項了。

