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 »

Laisser un commentaire