Use the gv $ session to see if the request is hanging

I have a query running in Oracle that may or may not be visible. It works for ~ 10 hours, but depending on the amount of data that I download, this may be unreasonable.

I watched a session in a gv $ session and wondered if there is a way to translate this information to see if any action is really happening, or if the request is stuck waiting for a lock or otherwise freezes.

I already read the documentation for this view here . I am mostly looking for advice from those who have experience debugging these types of problems in Oracle.

Thank!

+5
source share
3 answers

gv$session event , . - , , event , (, "enq: TX - ", , , ) blocking_instance blocking_session . seconds_in_wait (if wait_time=0), , . , "", , - - , , "", , / , , - , .

+7

, , :

select s.sid, 
       s.username,
       s.machine,
       s.osuser, 
       cpu_time,
       (elapsed_time/1000000)/60 as minutes,
       sql_text
from gv$sqlarea a, gv$session s
where s.sql_id = a.sql_id
and s.machine like '####';


select lo.*, 
       a.sql_text
from gv$sqlarea a, gv$session_longops lo
where lo.sql_id = a.sql_id
and lo.sid = ####
order by lo.start_time;
+3

select a.SID, a.SERIAL#, c.OBJECT_NAME 
from v$session a, v$locked_object b, user_objects c
where a.SID=b.SESSION_ID and b.OBJECT_ID=c.OBJECT_ID
0

All Articles