如何检查允许连接到Oracle数据库的最大数量?

使用SQL最好的方法是检查Oracle数据库允许的最大连接数。 最后,我想显示当前的会话数量和允许的总数量,例如“目前使用80个连接中的23个”。

在确定Oracle数据库支持的连接数量时,可能会遇到一些不同的限制。 最简单的方法是使用SESSIONS参数和V $ SESSION,即

数据库configuration允许的会话数量

SELECT name, value FROM v$parameter WHERE name = 'sessions' 

当前活动的会话数量

 SELECT COUNT(*) FROM v$session 

正如我所说,尽pipe在数据库级别和操作系统级别还有其他潜在的限制,并取决于是否configuration了共享服务器。 如果共享服务器被忽略,那么在达到SESSIONS参数的限制之前,您可能会碰到PROCESSES参数的限制。 而且您可能会遇到操作系统限制,因为每个会话都需要一定数量的RAM。

我认为这将工作,根据这个来源 。

 SELECT 'Currently, ' || (SELECT COUNT(*) FROM V$SESSION) || ' out of ' || DECODE(VL.SESSIONS_MAX,0,'unlimited',VL.SESSIONS_MAX) || ' connections are used.' AS USAGE_MESSAGE FROM V$LICENSE VL 

然而,贾斯廷洞穴是正确的。 该查询提供了更好的结果:

 SELECT 'Currently, ' || (SELECT COUNT(*) FROM V$SESSION) || ' out of ' || VP.VALUE || ' connections are used.' AS USAGE_MESSAGE FROM V$PARAMETER VP WHERE VP.NAME = 'sessions' 

sessions参数是从进程参数派生的,并在更改最大进程数时相应地改变。 有关更多信息,请参阅Oracle文档 。

只获取有关会话的信息:

  select current_utilization, limit_value from v$resource_limit where resource_name='sessions'; 
 CURRENT_UTILIZATION LIMIT_VALUE
 ------------------- -----------
                 110 792

试试这个来显示两者的信息:

  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
 ------------- ------------------- --------------- --- --------
进程96 309 500
会议104 323 792

如果要获取群集中的会话总数,请使用gv $ session for RAC。

注意:这只能回答问题的一部分。

如果您只想知道允许的最大会话数,那么您可以在sqlplus中执行as sysdba:

 SQL> show parameter sessions 

这给你一个输出,如:

  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 sessions integer 248 shared_server_sessions integer 

会议参数是你想要的。

 select count(*),sum(decode(status, 'ACTIVE',1,0)) from v$session where type= 'USER' 

v $ resource_limit视图对我来说非常有趣,以便浏览oracle会话,进程..:

https://bbdd-error.blogspot.com.es/2017/09/check-sessions-and-processes-limit-in.html