Наскоро се борех с подобен проблем. Оказа се, че в базата данни липсват индекси на външни ключове. Това накара Oracle да заключи много повече записи от необходимото, което бързо доведе до блокиране по време на висока едновременност.
Ето една отлична статия с много добри подробности, предложения и подробности за това как да коригирате блокиране:http://www.oratechinfo.co.uk/deadlocks.html#unindex_fk