I'm using transactions, with a delete followed by an insert.
If the delete affects 0 rows, there is nothing to do.
Do I need to rollback the transaction to abandon it, or is everything
the way it should after a delete that affected 0 rows?
Thanks!
-- Sincerely, Fred
Frederik Lindberg, CTO
Hi Fred,
Even though the delete affected no rows, it does begin a transaction. That
transaction takes up a slot in the SGA transaction table (X$KTCXB) but does not
yet use a slot in one of the rollback segment header block transaction tables.
V$TRANSACTION will not show you this transaction
The default Oracle DB behavior is for a transaction to
be committed when the session exits.
This may be overridden in an application ( such as SQLPLUS )
so that the default behavior is a rollback.
I would explicitly commit or rollback were I writing an app.
Jared
On Wed, 14 Feb 2001
Is there anyway to find out if a long running
concurrent program is rolling back its transactions?
Thanks
Casey
Hi Casey,
Look at the USED_UBLK field in V$TRANSACTION, twice.
If the number is going down, then the transaction is rolling back.
@ Regards,
@ Steve Adams
@ http://www.ixora.com.au/
@ http://www.christianity.net.au/
-Original Message-
Sent: Wednesday, 7 February 2001 0:00
To:
Hello Casey
Run this script. It will display rollback commit of all running session
set head on
set echo off
set verify off
set feedback off
set pagesize 1000
set tab off
col "SID" format 999
col "Nb commit"format 99,999,999,
The following script will be helpful as per Steve Adams suggestion...If no
of transcations going down it means there is rollback of process...
set linesize 120
select substr(a.os_user_name,1,8) "OS User"
, substr(b.object_name,1,30) "Object Name"
, substr(b.object_type,
601 - 607 of 607 matches
Mail list logo