ASM disks perfs

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Script SQL*Plus de diagnostic
Domaine ASM – performances disques
Voir aussi ASM disks · ASM diskgroups

ASM disks perfs complète ASM disks avec les compteurs de performance cumulés par disque depuis le démarrage de l'instance ASM : nombre de lectures/écritures, erreurs, temps cumulé et volume de données transférées. Utile pour repérer un disque en erreur (compteur Read/Write Errors non nul) ou un disque nettement plus sollicité que les autres d'un même diskgroup (déséquilibre d'I/O).

Script

-- Rapport ASM : statistiques d'I/O par disque (v$asm_disk)

SET TERMOUT OFF
COLUMN current_instance NEW_VALUE current_instance NOPRINT
SELECT RPAD(SYS_CONTEXT('USERENV', 'INSTANCE_NAME'), 17) current_instance FROM dual;
SET TERMOUT ON

PROMPT
PROMPT +------------------------------------------------------------------------+
PROMPT | Rapport   : ASM Disk Performance                                       |
PROMPT | Instance  : &current_instance                                         |
PROMPT +------------------------------------------------------------------------+

SET ECHO      OFF
SET FEEDBACK  6
SET HEADING   ON
SET LINESIZE  256
SET PAGESIZE  50000
SET VERIFY    OFF

CLEAR COLUMNS
CLEAR BREAKS
CLEAR COMPUTES

COLUMN disk_group_name FORMAT a20                 HEAD 'Disk Group Name'
COLUMN disk_path       FORMAT a20                 HEAD 'Disk Path'
COLUMN reads            FORMAT 999,999,999,999     HEAD 'Reads'
COLUMN writes           FORMAT 999,999,999,999     HEAD 'Writes'
COLUMN read_errs        FORMAT 999,999,999         HEAD 'Read|Errors'
COLUMN write_errs       FORMAT 999,999,999         HEAD 'Write|Errors'
COLUMN read_time        FORMAT 999,999,999,999     HEAD 'Read|Time'
COLUMN write_time       FORMAT 999,999,999,999     HEAD 'Write|Time'
COLUMN bytes_read       FORMAT 999,999,999,999,999 HEAD 'Bytes|Read'
COLUMN bytes_written    FORMAT 999,999,999,999,999 HEAD 'Bytes|Written'

BREAK ON report ON disk_group_name SKIP 2

COMPUTE sum LABEL ''              OF reads writes read_errs write_errs read_time write_time bytes_read bytes_written ON disk_group_name
COMPUTE sum LABEL 'Grand Total: ' OF reads writes read_errs write_errs read_time write_time bytes_read bytes_written ON report

SELECT
    a.name          disk_group_name
  , b.path           disk_path
  , b.reads          reads
  , b.writes         writes
  , b.read_errs      read_errs
  , b.write_errs     write_errs
  , b.read_time      read_time
  , b.write_time     write_time
  , b.bytes_read     bytes_read
  , b.bytes_written  bytes_written
FROM
    v$asm_diskgroup a JOIN v$asm_disk b USING (group_number)
ORDER BY
    a.name
/

Colonnes / sortie

  • Read/Write Errors – tout compteur non nul mérite une investigation matérielle (SAN, câblage, multipathing).
  • Ces compteurs sont cumulés depuis le dernier démarrage de l'instance ASM – pour une mesure sur une fenêtre précise, relever deux clichés et calculer la différence.

Voir aussi