The Enqueue wait event may be an indication that something is either wrong with the code (should multiple sessions be serializing themselves against a common row?) or possibly the physical design (high activity on child tables with unindexed foreign keys, inadequate INITRANS or MAXTRANS values, etc.). Since this event also indicates that there are too many DML or DDL locks (or, maybe, a large number of sequences), increasing the ENQUEUE_RESOURCES parameter in the init.ora may help reduce these waits as well.