
Knowing how much time left to complete rollback
operation.
Author: David Gornshtein
WisdomForce Technologies, Inc
http://www.wisdomforce.com
Note*: The latest copy of this document is available at
http://www.wisdomforce.com/dweb/resources/docs/complete_rollback_script.pdf
The script below is written for Oracle 9+.
You can rewrite it for version 8+, but please note it comes without support for killed session
lookup. Also lookup for rollbacks continues after issuing of "shutdown abort".
*Note: There is known issue with Oracle prior 9i version, that there is a lack of support for "left
outer join" statement defined by SQL standard.
Preliminaries:
fixed view sys.x$ktuxe
view: x$ktuxe
[k]ernel layer
[t]ransaction layer
[u]ndo
transaction [e]ntry
This view holds entry for each active undo slot.
DECLARE
CURSOR tx
IS
SELECT /*+ USE_NL(S,T,X) */
NVL
(s.username,
'session no more exists or running on the other node of RAC'
),
x.ktuxeusn, x.ktuxeslt, x.ktuxesqn, x.ktuxesiz
FROM ((sys.x_$ktuxe x LEFT JOIN sys.gv_$transaction t ON
t.xidusn = x.ktuxeusn AND t.xidslot = x.ktuxeslt AND
t.xidsqn = x.ktuxesqn AND x.inst_id = t.inst_id) LEFT JOIN
sys.gv_$session s ON
s.saddr = t.ses_addr AND
s
.inst_id = t.inst_id)
评论