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?
--
http://www.freelists.org/webpage/oracle-l
Other related posts: