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.

link|improve this question
feedback

1 Answer

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).

link|improve this answer
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. – jkohlhepp Sep 24 '10 at 12:34
feedback

Your Answer

 
or
required, but never shown

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