问题:ORA-12154:TNS:无法解析指定的连接标识符
截图如下:
我的解决步骤如下:
1)查看监听状态lsnrctl status ,如果没有启动的话,使用lsnrctl start启动
C:UsersAdministrator>lsnrctl status LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 11-8月 -2017 11 8:08 Copyright (c) 1991, 2010, Oracle. All rights reserved. 正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.30)(PORT=1521)) LISTENER 的 STATUS ------------------------ 别名 LISTENER 版本 TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Pro ction 启动日期 11-8月 -2017 11:45:20 正常运行时间 0 天 0 小时 2 分 48 秒 跟踪级别 off 安全性 ON: Local OS Authentication SNMP OFF 监听程序参数文件 E:appAdministratorproduct11.2.0dbhome_64 etwor adminlistener.ora 监听程序日志文件 e:appadministratordiag nslsnrWIN-69CON556EF4li eneralertlog.xml 监听端点概要... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.30)(PORT=1521))) 服务摘要.. 服务 "CLRExtProc" 包含 1 个实例。 实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序... 命令执行成功
2)打开监听的位置文件
监听的位置可以从上面的命令中找到 E:appAdministratorproduct11.2.0dbhome_64 etwor adminlistener.ora
# listener.ora Network Configuration File: E:appAdministratorproduct11.2.0dbhome_64 etworkadminlistener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = orcl) (GLOBALDB_NAME=ORCL) (ORACLE_HOME = E:appAdministratorproduct11.2.0dbhome_64) ) (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = E:appAdministratorproduct11.2.0dbhome_64) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:E:appAdministratorproduct11.2.0dbhome_64inoraclr11.dll") ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.30)(PORT = 1521)) ) ) ADR_BASE_LISTENER = E:appAdministrator
上面红色的部分是添加的。
3)重启监听程序
C:UsersAdministrator>lsnrctl stop LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 11-8月 -2017 11:5 1:41 Copyright (c) 1991, 2010, Oracle. All rights reserved. 正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.30)(PORT=1521))) 命令执行成功 C:UsersAdministrator>lsnrctl start LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 11-8月 -2017 11:5 1:50 Copyright (c) 1991, 2010, Oracle. All rights reserved. 启动tnslsnr: 请稍候... TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production 系统参数文件为E:appAdministratorproduct11.2.0dbhome_64 etworkadminlisten er.ora 写入e:appadministratordiag nslsnrWIN-69CON556EF4listeneralertlog.xml的日 志信息 监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.30)(PORT=1521))) 正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.30)(PORT=1521))) LISTENER 的 STATUS ------------------------ 别名 LISTENER 版本 TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ ction 启动日期 11-8月 -2017 11:51:56 正常运行时间 0 天 0 小时 0 分 5 秒 跟踪级别 off 安全性 ON: Local OS Authentication SNMP OFF 监听程序参数文件 E:appAdministratorproduct11.2.0dbhome_64 etwork adminlistener.ora 监听程序日志文件 e:appadministratordiag nslsnrWIN-69CON556EF4list eneralertlog.xml 监听端点概要... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.30)(PORT=1521))) 服务摘要.. 服务 "CLRExtProc" 包含 1 个实例。 实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序... 服务 "orcl" 包含 1 个实例。 实例 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序... 命令执行成功
出现这个说明了监听了orcl实例。
4)再次连接
sqlplus 测试:
C:UsersAdministrator>E:appAdministratorproduct11.2.0client_32BINsqlplus system/manager@orcl SQL*Plus: Release 11.2.0.1.0 Production on 星期五 8月 11 11:57:06 2017 Copyright (c) 1982, 2010, Oracle. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options
plsql测试:
如果还是有错误,请确保你的plsql软件的配置是否正确。