- 论坛徽章:
- 0
|
看来是比较典型的ORACLE ERP应用.现在的问题是在SESSION的级别上找到非空闲的WAIT事件,然后具体看下等待的是什么资源,从而找出问题。
1,执行这个SQL求等待事件
select sid,event,p1 as file_id, p2 as "block_id/latch", p3 as blocks,l.name
from v$session_wait sw,v$latch l
where event not like '%SQL%' and event not like '%rdbms%'
and event not like '%mon%' and sw.p2 = l.latch#(+);
2,找到热点
select owner,segment_name,segment_type
from dba_extents
where file_id = &file_id and &block_id between block_id
and block_id + &blocks - 1;
3,找到正在执行的问题SQL
select sql_text
from v$sqltext_with_newlines st,v$session se
where st.address=se.sql_address and st.hash_value=se.sql_hash_value
and se.sid =&wait_sid order by piece; |
|