RE: If the SQL * Plus hangs for a long time, what is the reason
You are running a cartisian query typically by mistake. Make sure every table has a join criteria specified for it.
You are working on a table with 100+million rows.
The database server is busy doing a backup.
Check the disk IO for the process that appears hung and if the disk IO is increasing every 5-10 seconds then the job is not hung it is just taking a while to complete.