暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 流程限制和会话

askTom 2018-06-01
509

问题描述

你好,


在过去的几天里,在高峰时段,我经常收到以下错误

“侦听器拒绝连接,并出现以下错误: ORA-12519,TNS: 未找到适当的服务处理程序”

我先用谷歌搜索,他们都说 “增加进程数量”

但是我在这里有一些严重的疑问,请帮助我弄清楚。

以下是我的数据库的详细信息。
SHOW PARAMETER PROCESS;


NAME                                               TYPE        VALUE                                                                                                
-------------------------------------------------- ----------- ---------------------------------------------------------------------------------------------------- 
aq_tm_processes                                    integer     0                                                                                                    
cell_offload_processing                            boolean     TRUE                                                                                                 
db_writer_processes                                integer     1                                                                                                    
gcs_server_processes                               integer     0                                                                                                    
global_txn_processes                               integer     1                                                                                                    
job_queue_processes                                integer     1000                                                                                                 
log_archive_max_processes                          integer     4                                                                                                    
processes                                          integer     1000                                                                                                 


SHOW PARAMETER SESSION;


NAME                                               TYPE        VALUE                                                                                                
-------------------------------------------------- ----------- ---------------------------------------------------------------------------------------------------- 
java_max_sessionspace_size                         integer     0                                                                                                    
java_soft_sessionspace_limit                       integer     0                                                                                                    
license_max_sessions                               integer     0                                                                                                    
license_sessions_warning                           integer     0                                                                                                    
session_cached_cursors                             integer     50                                                                                                   
session_max_open_files                             integer     10                                                                                                   
sessions                                           integer     1528                                                                                                 
shared_server_sessions                             integer                                                                                                          

so my session and process parameter values are 1528 and 1000 respectively 
 
When i am executing this query  i would get the current value for session and process,

SELECT RESOURCE_NAME, CURRENT_UTILIZATION, MAX_UTILIZATION, LIMIT_VALUE
FROM V$RESOURCE_LIMIT
WHERE RESOURCE_NAME IN ( 'sessions', 'processes');


RESOURCE_NAME                  CURRENT_UTILIZATION MAX_UTILIZATION LIMIT_VALUE
------------------------------ ------------------- --------------- -----------
processes                                      999            1000       1000  
sessions                                      1007            1009       1528  


我的怀疑是

1) 这是 “max_revalue” 和 “LIMIT_VALUE” 列意味着什么?
2) 进程的LIMIT_VALUE列显示1000这是否意味着我不能将此值更改为更高的值 ???
3) 根据输出的会话值,应该为过程参数设置多少?






专家解答

当前利用率是您现在正在使用的 *
Max_ualization是高水标 (即,自实例启动以来我们所看到的)
LIMIT_VALUE是你不能比

因此,在您的情况下,您已经达到了1000的极限,因此无法开始更多的会话。

在这里要做的两件事

1) 增加您的流程参数来解决问题

2) 对为什么将1000进程连接到数据库进行一些分析。1000 * 可能 * 可以 (例如,每个用户都获得自己的会话的表单环境),或者 * 可能 * 不可以 (例如,设计不良,流程泄漏等)。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论