ORA-12518 TNS:监听程序无法分发客户机连接 解决办法

在网上查了一下,主要有以下三种解决方案:

一、listener文件中的GLOBAL_DBNAME ,SID_NAME可能与实例名称不符,修改后,重启listener.

二、专有服务器模式下processes值设的过小。可通过以下方法解决:

    1.cmd

    2.sqlplus

    3.connect sys/test as sysdba

    4.查看会话数、processes、sessions

    SQL> select count(*) from v$session;

         COUNT(*)

        ----------

           45

    SQL> show parameter processes

    NAME                                 TYPE        VALUE

    db_writer_processes                  integer     1

    gcs_server_processes                 integer     0

    job_queue_processes                  integer     10

    log_archive_max_processes            integer     2

    processes                            integer     50


    SQL> show parameter sessions

    NAME                                 TYPE        VALUE

    java_soft_sessionspace_limit         integer     0l

    icense_max_sessions                 integer     0

    license_sessions_warning             integer     0

    logmnr_max_persistent_sessions       integer     1

    sessions                             integer     60

    shared_server_sessions               integer

    5.修改processes和sessions值:sessions=(1.1*process+5)

    SQL> alter system set processes=300 scope=spfile;

   系统已更改。
  SQL
> alter system set sessions=335 scope=spfile;

    系统已更改。

    6.重启数据库,使更改生效

三、共享模式下

    1.show parameters dispatchers;

    NAME                TYPE             VALUE
    dispatchers         string           (protocol=tcp)(service=oracle10xdb)

    max_dispatchers      integer  

    2.确定是否有足够的dispatchers

    SQL> select  name, (busy/(busy + idle)) "dispatcher busy rate" from v$dispatcher ;   

    NAME dispatcher busy rate

    ---- --------------------
    D000           .000121704
    D001           .000042597

    D002           .004935402  

    如果超过50%,则需要考虑增加更多的dispatchers;

    3.改变dispathchers:

    SQL>alter system set dispatchers = '(protocol=tcp)(dispatchers=3)(service=oracle10xdb)';

    system altered

四、PGA内存设置太小

    注:该方法没试过。


参考以下链接:

1.http://www.cnoracle.com/archives/474

2.http://www.cnblogs.com/freedom831215/archive/2010/05/12/1733859.html

3.http://blog.csdn.net/wudi_1982/archive/2007/06/08/1643610.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ORA-12518错误意味着监听程序无法处理客户机连接请求。这个错误通常在数据库服务器上出现,表示数据库监听程序已达到其最大连接限制。 常见的原因是服务器资源不足,例如CPU或内存不足以处理所有连接请求。此外,网络延迟或故障也可能导致该错误。 解决这个问题的方法包括: 1. 增加监听程序的最大连接数:可以通过修改监听程序的配置文件(通常是listener.ora)来增加最大连接数。找到类似“max_connections”的参数并适当增加该值。 2. 增加服务器资源:通过增加服务器的CPU、内存等资源,可以提高服务器的处理能力,从而处理更多的连接请求。 3. 检查网络连接:查看网络连接是否稳定,并确保没有存在网络故障。可以尝试使用网络诊断工具,如ping命令,来检测网络延迟和丢包情况。 4. 优化数据库配置:通过优化数据库的配置参数,如连接池大小或连接超时时间,可以更有效地利用数据库资源,从而减少连接的负担。 5. 分析并限制不必要的连接:检查数据库连接情况,排查是否有不必要的连接存在。可以通过查询数据库的v$session视图来获取连接信息,并关闭不需要的会话。 需要注意的是,解决ORA-12518错误可能需要一些系统维护和数据库管理的知识。如果没有相关的经验,建议寻求专业人士的帮助来解决这个问题,以防止对系统造成不良影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值