用pl/sql連接虛擬機中的oracle數據庫,發現又報了“ora-12514 tns 監聽程序當前無法識別連接描述符中請求服務”錯誤,幫其解決后,發現很多人遇到過這樣的問題,因此寫著這里。
把Oracle安裝在虛擬機中,而且Oracle安裝完畢后,沒在進行任何監聽的配置,則虛擬機再啟動,則就會出現ORA-12514的問題。
如下是解決思路:(推薦學習:MySQL視頻教程)
根據出錯信息判斷出客戶端未監聽到實例服務名
1、通過重啟服務的方式啟動數據庫,再次連接仍無法連接服務器。
2、既然第一種方法不能解決問題,那就第二種方法。考慮監聽listener.ora
監聽配置文件listener.ora中可以不必指定監聽的服務名(安裝Oracle10g后也是沒有指定的)。正常情況下一般只要數據庫啟動,客戶端連接數據庫也沒有什么問題,但是有時重復啟動關閉也會出現ORA-12514錯誤。
既然listener.ora中沒有指定監聽,我們可以在listener.ora文件中指定監聽的實例名,這樣該問題應該可以連接。
找到查看listener.ora文件:位于oracle 安裝目錄的app文件夾目錄下面
完整代碼
# listener.ora Network Configuration File: G:appadminproduct12.1.0dbhome_1NETWORKADMINlistener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = G:appadminproduct12.1.0dbhome_1) (PROGRAM = extproc) ) #添加內容為: (SID_DESC = (GLOBAL_DBNAME = ORCL) (ORACLE_HOME = G:appadminproduct12.1.0dbhome_1) (SID_NAME = ORCL) ) ) #=================== LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.217)(PORT = 1521)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) ) ) ADR_BASE_LISTENER = G:appadminproduct12.1.0dbhome_1log
SID_NAME 對應網絡服務命名;GLOBAL_DBNAME 對應服務名,修改完成后重啟服務就好了!
更多MySQL相關技術文章,請訪問MySQL視頻教程欄目進行學習!
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END