ORACLE:侦听器无法切换​​连接错误

ORACLE: Listener could not hand off Connection error

这是我的 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) 连接到 SID ORCL,用户名为 system,密码为 admin(admin 是在安装过程中给出的密码)

我收到错误 ORA-12518:TNS:Listener 无法切换客户端连接。

我尝试重新安装软件,但没有帮助。我的盒子上安装了 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

我遇到过这种情况,我通过在 listener.ora 中将 localhost 替换为 127.0.0.1 来修复它(然后重新启动侦听器)。我在 tnsnames.ora 中进行了相同的更改,然后我能够成功连接。

另外,请将 tnsnames.ora 文件中的 "SERVICE_NAME" 替换为 "SID",因为您正在尝试使用 SID 进行连接。

好的,经过几天的调试,终于知道安装没有在系统注册表中注册,当我通过管理员权限重新安装时,它工作正常。

我遇到了同样的问题。我将 "oracle home" 帐户添加到 "Administrator" 组,然后重新启动了侦听器和数据库。这解决了问题。就我而言,我是 运行 Oracle 12c,Windows Server 2008 R2。