数据库专用、共享服务连接报ORA-12520

来源:这里教程网 时间:2026-03-03 19:37:26 作者:

业务报错:

检查process配置及连接数均正常,没有达到上限。

监听日志查看,发现既有专用模式连接,又有共享模式连接: 专用模式正常,查看资源使用情况,没有达到上限, select * from v$resource_limit; 那么检查共享模式连接,使用情况查看 SQL> set linesize 180 SQL> select s.name,s.paddr,s.status,p.addr,p.spid,p.program from v$shared_server s,v$process p where s.PADDR=p.ADDR; select to_char(dhs.begin_interval_time,'yyyy-mm-dd hh24:mi:ss'), to_char(dhs.end_interval_time,'yyyy-mm-dd hh24:mi:ss'), li.resource_name, li.current_utilization, li.max_utilization, li.initial_allocation, li.limit_value from dba_hist_resource_limit li, dba_hist_snapshot dhs where li.snap_id = dhs.snap_id and li.resource_name = 'max_shared_servers'; 默认情况共享模式是5个连接。服务器配置SQL> alter system set max_shared_servers=15;System altered.SQL> alter system set shared_servers=5;System altered.SQL> alter system set max_dispatchers=15;System altered.SQL> alter system set dispatchers='(PROTOCOL=TCP) (disp=5)';System altered.SQL> show parameter shared_serverNAME                                 TYPE        VALUE


max_shared_servers                   integer 15 shared_servers                       integer     5SQL> show parameter dispatchersNAME                                 TYPE        VALUE


dispatchers                          string      (PROTOCOL=TCP) (disp=5) max_dispatchers                      integer 15配置了5个共享服务进程,最大可以增加到15个

当然了,当前客户要求不使用共享模式,所以关闭共享模式,使用专用模式。

设置max_shared_servers, shared_server_sessions为0,关闭了共享模式,检查监听日志,新进连接是否都是专用模式。

相关推荐