Overblog Suivre ce blog
Editer l'article Administration Créer mon blog
14 juillet 2011 4 14 /07 /juillet /2011 13:33

 

Voir, Lister les Objects et Users d'une TRANSACTION active Oracle.

Comment voir les transactions actives dans ma base Oracle ?.
Comment lister les Objets impliqués dans mes transactions actives dans ma base Oracle ?.
Comment lister les Users impliqués dans mes transactions actives dans ma base Oracle ?.

Toutes les transactions actives, c'est à dire en attente de validation COMMIT ou ROLLBACK sont listées dans la vue dynamique V$TRANSACTION.

Une transaction est une unité logique de travail qui contient une ou plusieurs instructions SQL.
Une transaction est une unité atomique et se termine quand elle est validée ou annulée, soit explicitement par une instruction COMMIT ou ROLLBACK ou alors implicitement quand une instruction DDL est exécutée.

 

Voir et Lister les transactions actives.

 
 C:\>set oracle_sid=dbtest C:\>sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jul 14 14:04:23 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> connect / as sysdba Connected. SQL> alter session set NLS_DATE_FORMAT = 'mm-dd-yyyy HH24:mi:ss'; Session altered. SQL> SQL> SELECT t.addr, 2 t.status, 3 t.start_scn, 4 t.start_date "DEBUT TRANSACTION" 5 FROM V$TRANSACTION t; ADDR STATUS START_SCN DEBUT TRANSACTION -------- ---------------- ---------- ------------------- 216077E0 ACTIVE 7624010 07-14-2011 13:21:26 21623E14 ACTIVE 7621984 07-14-2011 12:16:35 SQL> 

 

Voir et Lister les USERS de mes transactions actives.

 
 SQL> SET LINESIZE 100 SQL> alter session set NLS_DATE_FORMAT = 'mm-dd-yyyy HH24:mi:ss'; Session altered. SQL> SELECT s.sid, 2 s.username, 3 s.logon_time, 4 t.start_date "DEBUT TRANSACTION" 5 FROM V$TRANSACTION t INNER JOIN V$SESSION s ON (t.addr = s.taddr); SID USERNAME LOGON_TIME DEBUT TRANSACTION ---------- ------------------------------ ------------------- ------------------- 146 SYSADM 07-14-2011 13:18:40 07-14-2011 13:21:26 155 SCOTT 07-14-2011 11:11:10 07-14-2011 12:16:35 SQL> 

 

Voir et Lister les TABLES impliquées dans mes transactions actives.

 
 SQL> alter session set NLS_DATE_FORMAT = 'mm-dd-yyyy HH24:mi:ss'; Session altered. SQL> SET LINESIZE 130 SQL> COL USERNAME FORMAT A10 SQL> SELECT s.sid, 2 s.username, 3 s.logon_time, 4 t.start_date "DEBUT TRANSACTION", 5 o.name "OBJECT NAME" 6 FROM V$TRANSACTION t INNER JOIN V$SESSION s ON (t.addr = s.taddr) 7 INNER JOIN V$LOCK lo ON (s.sid = lo.sid) 8 INNER JOIN sys.OBJ$ o ON (lo.id1 = o.obj#); SID USERNAME LOGON_TIME DEBUT TRANSACTION OBJECT NAME ---------- ---------- ------------------- ------------------- ----------------------- 155 SCOTT 07-14-2011 11:11:10 07-14-2011 12:16:35 SOCIETE 155 SCOTT 07-14-2011 11:11:10 07-14-2011 12:16:35 T_CLIENT 155 SCOTT 07-14-2011 11:11:10 07-14-2011 12:16:35 T_CONTRAT 146 SYSADM 07-14-2011 13:18:40 07-14-2011 13:21:26 PAYS 4 rows selected. SQL> 

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Vues V$ du Dictionnaire de données Oracle
• SCN System Change Number Oracle

Partager cet article

Repost 0
Published by Daniel Roesch - dans COMMANDES SQL DML-LMD
commenter cet article

commentaires