The operation interrupted means the transaction timeout interrupted the thread.
Looks like your Oracle8 driver doesn't handle this very well.
What it should do is close the connection rolling back the db transaction.
The fact that some transactions lasted for 9 minutes sounds like it completely
ignores the interrupt in some circumstances. Either that or your code does.
I bet you'll find it didn't commit, since it was marked for rollback 4 minutes before.
Your underlying problem sounds like a deadlock to me.