oracle会话查询
时间: 2023-12-05 10:06:12 浏览: 113
以下是Oracle会话查询的方法:
1.查询当前所有会话
```sql
SELECT * FROM v$session;
```
2.查询当前所有活跃的会话
```sql
SELECT * FROM v$session WHERE status = 'ACTIVE';
```
3.查询当前所有等待事件的会话
```sql
SELECT * FROM v$session WHERE wait_class != 'Idle';
```
4.查询当前所有锁定的会话
```sql
SELECT * FROM v$session WHERE blocking_session IS NOT NULL;
```
5.查询当前所有正在执行的SQL语句
```sql
SELECT s.sid, s.serial#, s.username, s.osuser, s.program, s.machine, s.terminal, s.sql_id, t.sql_text
FROM v$session s, v$sqltext_with_newlines t
WHERE s.sql_id = t.sql_id
AND s.status = 'ACTIVE'
AND s.username IS NOT NULL;
```
相关问题
oracle kill掉会话
Oracle数据库中,可以使用KILL SESSION命令来终止一个会话。该命令需要指定会话的SID和SERIAL#,可以通过查询V$SESSION视图或者V$PROCESS视图来获取这些信息。在执行KILL SESSION命令时,Oracle会发送一个中断信号给客户端进程,告诉它结束该会话。需要注意的是,KILL SESSION命令只能终止普通会话,不能终止系统会话或者终止正在执行的SQL语句。
如何查询Oracle当前连接的会话数量,连接的来源IP等信息
可以使用如下 SQL 语句查询 Oracle 数据库当前连接的会话数量和连接的来源 IP 等信息:
```
SELECT COUNT(*) AS "Sessions",
MACHINE,
PROGRAM,
USERNAME
FROM V$SESSION
GROUP BY MACHINE, PROGRAM, USERNAME;
```
运行该 SQL 语句后,会返回一个结果集,其中包含当前连接的会话数量、连接的来源机器名和程序名、连接的用户名等详细信息。其中,`V$SESSION` 视图是 Oracle 数据库中提供关于当前会话信息的视图之一,可以用来查询当前连接到数据库实例的会话信息。
阅读全文