For each DML operation, a transaction id is initiated. We can get the transaction id by below query:
select dbms_transaction.local_transaction_id from dual;
PAUL @ pauldb-uat > select dbms_transaction.local_transaction_id from dual;
LOCAL_TRANSACTION_ID
--------------------------------------------------------------------------------
8.10.4224
the transaction ID is a series of numbers denoting undo segment number, slot# and record# (also known as sequence#) respectively, separated by periods.
To get the details about a transaction we can use the below query:
select
owner object_owner,
object_name object_name,
session_id oracle_sid,
oracle_username db_user,
decode(LOCKED_MODE,
0, 'None',
1, 'Null',
2, 'Row Share',
3, 'Row Exclusive',
4, 'Share',
5, 'Sub Share Exclusive',
6, 'Exclusive',
locked_mode
) locked_mode
from v$locked_object lo,
dba_objects do
where
(xidusn||'.'||xidslot||'.'||xidsqn)
= ('&transid')
and
do.object_id = lo.object_id;
No comments:
Post a Comment