ORA-12514: TNS: 監聽器目前不知道連線描述區中要求的服務

環境:
[Server]
Windows 2008 Server
Oracle Database 11g R2

[Client]
Windows 7
Oracle Client 11g R2

Oracle Database安裝完後,在Client電腦也完成Oracle Client安裝,tnsnames.ora的配置也都完成了,但是使用sqlplus連線DB時卻出現下面的錯誤訊息。



在排除此問題前先確認,在Oracle Database 的本機使用sqlplus是可以連線的,由此先確定Database Service是有正常運作的。



目前遇過幾個況狀會導致這個錯誤訊息。

<狀況1>Server的主機網域(domain)錯誤或未指定,導致解析不到SID

tnsnames.ora的SERVICE_NAME必需加入網域名稱



<狀況2>Oracle Database Listener未定設SID

1. 登入sys帳號後,利用下面指令可以查出SID名稱。

select instance_name from v$instance;

INSTANCE_NAME
----------------
aehome

2. 檢查lListener服務狀態


發現沒有aehome的Listener,所以Client端才會無法利用TNS Name的方式連線。

3. 修改listener.ora,加入aehome的監聽。


4. 重新啟動Listener



重啟後發現已經有監聽aehome了。

5. 此時Client已可以正常使用sqlplus連線了。





留言

這個網誌中的熱門文章

Oracle 例外控制(Exception Control)

Oracle 工作排程 DBMS_JOB 筆記