Sess users by transactions

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Script SQL*Plus de diagnostic
Voir aussi Sess users by CPU · Sess users by cursors · Sess users by io · Sess users by memory

Sess users by transactions liste les sessions connectées triées par nombre de transactions validées (statistique user commits).

Même famille de scripts que Sess users by CPU (détail du schéma de requête sur cette page). Attention, malgré son nom, ce script ne compte que les commits : une session qui enchaîne les ROLLBACK sans jamais valider n'apparaîtra pas ici, alors qu'elle génère bien de l'activité transactionnelle. Pour une vue complète, il faudrait également remonter la statistique user rollbacks en complément.

Script

SET LINESIZE 180
SET PAGESIZE 50000
SET FEEDBACK 6
SET VERIFY OFF

COLUMN sid               FORMAT 999999            HEADING 'SID'
COLUMN serial_id         FORMAT 99999999          HEADING 'Serial ID'
COLUMN session_status    FORMAT a9                HEADING 'Statut'
COLUMN oracle_username   FORMAT a18               HEADING 'Utilisateur Oracle'
COLUMN os_username       FORMAT a18               HEADING 'Utilisateur OS'
COLUMN os_pid            FORMAT a8                HEADING 'PID OS'
COLUMN session_machine   FORMAT a30 TRUNC         HEADING 'Machine'
COLUMN session_program   FORMAT a40 TRUNC         HEADING 'Programme'
COLUMN num_transactions  FORMAT 999,999,999,999   HEADING '# Transactions'

SELECT
    s.sid             sid
  , s.serial#         serial_id
  , s.status          session_status
  , s.username        oracle_username
  , s.osuser          os_username
  , p.spid            os_pid
  , s.machine         session_machine
  , s.program         session_program
  , sstat.value       num_transactions
FROM
    v$process  p
  , v$session  s
  , v$sesstat  sstat
  , v$statname statname
WHERE
      p.addr (+)           = s.paddr
  AND s.sid                = sstat.sid
  AND statname.statistic#  = sstat.statistic#
  AND statname.name        = 'user commits'
ORDER BY num_transactions DESC;

Voir aussi