Dont know it will help you are not. But i faced this kind of issue already. database was performing ok. Manager felt adding CPU will improve (managers dont listen to others :-) ) . We also added some processing power which resulted in
high processing power and low IO power. so database was performing very badly. I watched tail -f alert_log for some 2-3 hrs.
and found that database works ok when log files are not switched.
and when log file swith is going on it kind of hangs. and switches are happening very frequently. so i added logfiles with almost double the size of existing one. It helpled in my case. Dont know if it will help in your case or not . You need to find out what exactly is happening in your case.