Temp status

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Script SQL*Plus de diagnostic (Tablespace temporaire)
Voir aussi Temp sort segment · Temp sort users · Volumetrie

Temp status donne une vue d'ensemble, tablespace temporaire par tablespace temporaire, de la taille allouée, du volume réellement occupé, du pourcentage d'utilisation et du nombre de sessions actives. C'est le point d'entrée à consulter avant de creuser côté segments (Temp sort segment) ou côté sessions (Temp sort users).

Le script ne s'appuie que sur les tablespaces temporaires gérés en extents locaux (LOCAL) — le cas de toute base Oracle moderne.

Script

-- Vue d'ensemble des tablespaces temporaires : taille, occupation, sessions actives
SET LINESIZE 180
SET PAGESIZE 50000
SET VERIFY OFF

COLUMN tablespace_name       FORMAT a20                 HEADING 'Tablespace Name'
COLUMN tablespace_status     FORMAT a9                  HEADING 'Status'
COLUMN tablespace_size       FORMAT 9,999,999,999,999   HEADING 'Size'
COLUMN used                  FORMAT 9,999,999,999,999   HEADING 'Used'
COLUMN used_pct              FORMAT 999                 HEADING 'Pct. Used'
COLUMN current_users         FORMAT 999,999             HEADING 'Current Users'

BREAK ON report
COMPUTE SUM OF tablespace_size ON report
COMPUTE SUM OF used            ON report
COMPUTE SUM OF current_users   ON report

SELECT
    d.tablespace_name                        tablespace_name
  , d.status                                 tablespace_status
  , NVL(a.bytes, 0)                          tablespace_size
  , NVL(t.bytes, 0)                          used
  , TRUNC(NVL(t.bytes / a.bytes * 100, 0))   used_pct
  , NVL(s.current_users, 0)                  current_users
FROM
    sys.dba_tablespaces d
  , ( SELECT tablespace_name, SUM(bytes) bytes
      FROM dba_temp_files
      GROUP BY tablespace_name
    ) a
  , ( SELECT tablespace_name, SUM(bytes_cached) bytes
      FROM v$temp_extent_pool
      GROUP BY tablespace_name
    ) t
  , v$sort_segment s
WHERE
      d.tablespace_name = a.tablespace_name(+)
  AND d.tablespace_name = t.tablespace_name(+)
  AND d.tablespace_name = s.tablespace_name(+)
  AND d.extent_management = 'LOCAL'
  AND d.contents = 'TEMPORARY';

Voir aussi