Is Oracle DB immune to the InnoDB deadlocks found in MySQL?
No database can possibly work around deadlock errors in general-- in Oracle, a deadlock indicates a bug in the application, not in the database.  The Oracle database will detect the deadlock condition (i.e. session A has a lock that session B is waiting on and session B has a lock that session A is waiting on) and terminate one of the blocked statements to resolve the problem.  Your application ought to avoid creating a deadlock in the first place-- one option is to always generate locks in the same order in every session.