Mts shared server utilization

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Script SQL*Plus de diagnostic
Voir aussi Mts shared server statistics · Mts dispatcher utilization · Mts queue information

MTS (Multi-Threaded Server, renommé Shared Server à partir d'Oracle 9i) — ce script calcule, pour chaque processus shared server actif, le pourcentage de temps passé à traiter des requêtes plutôt qu'à attendre (symétrique de Mts dispatcher utilization côté dispatcher).

Script

-- % d'occupation de chaque processus shared server (MTS), toutes instances.

SET LINESIZE 180
SET PAGESIZE 50000
SET VERIFY OFF

COLUMN instance_name FORMAT a10    HEADING 'Instance'
COLUMN server_name    FORMAT a25    HEADING 'Shared Server'
COLUMN pct_busy         FORMAT 999.99 HEADING '% Occupé'

SELECT
    i.instance_name                                       instance_name
  , s.name                                                 server_name
  , ROUND(s.busy / NULLIF(s.busy + s.idle, 0) * 100, 2)    pct_busy
FROM
    gv$instance     i
  , gv$shared_server s
WHERE
    i.inst_id = s.inst_id
ORDER BY
    i.instance_name, s.name
/

Comme pour Mts dispatcher utilization, NULLIF(s.busy + s.idle, 0) évite une division par zéro sur un processus fraîchement démarré.

Voir aussi