欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 根据v$wait_chains找到造成等待的SQL

程序员文章站 2022-05-26 20:49:10
...

Oracle 根据v$wait_chains找到造成等待的SQL

几个视图的功能,来自官方文档
v$sqltext
V$SQLTEXT displays the text of SQL statements belonging to shared SQL cursors in the SGA.

V$SESSION
V$SESSION displays session information for each current session.

v$wait_chains
V$WAIT_CHAINS
displays information about blocked sessions. A wait chain is comprised of sessions that are blocked by one another. Each row represents a blocked and blocker session pair. If a wait chain is not a cyclical wait chain, then the last row for the chain does not have a blocker.

找到造成等待的SQL

  • select * from v$sqltext
  • where
  • (hash_value,address) in
  • (
  • SELECT DECODE(sql_hash_value, 0, prev_hash_value, sql_hash_value),
  • DECODE(sql_hash_value, 0, prev_sql_addr,sql_address)
  • FROM v$session
  • where sid in (select sid from v$wait_chains)
  • );
  • Oracle 根据v$wait_chains找到造成等待的SQL