Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> RE: High "transaction rollbacks" value in v$sysstat

RE: High "transaction rollbacks" value in v$sysstat

From: Allen, Brandon <>
Date: Thu, 8 Sep 2005 16:58:24 -0700
Message-ID: <04DDF147ED3A0D42B48A48A18D574C4502361575@NT15.oneneck.corp>

Thanks, but I don't see how auditing would be helpful in this situation. I'm trying to find the source of 'transaction rollbacks' w/o corresponding 'user rollbacks'. If Oracle isn't even incrmenting the user rollbacks stat, then I doubt it is writing anything to the audit trail either.

I found this explanation on Metalink, which might explain it:

From: Andrew Allen 26-Apr-05 15:29
Subject: Re : User rollbacks higher then user commits

Could be blocked updates causing the rollbacks. I do not know the source of the stat in the statspack report, but I will bet that this is it.

You see, when you do an update -- especially when more than one row is affected, your transaction could rollback and restart (possibly several times) before it completes. Oracle does not take locks on every row before it does the update. Instead it takes the row lock as it does the update on that row, so if you are updating more than one row in a query, you may successfully change the first few rows, then encounter a row that is locked. In this case your update will rollback and then attempt to do the update again once the lock is cleared. Then next pass may update all the rows or it may encounter another lock further down the line and rollback/restart again. All this happens behind the scenes so you never know about it.


-----Original Message-----
From: Mladen Gogala [] Sent: Thursday, September 08, 2005 4:47 PM To: Allen, Brandon
Cc: Lou Fangxin;
Subject: Re: High "transaction rollbacks" value in v$sysstat

On 09/08/2005 07:19:00 PM, Allen, Brandon wrote:
> Not sure, I don't have good visibility into the application (Tririga Facility Center 8i). But if the application is rolling back, shouldn't I see 'user rollbacks' being incremented at least as much as 'transaction rollbacks'?

I have a very simple solution: look into DBA_AUDIT_TRAIL. Turn on auditing. People often forget to do that, but that is the only way to know what has someone executed during the last week or some other extended period of time.

Mladen Gogala

Privileged/Confidential Information may be contained in this message or attachments hereto. Please advise immediately if you or your employer do not consent to Internet email for messages of this kind. Opinions, conclusions and other information in this message that do not relate to the official business of this company shall be understood as neither given nor endorsed by it.

Received on Thu Sep 08 2005 - 18:58:53 CDT

Original text of this message