A session can hang for a lot of reason that are called wait event.
A lock can give also the same impression
From SQL Developer, in the Monitoring Session Tools:
Every wait event belongs to a class of wait event. The following list describes each of the wait classes.
Information about wait events is displayed in this views:
If the configuration parameter TIMED_STATISTICS is set to true, you can now how long each resource was waited for.
Because VSESSION_WAIT is a current state view, it also contains a finer-granularity of information than VSESSION_EVENT or VSYSTEM_EVENT. It includes additional identifying data for the current event in three parameter columns: P1, P2, and P3.
For example, VSESSION_EVENT can show that session 124 (SID=124) had many waits on the db file scattered read, but it does not show which file and block number. However, VSESSION_WAIT shows:
(P1 and P2 let you determine for which segments the wait event is occurring).