dbcc inputbuffer(@@spid)
select
t.SID,
t.STATUS as "SESSION状态", -- active状态正在对当前系统资源造成影响
u.SPID as "AIX进程ID", -- 数据库服务进程对应的PID
u.PGA_USED_MEM as "会话内存", -- ORACLE服务进程所占内存
w.PHYSICAL_READS as "物理I/O读", -- 读的数据块数
w.CONSISTENT_GETS as "一致性获得",
w.BLOCK_CHANGES as "改变的数据块数", -- 改变的数据块数
t.PROGRAM as "客户端执行程序名",
t.MACHINE as "客户端机器名",
t.COMMAND as "正在执行的操作",
t.LOGON_TIME as "登录时间",
u.PID as "ORACLE内部进程ID",
t.USERNAME as "ORACLE用户名",
t.LOCKWAIT as "等待锁",
t.SERVER as "ORACLE服务进程类型",
s.SQL_TEXT as "当前执行的SQL语句",
t.PREV_SQL_ADDR as "前条SQL地址", -- 可与v$sql关联查找上一条执行的SQL语句
lpad(to_char(round(u.PGA_USED_MEM/u.PGA_ALLOC_MEM*100)),2,0) || '%' as "会话内存已使用",
t.SERIAL#,
t.TYPE as "SESSION类型",
t.AUDSID
from v$session t
left join v$sql s on (t.SQL_HASH_VALUE = s.HASH_VALUE) -- 得知执行的SQL语句
left join v$process u on (t.PADDR = u.ADDR) -- 得知对应的数据库服务进程的PID
left join v$sess_io w on (t.SID = w.SID) -- 得知会话的IO情况
left join v$session_event x on (x.SID = t.SID and x.EVENT = 'db file sequential read')
博客给出一段SQL代码,用于查询ORACLE数据库的会话信息。代码通过多个表连接,获取会话状态、AIX进程ID、会话内存、物理I/O读等信息,还能关联查找上一条执行的SQL语句,以全面了解数据库会话情况。
26万+

被折叠的 条评论
为什么被折叠?



