有段時間沒有安裝了,安裝時遇到“ORA-12514 TNS 監聽程序當前無法識別連接描述符中請求服務”問題
嘗試了重啟 數據庫和監聽,問題未解決。
在確保已開通了1521端口、已啟動服務,狀態顯示正常的情況下,
最后,參考了下面這篇文章,修改監聽配置文件,添加紅色字段部分的配置并重啟監聽解決。
# .ora File: E:\\\admin\.ora
# by tools.
=
( =
( =
( = )
( = E:\)
( = )
)
( =
( = ORCL)
( = E:\)
( = ORCL)
)
)
=
( =
( =
( = ( = IPC)(KEY = ))
( = ( = TCP)(HOST = onest)(PORT = 1521))
)
)
【參考文章】
中監聽程序當前無法識別連接描述符中請求服務 的解決方法
早上同事用PL/SQL連接虛擬機中的數據庫,發現又報了“ORA-12514 TNS 監聽程序當前無法識別連接描述符中請求服務”錯誤,幫其解決后,發現很多人遇到過這樣的問題,因此寫著這里。
也許你沒有遇到過,原因如下:
你安裝成功后,一直未停止數據庫(即數據庫是啟動的),客戶端配置成功后,應該一直不會有什么問題。
而一旦你和我同事一樣11g監聽程序當前無法識別連接描述符中請求的服務,有時把安裝在虛擬機中,而且安裝完畢后,沒在進行任何監聽的配置,則虛擬機再啟動,則就會出現ORA-12514的問題。如下圖
如下是解決思路:
根據出錯信息判斷出客戶端未監聽到實例服務名
1、通過重啟服務的方式啟動數據庫,再次連接仍無法連接服務器。
2、既然第一種方法不能解決問題,那就第二種方法。考慮監聽.ora
監聽配置文件.ora中可以不必指定監聽的服務名(安裝后也是沒有指定的)。正常情況下一般只要數據庫啟動,客戶端連接數據庫也沒有什么問題,但是有時重復啟動關閉也會出現ORA-12514錯誤。
既然.ora中沒有指定監聽,我們可以在.ora文件中指定監聽的實例名,這樣該問題應該可以連接。
步驟如下:
# .ora File: E:\\\admin\.ora
# by tools.
=
( =
( =
( = )
( = E:\)
( = )
)
( =
( = ORCL)
( = E:\)
( = ORCL)
)
)
=
( =
( =
( = ( = IPC)(KEY = ))
( = ( = TCP)(HOST = onest)(PORT = 1521))
)
)
標紅的為我添加的部分,ORCL為監聽的實例名。
結果出現如下圖的提示。
而有些朋友在配置客戶端時11g監聽程序當前無法識別連接描述符中請求的服務,連接數據庫成功,而使用PL/SQL時,又出現了如下圖所示的問題。這又如何解決呢?為什么客戶端已經連接成功了,而PL/SQL確不行呢?
出現如上的原因是,可能是大家再配置客戶端時,雖然鏈接成功了,步驟上可能有些錯誤。大家使用Net 客戶端時重新配置了Orcl,而不是添加,我們應該如下步驟處理,就不會出問題了。
1、如果Net 中已經有了Orcl。我們可以重新配置
2、如果Net 中沒有Orcl,我們應該添加具體界面如下圖所示。
如果大家該步處理也沒有問題了,.ora 修改成功,并且重新啟動了服務器,無論客戶端還是PL/SQL都能夠成功連接數據庫了。
總結一下。當大家遇到“ORA-12514 TNS 監聽程序當前無法識別連接描述符中請求服務”錯誤的解決步驟:
1、通過重啟服務的方式啟動數據庫,再次連接嘗試。
2、如果第一種方法不可行,我們采用第二種方法
第三種方法:
如果版本是8點幾的,要把兼容性打鉤,然后在填寫sid,
然后在查看地址的主機名和ip是否正確,最后查看監聽器的主機名和ip是否正確,
在最后測試就可以了
另外一篇文章也可以看下:
監聽器配置異常檢測辦法
1.1.查看數據庫連接配置文件.ora
文件路徑: E:\\\\11.1.0\db_1\\ADMIN\.ora
文件內容:
配置其他IP地址下的數據庫訪問
=
( =
( =
( = ( = TCP)(HOST = 100.100.102.167)(PORT = 1521))
)
( =
( = ora10)
)
)
配置本機的數據庫訪問
ORCL =
( =
( = ( = TCP)(HOST = )(PORT = 1521))
( =
( = )
( = orcl)
)
)
該文件的修改可以在服務的啟動下進行,無需停止服務
1.2.查看數據庫監聽器配置文件.ora
文件路徑: E:\\\\11.1.0\db_1\\ADMIN\.ora
文件內容:
=
( =
( =
( = ( = IPC)(KEY = ))
( = ( = TCP)(HOST =)(PORT = 1521))
)
)
這里紅色字體””是本地計算機名,可在我的電腦->屬性->系統屬性下查看完整的計算機名稱。寫IP地址或,pl/sql都會提示沒有監聽程序。本次幫實施查找無監聽程序的問題就在這里!
1.3.測試連接
打開的網絡管理器
點擊數據庫圖標測試連接
更改登錄,填寫數據庫用戶及密碼
點擊“測試”,提示:正在嘗試使用以下用戶ID連接:orcl,連接測試成功。
1.4.必要的兩個服務
、,一個是服務,一個是監聽器,這兩個服務在使用數據庫時必須開啟。