I've had this happen a few times. Usually the result of a bad plan run amok. You can't even log in to see what the problem is. kill -9 should do the trick. It's alter system I find that's unreliable. I usually grep on the server for LOCAL=NO (If I know it's an application issue), awk out the processid and kill -9 the whole bunch. Put the database in restricted mode, log back on, take off restricted mode and monitor what's causing the problem.
Mike
-- //www.freelists.org/webpage/oracle-l