在线系统中oacle服务器登录报错ORA-12537,查询系统:
SQL> show parameters process
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 4
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 400
SQL> select count(*) from v$process;
COUNT(*)
----------
273
没有超过最大连接数,查询v$resource_limit:
SQL> set lin 200 pagesize 2000
SQL> select * from v$resource_limit;
RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_ALLOCATION LIMIT_VALUE
------------------------------ ------------------- --------------- ------------------------------ ------------------------------
processes 399 400 400 400
sessions 278 445 445 445
enqueue_locks 22 665 6240 6240
PMON向LISTENER通报负载的时候是参考V$RESOURCE_LIMIT的值的,因此造成了LISTENER错误的拒绝连接
从MOS中查到了一个bug如下:
3896119 CURRENT_UTILIZATION OF V$RESOURCE_LIMIT IS UNUSUAL BIGGER THAN PROCESSES
需要打P3896119
另外当你的内存等资源不足的时候也会出现上述连接错误
另外学习一下视图:
这个视图显示某些系统资源的全局资源应用信息。可利用这个视图监控资源的使用情况,以便有必要时能够采取正确的措施。许多资源对应于表7-3所列出的初始化参数。
列名 | 数据类型 | 说明 |
---|---|---|
RESOURCE_NAME | VARCHAR2(30) | 资源名 (Table 7-3) |
CURRENT_UTILIZATION | NUMBER | 当前在用的数目(资源、锁或进程) |
MAX_UTILIZATION | NUMBER | 自最后一个实例启动以来这个资源的最大消耗 |
INITIAL_ALLOCATION | VARCHAR2(10) | 初始分配。这个值将等于初始化参数文件中为此资源指定的值。(无限制分配为UNLIMITED) |
LIMIT_VALUE | VARCHAR2(10) | 对资源和锁无限制。它可大于初始分配值。(无限制为UNLIMITED) |
RESOURCE_NAME值:
SQL> select * from v$resource_limit;
RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_ALLOCATION LIMIT_VALUE
------------------------------ ------------------- --------------- ---------------
processes 27 72 800 800
sessions 32 80 885 885
enqueue_locks 32 171 10750 10750 --
enqueue_resources 32 99 4112 UNLIMITED
ges_procs 0 0 0 0 --Global Enqueue Service processes
ges_ress 0 0 0 UNLIMITED --Global Enqueue Service resources
ges_locks 0 0 0 UNLIMITED --Global Enqueue Service locks
ges_cache_ress 0 0 0 UNLIMITED
ges_reg_msgs 0 0 0 UNLIMITED
ges_big_msgs 0 0 0 UNLIMITED
ges_rsv_msgs 0 0 0 0
gcs_resources 0 0 0 0
gcs_shadows 0 0 0 0
dml_locks 0 101 3892 UNLIMITED --oracle TM锁的个数
temporary_table_locks 0 92 UNLIMITED UNLIMITED
transactions 0 8 973 UNLIMITED
branches 0 0 973 UNLIMITED
cmtcallbk 0 1 973 UNLIMITED
sort_segment_locks 0 8 UNLIMITED UNLIMITED
max_rollback_segments 11 11 973 65535
max_shared_servers 0 0 UNLIMITED UNLIMITED
parallel_max_servers 0 40 40 3600 --Shared Server Processes模式使用