oracle asm check

check asm disk space

!/bin/bash

=====================================================================

Script : check_asm_space.sh

Objectif : Calculer l’espace total, libre et utilisé dans ASM

Auteur : JJLOGDB

=====================================================================

Variables de configuration

ORACLE_SID=+ASM1 # À adapter selon ton environnement
ORACLE_HOME=/u01/app/oracle/product/19.0.0/grid
PATH=$ORACLE_HOME/bin:$PATH
LOG_DIR=/tmp
LOG_FILE=$LOG_DIR/asm_space_$(date +%Y%m%d_%H%M%S).log

En-tête du rapport

echo « ============================================================ » > « $LOG_FILE »
echo  » Rapport ASM Space – $(date) » >> « $LOG_FILE »
echo « ============================================================ » >> « $LOG_FILE »
echo «  » >> « $LOG_FILE »

Connexion à ASM et exécution de la requête

sqlplus -s / as sysasm <> « $LOG_FILE »
SET LINESIZE 200
SET PAGESIZE 100
COL name FORMAT A20
COL total_gb FORMAT 999,999.99
COL free_gb FORMAT 999,999.99
COL used_gb FORMAT 999,999.99

PROMPT === Détail par Diskgroup ===

SELECT
name,
ROUND(total_mb/1024,2) AS total_gb,
ROUND(free_mb/1024,2) AS free_gb,
ROUND((total_mb – free_mb)/1024,2) AS used_gb,
ROUND((1 – (free_mb/total_mb))*100, 2) AS pct_used
FROM v\$asm_diskgroup
ORDER BY name;

PROMPT
PROMPT === Synthèse Globale ===

SELECT
ROUND(SUM(total_mb)/1024,2) AS total_gb,
ROUND(SUM(free_mb)/1024,2) AS free_gb,
ROUND(SUM(total_mb – free_mb)/1024,2) AS used_gb,
ROUND((1 – SUM(free_mb)/SUM(total_mb))*100,2) AS pct_used
FROM v\$asm_diskgroup;

EXIT
EOF

Résumé en console

echo « Rapport généré : $LOG_FILE »
grep -A5 « Synthèse Globale » « $LOG_FILE »


Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *