oracle会话查询
时间: 2023-12-05 21:06:12 浏览: 31
以下是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会话丢失
Oracle会话丢失是指会话ID无效或丢失的情况。根据引用中的错误代码列表,ORA-00026是指丢失或无效的会话ID,而ORA-00027是指无法删除当前会话。这些错误代码表明会话在某些情况下可能会丢失或无效,导致无法继续正常进行。然而,具体的会话丢失原因可能涉及多种因素,包括网络故障、数据库崩溃、超出最大会话数等。要解决会话丢失问题,可以尝试重新建立会话或修复数据库相关问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [oracle killed会话不释放的问题](https://blog.csdn.net/weixin_29340419/article/details/116479010)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [ORACLE错误码大全](https://download.csdn.net/download/xuyo_wx/8245699)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
oracle查询block会话,oracle会话阻塞查询脚本及对应字段含义
查询Oracle会话阻塞情况可以使用以下脚本:
```
SELECT s1.SID || ',' || s1.SERIAL# AS blocker, s2.SID || ',' || s2.SERIAL# AS waiter, l.TYPE, l.ID1, l.ID2, l.CTIME
FROM V$LOCK l, V$SESSION s1, V$SESSION s2
WHERE s1.SID = l.SID AND s2.SID = l.BLOCKING_SESSION AND l.TYPE = 'TM'
ORDER BY l.CTIME;
```
该脚本会返回阻塞会话的SID和SERIAL#,以及被阻塞的会话的SID和SERIAL#,锁的类型(如TM表示事务锁),以及锁的对象ID1和ID2,以及锁的创建时间。
其中,SID和SERIAL#是会话的标识符,ID1和ID2是锁的对象ID(通常是表或索引的ID)。CTIME是锁的创建时间。
另外,如果想要查询某个会话的信息,可以使用以下脚本:
```
SELECT s.sid, s.serial#, s.username, s.osuser, s.machine, s.program, s.sql_id, s.sql_child_number, s.status
FROM v$session s
WHERE s.sid = <sid>;
```
该脚本会返回指定会话的SID、SERIAL#、用户名、操作系统用户、客户端机器名、客户端程序名、当前执行的SQL语句ID和子程序ID、以及会话状态。