Temp sort segment
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Type | Script SQL*Plus de diagnostic (Tablespace temporaire) |
| Voir aussi | Temp sort users · Temp status |
Temp sort segment liste les tablespaces temporaires et l'état réel des segments de tri sous-jacents, à partir de la vue V$SORT_SEGMENT. Contrairement à une simple lecture de la taille des fichiers temporaires, cette vue reflète l'occupation effective de l'espace de tri à l'instant présent (extents utilisés, pic de consommation, nombre de sessions actives sur le segment). Le script interroge les vues GV$ et fonctionne donc aussi bien sur une instance unique qu'en RAC.
Colonnes principales :
- Segment Name : concaténation du numéro de fichier et du numéro de bloc de la première extension (identifiant technique du segment de tri) ;
- Current Users : nombre de sessions utilisant activement le segment ;
- Total/Currently Used : taille totale du segment de tri et volume actuellement occupé ;
- Max Size / Max Used Size / Max Sort Size : pics historiques (taille max atteinte, volume max utilisé, plus gros tri individuel) ;
- Extent Hits et Free Requests : indicateurs de réutilisation des extents dans le pool de tri.
Script
-- Etat reel des segments de tri temporaires (RAC-compatible)
SET LINESIZE 180
SET PAGESIZE 50000
SET VERIFY OFF
COLUMN instance_name FORMAT a8 HEADING 'Instance'
COLUMN tablespace_name FORMAT a15 HEADING 'Tablespace|Name'
COLUMN temp_segment_name FORMAT a8 HEADING 'Segment|Name'
COLUMN current_users FORMAT 9,999 HEADING 'Current|Users'
COLUMN total_temp_segment_size FORMAT 999,999,999,999 HEADING 'Total Temp|Segment Size'
COLUMN currently_used_bytes FORMAT 999,999,999,999 HEADING 'Currently|Used Bytes'
COLUMN pct_used FORMAT 999 HEADING 'Pct.|Used'
COLUMN extent_hits FORMAT 999,999 HEADING 'Extent|Hits'
COLUMN max_size FORMAT 999,999,999,999 HEADING 'Max|Size'
COLUMN max_used_size FORMAT 999,999,999,999 HEADING 'Max Used|Size'
COLUMN max_sort_size FORMAT 999,999,999,999 HEADING 'Max Sort|Size'
COLUMN free_requests FORMAT 999 HEADING 'Free|Requests'
BREAK ON instance_name SKIP PAGE
SELECT
i.instance_name instance_name
, t.tablespace_name tablespace_name
, 'SYS.' || t.segment_file || '.' || t.segment_block temp_segment_name
, t.current_users current_users
, (t.total_blocks * b.value) total_temp_segment_size
, (t.used_blocks * b.value) currently_used_bytes
, TRUNC(ROUND((t.used_blocks/t.total_blocks)*100)) pct_used
, t.extent_hits extent_hits
, (t.max_blocks * b.value) max_size
, (t.max_used_blocks * b.value) max_used_size
, (t.max_sort_blocks * b.value) max_sort_size
, t.free_requests free_requests
FROM
gv$instance i
, gv$sort_segment t
, (SELECT value FROM v$parameter
WHERE name = 'db_block_size') b
WHERE
t.inst_id = i.inst_id
ORDER BY
i.instance_name
, t.tablespace_name;
Voir aussi
- Temp sort users — identifier les sessions qui consomment ce segment de tri
- Temp status — vue d'ensemble (taille, occupation) de tous les tablespaces temporaires