首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ORA-12518: TNS:侦听器无法放弃客户端连接OracleXE11.2 x64

ORA-12518: TNS:侦听器无法放弃客户端连接OracleXE11.2 x64
EN

Database Administration用户
提问于 2014-06-27 09:03:14
回答 3查看 64.5K关注 0票数 1

我开始对甲骨文感到非常沮丧。所以,我安装了OracleXE11.2 64位和ODAC121012_x64。

我可以启动侦听器;我可以执行tnsping;但是当我试图以sqlplus作为系统连接时,我得到的是:

代码语言:javascript
复制
ERROR:
ORA-12518: TNS:listener could not hand off client connection

以下是我的配置文件:

tnsnames.ora:

代码语言:javascript
复制
XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

ORACLR_CONNECTION_DATA = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    ) 
    (CONNECT_DATA = 
      (SID = CLRExtProc) 
      (PRESENTATION = RO) 
    ) 
  ) 

listener.ora:

代码语言:javascript
复制
SID_LIST_LISTENER =
  (SID_LIST =
     (SID_DESC =
                           (SID_NAME = XE)
       (ORACLE_HOME =  C:\oraclexe\app\oracle\product\11.2.0\server)
     )

    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

sqlnet.ora:

代码语言:javascript
复制
# This file is actually generated by netca. But if customers choose to 
# install "Software Only", this file wont exist and without the native 
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES = (NTS)

帮助是非常需要的,并将得到更多的赞赏!

EN

回答 3

Database Administration用户

发布于 2016-02-29 11:31:33

我在Windows (使用oracle 11g)中有这个问题,因为运行侦听器服务的用户不是administrators组的一部分.一旦添加到管理员组中,就可以了。

票数 2
EN

Database Administration用户

发布于 2016-02-29 12:59:37

要理解问题并尝试修复它,您需要检查相关日志: listener.log、警报日志、跟踪文件等。

可能的原因和解决办法:

  • 听众问题:

通过执行以下命令,确保没有错误消息,监听器已启动并运行:

代码语言:javascript
复制
lsnrclt status

如果侦听器已关闭,请检查以下内容,可以帮助您解决此问题:

  1. 可能是网络错误:检查偶数日志中的任何网络错误并修复它们。
  2. 服务停止或在尝试启动时失败:start--->run--->services.msc对oracle侦听器服务的搜索应该像OracleInstancename一样尝试启动它,如果它无法启动,它将在侦听器错误和窗口错误号中抛出一个异常。请提供错误

听众解决办法:

向侦听器添加以下参数:

代码语言:javascript
复制
DIRECT_HANDOFF_TTC_LISTENER=OFF
  • 数据库问题:

1.数据库服务器内存足够用于新连接。

  1. 数据库连接参数,如:专用服务器,请从v$resource_limit where resource_name=’processes’中检查进程参数或查询;选中的max_utilization必须小于Limit_value或共享服务器,验证large_pool_size或check dispatcher对所有连接都足够。
票数 2
EN

Database Administration用户

发布于 2017-03-29 12:55:47

如果您有一个具有systemd 228或更高版本的Linux系统,ORA-12518或TNS-12518可能会发生。默认情况下,Systemd将每个cgroup的线程数限制为512。如果您有多个连接或多个实例或RAC或.,则很容易达到此限制。

最简单的修复:编辑/etc/systemd/system.conf和set

代码语言:javascript
复制
DefaultTasksMax=infinity
票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/69184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档