########################## Current running sessions ########################## select sid,username,status,event,row_wait_obj#,sql_id,blocking_session,blocking_instance from gv$session where blocking_session is not null; ############################ If its with in < than 2 hours, ########################### SELECT DISTINCT A.SQL_ID,TO_CHAR(A.SAMPLE_TIME,'YYYY-MM-DD HH24:MI:SS') SAMPLE_TIME,A.BLOCKING_SESSION,D.OBJECT_NAME,S.SQL_TEXT FROM v$ACTIVE_SESSION_HISTORY A, GV$SQL S, DBA_OBJECTS D WHERE A.SQL_ID=S.SQL_ID AND BLOCKING_SESSION IS NOT NULL AND A.USER_ID <> 0 AND A.CURRENT_OBJ# = D.OBJECT_ID AND A.SAMPLE_TIME BETWEEN TO_TIMESTAMP('14-SEP-2017 02:00:00', 'DD-MON.YYYY HH24:MI:SS') AND TO_TIMESTAMP('14-SEP-2017 12:00:00', 'DD-MON-YYYY HH24:MI:SS') AND A.EVENT = 'enq: TX - row lock contention' ORDER BY SAMPLE_TIME DESC; ############################ If its more than 2 hours ########################### SELECT DISTINCT A.SQL_ID,TO_CHAR(A.SAMPLE_TIME,'YYYY-MM-DD HH24:MI:SS') SAMPLE_TIME,A.BLOCKING_SESSION,D.OBJECT_NAME,S.SQL_TEXT FROM DBA_HIST_ACTIVE_SESS_HISTORY A, GV$SQL S, DBA_OBJECTS D WHERE A.SQL_ID=S.SQL_ID AND BLOCKING_SESSION IS NOT NULL AND A.USER_ID <> 0 AND A.CURRENT_OBJ# = D.OBJECT_ID AND A.SAMPLE_TIME BETWEEN TO_TIMESTAMP('14-SEP-2017 02:00:00', 'DD-MON.YYYY HH24:MI:SS') AND TO_TIMESTAMP('14-SEP-2017 12:00:00', 'DD-MON-YYYY HH24:MI:SS') AND A.EVENT = 'enq: TX - row lock contention' ORDER BY SAMPLE_TIME DESC;