Re: 2 questions about transactions.

  • From: "Jonathan Lewis" <jonathan@xxxxxxxxxxxxxxxxxx>
  • To: "ORACLE-L" <oracle-l@xxxxxxxxxxxxx>
  • Date: Fri, 9 Dec 2011 06:29:09 -0000

I am surprised by your comments in question 1:
    set transaction read only;
doesn't acquire an undo segment header, and doesn't generate any redo,
so golden gate must be doing something more than simply scraping the
redo log to deal with transaction activity.

I haven't looked recently, but the only place I could find a reference to
the transaction name when I last looked was in the redo log itself.

Question 2:  check v$transaction for the columns used_urec and used_ublk,
these tell you how many changes have to be reversed out, and how many
undo blocks have to be acquired to find the changes.  The problem is that 
you
don't know how many undo blocks will have to be read from disc, and how
many changes will require you to read a data block (table, undo, bitmap 
etc.)
so that the change can be applied.



Regards

Jonathan Lewis
http://jonathanlewis.wordpress.com


----- Original Message ----- 
From: "Dba DBA" <oracledbaquestions@xxxxxxxxx>
To: "ORACLE-L" <oracle-l@xxxxxxxxxxxxx>
Sent: Thursday, December 08, 2011 3:57 PM
Subject: 2 questions about transactions.


Version: 10.2.0.5
Question 1:

SET TRANSACTION command

We are looking at logminer and noticing that one of our applications is
issung a set transaction read write. The problem with this is that oracle
records this as an open transacxtion. We are using golden gate and it has
issues with long running transactions. So we have processes that connect to
oracle, issue this, and then go idle. Before we go back to the developers,
we want to dig up some more information. Their application probably doesn't
need to do this. They may not even know they are doing it. It could be
built into what ever library they are using to connect to the database. We
noticed that set transaction is not recorded in v$sqlarea. Is there
anywhere else other than logminer where we can dig up data on set
transaction commands? I also noticed that you can name your transaction..
see link below. is that recorded in the data dictionary? I looked at the
docs for v$rtransaction and I do not see a field for transaction name?


Question 2:

 I googled this before I asked, but I didn't really find what I was looking
for. Is there a way to estimate how much work it will be to kill and
rollback a session? I have looked at v$undostat, but I am not sure how to
take the data I am seeing there and turn it into a rough estimate of how
long it will take to rollback. I know it will be based on how busy the
database is and it is application specific. Has anyone done any work with
estimate how long it takes to roll something back:?


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




-----
No virus found in this message.
Checked by AVG - www.avg.com
Version: 2012.0.1873 / Virus Database: 2102/4666 - Release Date: 12/07/11


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


Other related posts: