high Rollback per transaction %: 96%

  • From: fmhabash <fmhabash@xxxxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Wed, 29 Aug 2007 16:20:45 -0400

I have seen a DB where SP is showing 96% for this stat. It means is Oracle is rolling back almost every transaction. However, I can not believe that is totally true. Upon further investigation I found out these stats:


- user rollbacks = 68,826,302
- transaction rollbacks = 43,418,224
- db block changes = 320,162,991 - rollback changes - undo records applied = 11984 When I plotted SP data for a period of 7 days normalized by second for transactions, user rbs, and transaction rbs, it was clear that user rb were 90% of txns whereas transaction rbs were about 30%.

Furthermore, trying to understand what Oracle labels user vs. transaction rollback, I tested it in my play database and came up with this behavior:

- issuing rollback where no data change has occurred e.g. after a select will increment 'user rollback' but NOT transaction rollback. - Issuing it where data change has occurred e.g. after a delete, both user and transaction rollback will increment. - Killing a session after doing a DML (and before a commit), will increment transaction rollback but NOT user rollback.

So, based on all the mess above, can someone please address these inquires please ... - does the SP metric Rollback per transaction include user and transaction rollbacks or just transactions. Or whatever else.
- Based on this data, how can I correctly interpret the metric value.
- I divided transaction rollback/transactions which came up to 30%. Does this mean 30% percent of rollbacks actually do rollback data resulting from sessions terminating and PMON cleaning up. Is this far fetched?

--
//www.freelists.org/webpage/oracle-l


Other related posts: