ORA-12520错误解决方法

ORA-12520错误解决方法
今天用hibernate连接oracle数据库,一直报不存在服务名(具体的错误信息没有记下来,下次记得copy过来),然后我后台用sqlplus登录报ORA-12520听程序无法为请求的服务器类型找到可用的处理程序.在网上找到相关资料,对于这个问题的起因有两种说法
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值,注意这点

你可能感兴趣的:(eclipse,oracle,Hibernate)