Sess users by io

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 memory · Sess users by transactions

Sess users by io liste les sessions connectées triées par volume d'I/O logiques (lectures servies depuis le cache, sans passage disque), avec le détail des lectures et écritures physiques à côté, pour comparer la part qui redescend réellement au stockage.

Même famille de scripts que Sess users by CPU (détail du schéma de requête sur cette page). Les I/O logiques correspondent ici à la somme de deux statistiques cumulées : db block gets (lectures en mode courant) et consistent gets (lectures en mode consistant / lecture cohérente).

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 a25 TRUNC         HEADING 'Machine'
COLUMN session_program   FORMAT a40 TRUNC         HEADING 'Programme'
COLUMN logical_io        FORMAT 999,999,999,999   HEADING 'I/O logiques'
COLUMN physical_reads    FORMAT 999,999,999,999   HEADING 'Lectures physiques'
COLUMN physical_writes   FORMAT 999,999,999,999   HEADING 'Écritures physiques'

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
    + sstat2.value        logical_io
  , sstat3.value          physical_reads
  , sstat4.value          physical_writes
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        = 'db block gets'
  AND statname2.name        = 'consistent gets'
  AND statname3.name        = 'physical reads'
  AND statname4.name        = 'physical writes'
ORDER BY logical_io DESC;

Voir aussi