> > > > I think the hard part would be error handling. You have to be able to > catch > any errors and resume the outer transaction. >
I think this is not right. Autonomous transactions are used as soon as you catch a error in order to log them. It can be used even for auditing. But resuming the outer transaction etc should not be on the plate of autonomous transactions. I am making an example here ... Suppose you want to write a code which captures the attempt to change the sensitive information, and also fails the change made to sensitive information. In order to fail the change, we might need to rollback the transaction, which would prevent the attempt being logged. So if we have autonomous audit transaction, it will commit irrespective of the rollback which happened to the original transaction The Audit transaction, which is a autonomous transaction need not catch any error and resume the outer transaction. Thanks, Gokul.