首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何检查Oracle数据库允许的最大连接数?

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

Stack Overflow用户
提问于 2008-10-02 13:27:00
回答 6查看 509.8K关注 0票数 96

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

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-10-02 13:53:36

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

数据库配置为允许的会话数

代码语言:javascript
复制
SELECT name, value 
  FROM v$parameter
 WHERE name = 'sessions'

当前活动的会话数量

代码语言:javascript
复制
SELECT COUNT(*)
  FROM v$session

但是,正如我所说的,在数据库级别和操作系统级别都有其他潜在的限制,这取决于是否配置了共享服务器。如果忽略共享服务器,则在达到会话参数的限制之前,很可能会达到进程参数的限制。而且您可能会遇到操作系统的限制,因为每个会话都需要一定数量的RAM。

票数 126
EN

Stack Overflow用户

发布于 2008-10-02 13:52:43

我认为这是可行的,基于this source

代码语言:javascript
复制
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

然而,贾斯汀·凯夫是对的。此查询可提供更好的结果:

代码语言:javascript
复制
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'
票数 35
EN

Stack Overflow用户

发布于 2014-06-16 16:10:49

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

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

代码语言:javascript
复制
SQL> show parameter sessions

这将为您提供类似如下的输出:

代码语言:javascript
复制
    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

sessions参数是您想要的参数。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/162255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档