morn_memory
作者morn_memory·2012-07-02 17:14
BI技术总监·abcdef

Oracle九大性能视图 v$session

字数 1886阅读 463评论 0赞 0
根据lockwait字段可以查询当前正在等待的锁的相关信息:ITPUB个人空间y,a7n3gpy fn
select * from v$lock where kaddr in (select lockwait from v$session where sid=&sid);

(sql_address,sql_hash_value),(prev_sql_addr,prev_hash_value) 根据这两组字段, 可以查询到当前session正在执行的或最近一次执行的sql语句的详细信息:
/e$Z%Hl7q0select * from v$sqltext where address = &sql_address and hash_value = &sql_hash_value;

根据PID查SQL相关信息
Ij ~�i&C ]S0select id,serial# ,username,osuser,machine,program,process,to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') logon from v$session where paddr in ( select addr from v$process where spid in('&pid'));

根据PID查SQL语句
C8kN~FI;m0SELECT a.username,a.machine,a.program,a.sid,a.serial#,a.status,c.piece,c.sql_text FROM v$session a,v$process b,v$sqltext c WHERE b.spid='&spid' AND b.addr=a.paddr AND a.sql_address=c.address(+) ORDER BY c.piece;

得到进程的sid号:ITPUB个人空间(wDzZ6r.V8@#oTc
select id,serial# ,username,osuser,machine,program,process,to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') logon from v$session where paddr in ( select addr from v$process where spid in('&pid'));

得到session的sqltext语句:ITPUB个人空间s:{Z_ a&K
select sql_text from v$sqltext_with_newlines where hash_value in (select SQL_HASH_VALUE from v$session where paddr in (select addr from v$process where spid= '&pid')) order by piece;

根据SID查得SQL
a0MxC Qs U0select sql_textITPUB个人空间%jo1].^7e}+w/5XB
   from v$sqltext aITPUB个人空间 b�O-C6u3u W)Y
   where a.hash_value=(select sql_hash_valueITPUB个人空间+{I8gXO/e(ai
                        from v$session b
Lv"bR?Z0                       where b.SID='&sid')
D'Gsl2M$d [ i {.Y�j0order by piece ASC

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广