Jeudi 14 juillet 2011 4 14 /07 /Juil /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
Par Daniel Roesch - Publié dans : COMMANDES SQL DML-LMD
Ecrire un commentaire - Voir les 0 commentaires
Retour à l'accueil

Rechercher Articles Oracle SQL sur ce Site.

Loading

À lire aussi…

Download PDF Oracle

Rechercher sur le site

Oracle 10G - DBA -

Syndication

  • Flux RSS des articles
Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus - Articles les plus commentés