Is the problem due to a slow/hung query or is the entire database affected? Try running the following SQL statement in SQL*Plus:
select inst_id, sid, state, event, seconds_in_wait seconds
from gv$session_wait
where seconds_in_wait > 5
and event not in ('rdbms ipc message','smon timer','pmon timer',
'SQL*Net message from client','lock manager wait for remote message',
'ges remote message', 'client message', 'SQL*Net more data from client',
'pipe get', 'Null event', 'PX Idle Wait', 'single-task message',
'PX Deq: Execution Msg', 'KXFQ: kxfqdeq - normal deqeue', 'listen endpoint status',
'slave wait','wakeup time manager');
If the query does not return, you may have a hung database.
If the query returns no rows, you may have database performance issues.
If the query returns rows, you may have hung sessions.