Sess users by transactions
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
- Sess users by CPU — même famille, tri par CPU consommé
- Sess users by cursors — tri par nombre de curseurs ouverts
- Sess users by io — tri par I/O logiques
- Sess users by memory — tri par mémoire PGA/UGA