Jag kämpade nyligen med ett liknande problem. Det visade sig att databasen saknade index på främmande nycklar. Det fick Oracle att låsa många fler poster än vad som krävdes vilket snabbt ledde till ett dödläge under hög samtidighet.
Här är en utmärkt artikel med massor av bra detaljer, förslag och detaljer om hur man fixar ett dödläge:http://www.oratechinfo.co.uk/deadlocks.html#unindex_fk