客戶端連接oracle數據庫時出現如下錯誤:
Listener refused the connection with the following error: ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
首先看看Oracle服務是否開啟:
然后找到listener.ora監聽文件,具體位置:D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
即:$ORACLE_HOME/network/admin
原監聽文件lisener.ora配置如下:
# listener.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll") ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = WIN-VATV98IF527)(PORT = 1521)) ) ) ADR_BASE_LISTENER = D:\app\Administrator
修改為
紅色部分為添加內容,藍色可修改為服務器的IP地址
注意:空格也要嚴格按照要求,否則會報語法錯誤
# listener.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll") ) (SID_DESC = (GLOBAL_DBNAME = ORCL) (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1) (SID_NAME = ORCL) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = WIN-VATV98IF527)(PORT = 1521)) ) ) ADR_BASE_LISTENER = D:\app\Administrator
停止監聽服務:
C:\Users\Administrator>lsnrctl stop
C:\Users\Administrator>lsnrctl stop LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 11-8月 -2019 16:0 5:36 Copyright (c) 1991, 2010, Oracle. All rights reserved. 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) 命令執行成功
啟動監聽服務:
C:\Users\Administrator>lsnrctl start
C:\Users\Administrator>lsnrctl start LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 11-8月 -2019 16:0 5:40 Copyright (c) 1991, 2010, Oracle. All rights reserved. 啟動tnslsnr: 請稍候... TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production 系統參數文件為D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listene r.ora 寫入d:\app\administrator\diag\tnslsnr\WIN-VATV98IF527\listener\alert\log.xml的日 志信息 監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc))) 監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WIN-VATV98IF527)(PORT=1521))) 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) LISTENER 的 STATUS ------------------------ 別名 LISTENER 版本 TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ ction 啟動日期 11-8月 -2019 16:05:43 正常運行時間 0 天 0 小時 0 分 3 秒 跟蹤級別 off 安全性 ON: Local OS Authentication SNMP OFF 監聽程序參數文件 D:\app\Administrator\product\11.2.0\dbhome_1\network\a dmin\listener.ora 監聽程序日志文件 d:\app\administrator\diag\tnslsnr\WIN-VATV98IF527\list ener\alert\log.xml 監聽端點概要... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WIN-VATV98IF527)(PORT=1521))) 服務摘要.. 服務 "CLRExtProc" 包含 1 個實例。 實例 "CLRExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理程序... 服務 "ORCL" 包含 1 個實例。 實例 "ORCL", 狀態 UNKNOWN, 包含此服務的 1 個處理程序... 命令執行成功
參考博客:
Oracle 11g ORA-12514:TNS:監聽程序當前無法識別連接描述符中請求的服務
https://blog.csdn.net/zl570932980/article/details/77864157