首页  >  文章  >  数据库  >  oracle怎么查询会话数

oracle怎么查询会话数

WBOY
WBOY原创
2022-05-25 10:10:448948浏览

在oracle中,可以利用select语句配合“v$session”来查询数据库的会话数量,“v$session”视图中包含了数据库实例中的每一条会话记录,语法为“select count(*) from v$session;”。

oracle怎么查询会话数

本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

oracle怎么查询会话数

查看系统当前会话的连接数语法如下:

select count(*) from v$session;

oracle怎么查询会话数

查看当前oracle 节点的活跃会话数:

oracle怎么查询会话数

oracle怎么查询会话数

修改数据库最大会话数量:

alter system set processes=500 scope=spfile  (在命令模式下执行)

查看当前数据库最大会话上限:

show parameters processes;

查看当前数据库DBLINK最多可打开的连接数量:

show parameters open_links;

扩展知识:

会话(Session) 是通信双方从开始通信到通信结束期间的一个上下文(Context)。这个上下文是一段位于服务器端的内存:记录了本次连接的客户端机器、通过哪个应用程序、哪个用户登录等信息.

我们可以通过oracle视图v$session来查看当前数据库中的所有会话信息,其中该视图有一列为status标志会话状态,oracle官方文档对这一列定义如下

STATUS
VARCHAR2(8)
Status of the session:
ACTIVE - Session currently executing SQL
INACTIVE
KILLED - Session marked to be killed
CACHED - Session temporarily cached for use by Oracle*XA
SNIPED - Session inactive, waiting on the client

通过我们遇到的都是ACTIVE,INACTIVE,KILLED三种状态

1、active 会话处于活动状态,当前session正在执行sql语句

2、inactive会话处于不活动状态,sql语句已经执行完毕,但是由于某种原因,会话和后台进程没有释放,通过我们在sqlplus中退出和类似plsql developer工具log out或者直接退出,都是直接关闭会话,而不是将会话置于inactive状态,下面以sqlplus命令为例

[oracle@oracle11g ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Thu May 23 23:09:30 2013
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select count(*) from v$process;
COUNT(*)
----------
30
SQL>

推荐教程:《Oracle视频教程

以上是oracle怎么查询会话数的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn