【发布时间】:2017-01-21 02:11:07
【问题描述】:
这是我的 oracle 11.2.0 配置
Listener.ora:
LISTENER_ORCL =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = ORCL))
(ADDRESS = (PROTOCOL = TCP)(HOST =localhost)(PORT = 1521))
)
)
Tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
我在 Windows 8 机器上以管理员用户身份启动 OracleServieORCL。然后在同一个系统上,我使用 sqldevloper (4.0.1) 以用户名 system 和密码 admin 连接到 SID ORCL(admin 是安装时给出的密码)
我收到错误 ORA-12518:TNS:Listener could not hand off client connection.
我尝试重新安装软件,但没有帮助。我的盒子上安装了 Java 8 (8-101) 版本。
lsnrctl services
LSNRCTL for 64-bit Windows: Version 11.2.0.2.0 - Production on 14-SEP-2016 12:02:11
Copyright (c) 1991, 2014, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
Service "XEXDB" has 1 instance(s).
Instance "xe", status READY, has 1 handler(s) for this service...
Handler(s):
"D000" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: <system_name>, pid: 2808>
(ADDRESS=(PROTOCOL=tcp)(HOST= <system_name>)(PORT=52707))
Service "xe" has 1 instance(s).
Instance "xe", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:17 refused:0 state:ready
LOCAL SERVER
The command completed successfully
【问题讨论】:
-
您说 <... oracleserviexe...> 这意味着您的 service_name 是 XE。将“SERVICE_NAME = ORCL”替换为“SERVICE_NAME = XE”。我不确定这会解决您的问题,因为 ORA 消息说问题出在其他问题上。你能在 CMD 中运行“lsnrctl services”并显示输出吗?
-
"lsnrctl service" 显示您的服务名称是 xe - 因此请尝试在您的 tnsnames.ora 中将“SERVICE_NAME = ORCL”替换为“SERVICE_NAME = XE”,如果在此之后您在连接过程中会出现错误,我们会努力解决的。
-
状态:失败 - 测试失败:监听器拒绝连接并出现以下错误:ORA-12505,TNS:监听器当前不知道连接描述符中给出的 SID
-
请确保您的主机上只运行一个侦听器。如果您刚刚重新启动了侦听器 - 等待 1 分钟,以便 Oracle 在侦听器中注册。 ORA 错误对我来说看起来很奇怪,因为我从 xe 已注册的“lsnrctl 服务”中看到。另一种思路是:1)删除listener.ora文件2)重启listener服务3)等待1分钟4)尝试连接。