Oracle 檢視當前所有會話SQL和等待事件

2021-08-18 03:13:09 字數 1271 閱讀 4275

select t2.sid, t2.serial#, -- 庫級唯一定位乙個session

t1.spid os_pid, -- 作業系統的pid

t3.sql_id, t2.event,-- sqlid和等待事件

t2.p1text, t2.p1, -- 等待事件的p1資訊

t2.p2text, t2.p2, -- 等待事件的p2資訊

t2.p3text, t2.p3, -- 等待事件的p3資訊

t3.sql_fulltext -- 被執行的sql完整內容

from v$process t1, v$session t2, v$sql t3

where t1.addr = t2.paddr

and t2.status = 'active'

-- 表示當前正在執行sql的會話

-- and t2.status = 'inactive'

-- 表示當前等待執行sql的會話

-- and t2.status = 'killed'

-- 表示當前會話正在被殺掉,未提交事務強制回滾

and t2.sql_id = t3.sql_id;

-- t2.sid, t2.serial# 可以用作庫級殺死會話:alter system kill session 't2.sid, t2.serial#';

-- t1.spid os_pid 可以用作系統級殺死會話:kill -9 t1.spid

-- t2.event 和 p1、p2、p3 不同的等待事件的p1、p2和p3的資訊是不盡相同的,具體要查官檔

-- t3.sql_fulltext 是乙個clob型別的字段

去掉注釋,較為清爽的ctrl+c版sql:

select t2.sid, t2.serial#, t1.spid os_pid,

t3.sql_id, t2.event,

t2.p1text, t2.p1, t2.p2text, t2.p2,

t2.p3text, t2.p3, t3.sql_fulltext

from v$process t1, v$session t2, v$sql t3

where t1.addr = t2.paddr

and t2.status = 'active' -- 'inactive'

and t2.sql_id = t3.sql_id;

[toc]

oracle 當前會話

查詢oracle正在執行的sql語句及執行該語句的使用者 select b.sid oracleid,b.username 登入oracle使用者名稱 b.serial spid 作業系統id paddr,sql text 正在執行的sql b.machine 計算機名 from v process...

oracle檢視當前所有資料庫及資料庫基本操作命令

1.oracle 1 啟動 監聽 lsnrctl start 2 進入sqlplus介面 sqlplus nolog sql conn sys jiaxiaoai orcl as sysdba 3 啟動資料庫例項 sql startup 4 檢視當前所有的資料庫 select from v data...

linux下查詢當前所有連線的ip

linux 系統有很多用於快速處理資料的工具如 grep awk cut sort uniq sort 可以幫助我們分析網路情況 他們非常非常地好用 如果你熟練掌握他們的使用技巧 他們則可以幫你快速定位問題 接下來一步步來檢視訪問系統的 ip 情況 通過 netstat ntu 找出通過 tcp 和...