Mooks, can you check your wait events for which the query execution is waiting on.

select sid, event, total_waits,average_wait, time_waited/100 Time_Waited_in_seconds, max_wait
from v$session_event
where sid = &sid;

Cheers