Login as sysdba
oradebug hanganalyze 3;
wait 2 minutes and note the location of the trace file
oradebug hanganalyze 3;
Start another sqlplus session as sysdba
ALTER SESSION SET EVENTS '10998 trace name context forever, level 1';
alter session set events 'immediate trace name SYSTEMSTATE level 10';
After generating the dumps, used the UNIX top command to look for Oracle processes that were hung. Found an Oracle user process that was using 99% CPU and all of the other Oracle processes were "waiting". So, I decided to kill the process. First I did ps -ef pipe to grep 99999 (where 99999 is the PID) to see what this process was. Then I determined that the process could be safely killed. Next, I killed it and the PID (Process Id) that was associated with the rogue process. [su - oracle followed by kill -9 99999] Once the PID was killed, all other Oracle processes began "running" and the crisis was over. My next step is to open a SR with Oracle Support and upload the trace files.
Check out the comments for more instructions by me.