There are some people on my team running performance tests against an Oracle database. During the execution of their scripts, they are seeing a large increase in the value of "user rollbacks" in the v$sysstat table. During the hour long test simulating a couple hundred users, that value increases by hundreds of thousands. The test executes, for the most part, read only operations to the database, or simple inserts. So I would not expect any transactions to be rolling back. What does this value mean? Should I be concerned about this statistic? What should I be looking at as to the cause?

If it matters, the tests are executing against an ASP.NET application that generates SQL through ADO.NET and ODP.NET.


I'd suspect it is an artifact of how the application is 'ending' transactions that don't do updates.

Check the stat "rollback changes - undo records applied". That actually points to the amount of work done by rollbacks (ie how many changes actually had to be rolled back).

  • The "rollback changes - undo records applied" is also pretty high. I realize now that the system in question does make heavy use of insert into temporary tables that are emptied out at the end of a transaction. It does this even for "read only" operations. Could this be causing the heavy stats. – RationalGeek Sep 24 '10 at 12:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.