• ORACLE -- ORA-12520


    ORA-12520监听程序无法为请求的服务器类型找到可用的处理程序

    以下不知道是不是解决方法的方法,因为我只重启下oracle服务就好了,并没进行任何修改

    引用别人的文章:

    1)数据库是专用服务器,但是在tnsname.ora配置中设置了连接方式为shared,这种情况下打开tnsname.ora,

       把(server = shared)改成(server = dedicate)

    2)是由于process不够引起的

       后来查看到v$process一直涨到140多,而我的数据库设置的是150.据此大致能断定process不够,

       用以下语句修改数据库的processes值

       alter system set processes=500 scope=spfile(由于processes是静态参数,scope只能为spfile,

       在v$sgastate条件为'procesees'中可以看到会每个process会点4个字节),

       重新启动数据库使新改的processes生效.再重新跑eclipse,就能正常启动了.

       note:如果在hibernate中的hibernate.connection.provider_class选择的是c3p0的就会出这种情况,其它的好像不会.

       很奇怪为什么c3p0会打开那么多个processs, 在shared连势接方式下,shared_server即是一直连在数据库的process值,注意这点

    当前的连接数

    select count(*) from v$process;


    设置的最大连接数

    select value from v$parameter where name = 'processes'; 


    修改最大连接数

    alter system set processes = 500 scope = spfile; 


    以上内容第一条我的server已经是dedicate的 所以不是这个问题。

    至于第二条我查看下连接数确实很高。我设置的最大连接数为500,当前连接数已达490多。所以肯定是这个问题

    我没有进行修改最大连接数 而是重启下oracle 当前连接数就一下子回到了两位数。问题解决

    修改最大连接数后记得要重启oracle

  • 相关阅读:
    单例模式
    maven版本对应的jdk
    DateUtil
    多级反向代理java获取真实IP地址
    springcloud初次zuul超时报错com.netflix.zuul.exception.ZuulException:Forwarding error
    spring cloud-config的client中/refresh的端点报错401
    spring Cloud-eureka的保护模式
    spring cloud的配置
    spring boot部署中executable的系统服务
    登陆SQL Server 2000数据库提示超时已过期的解决方法
  • 原文地址:https://www.cnblogs.com/jijm123/p/12401194.html
Copyright © 2020-2023  润新知