Sess users by memory
| 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 transactions |
Sess users by memory liste les sessions connectées triées par mémoire PGA actuellement allouée, avec le pic observé (max) et la mémoire UGA associée.
Même famille de scripts que Sess users by CPU (détail du schéma de requête sur cette page). Distinction PGA/UGA utile à garder en tête : la PGA (Program Global Area) est une zone de mémoire privée à chaque processus serveur ; la UGA (User Global Area) est en principe rattachée à la session — en connexion dedicated server (la configuration la plus courante), elle vit à l'intérieur de la PGA du processus dédié à la session ; en configuration shared server (MTS), elle est en revanche allouée dans la SGA (shared pool), ce qui la rend visible de tous les processus partagés et change son impact sur le dimensionnement mémoire global de l'instance.
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 a12 HEADING 'Utilisateur Oracle'
COLUMN os_username FORMAT a12 HEADING 'Utilisateur OS'
COLUMN os_pid FORMAT a8 HEADING 'PID OS'
COLUMN session_machine FORMAT a20 TRUNC HEADING 'Machine'
COLUMN session_program FORMAT a30 TRUNC HEADING 'Programme'
COLUMN session_pga_memory FORMAT 9,999,999,999 HEADING 'Mémoire PGA'
COLUMN session_pga_memory_max FORMAT 9,999,999,999 HEADING 'PGA max'
COLUMN session_uga_memory FORMAT 9,999,999,999 HEADING 'Mémoire UGA'
COLUMN session_uga_memory_max FORMAT 9,999,999,999 HEADING 'UGA max'
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
, sstat1.value session_pga_memory
, sstat2.value session_pga_memory_max
, sstat3.value session_uga_memory
, sstat4.value session_uga_memory_max
FROM
v$process p
, v$session s
, v$sesstat sstat1
, v$sesstat sstat2
, v$sesstat sstat3
, v$sesstat sstat4
, v$statname statname1
, v$statname statname2
, v$statname statname3
, v$statname statname4
WHERE
p.addr (+) = s.paddr
AND s.sid = sstat1.sid
AND s.sid = sstat2.sid
AND s.sid = sstat3.sid
AND s.sid = sstat4.sid
AND statname1.statistic# = sstat1.statistic#
AND statname2.statistic# = sstat2.statistic#
AND statname3.statistic# = sstat3.statistic#
AND statname4.statistic# = sstat4.statistic#
AND statname1.name = 'session pga memory'
AND statname2.name = 'session pga memory max'
AND statname3.name = 'session uga memory'
AND statname4.name = 'session uga memory max'
ORDER BY session_pga_memory 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 transactions — tri par nombre de transactions validées