Advantages of Autonomous Transactions
An autonomous transaction, once started is fully independent. It shares no locks, resources, or commit-dependency with the main transaction. Therefore, you can log the events, increment retry counters, and so on, even when the main transaction rolls back. Most important, the autonomous transactions help you to build modular, and reuse the software components. For illustration, the stored procedures can start and finish the autonomous transactions on their own. The calling applications do not require to know about a procedure's autonomous operations and the procedure do not require knowing about the application's transaction context. It makes the autonomous transactions less error-prone than the regular transactions and easier to use.
Moreover, autonomous transactions have all the functionality of a regular transaction. They permit parallel queries, distributed processing, & all the transaction control statements including the SET TRANSACTION.