From de68ed62f6c3456547f45e9d0bc3f2f8126873c3 Mon Sep 17 00:00:00 2001 From: Yacine31 Date: Wed, 3 May 2023 19:07:36 +0200 Subject: [PATCH] Create check_alert_log.sh --- check_alert_log.sh | 64 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 check_alert_log.sh diff --git a/check_alert_log.sh b/check_alert_log.sh new file mode 100644 index 0000000..42b8f8b --- /dev/null +++ b/check_alert_log.sh @@ -0,0 +1,64 @@ +#!/bin/bash +#--------------------------------------------------------------------------- +# 03/05/2023 - YOU : Premiere version pour lister les erreurs depuis l'alert +# log sur les 30 derniers jours +#--------------------------------------------------------------------------- +# Environnement Variables +export NLS_DATE_FORMAT='DD/MM/YYYY HH24:MI:SS' +export ORAENV_ASK=NO +unset NLS_LANG + +#--------------------------------------------------------------------------- +# Fonction test_dba : teste si l'utilisateur est DBA +#--------------------------------------------------------------------------- +if test "$(id|grep dba)" + then + echo > /dev/null + else + echo "" + echo "=============================================================" + echo " Abandon, l'utilisateur doit appartenir au groupe DBA " + echo "=============================================================" + exit 1 +fi + +#--------------------------------------------------------------------------- +# reporter toutes les instances préntes sur ce serveur +#--------------------------------------------------------------------------- + +for r in $(ps -eaf | grep pmon | egrep -v 'grep|ASM1|APX1' | cut -d '_' -f3) +do +echo "-----------------------------------------------------" +echo " Base de donnee a traiter: " $r +echo "-----------------------------------------------------" +export ORACLE_SID=$r +. oraenv -s > /dev/null +sqlplus -S / as sysdba << EOF +set head off pages 0 feedback off +set linesize 250 heading off; +alter session set nls_date_format='DD/MM/YYYY HH24:MI:SS' ; +set heading on pagesize 999; +column status format a25; +column input_bytes_display format a12; +column output_bytes_display format a12; +column device_type format a10; +declare + base varchar2(40) ; + serv varchar2(40) ; +begin + select instance_name into base from v\$instance ; + select host_name into serv from v\$instance ; + dbms_output.put_line (' Rapport pour la base de donnee :' || base || ' sur le serveur : '|| serv ); +end ; +/ +set pages 999 lines 200 +col ORIGINATING_TIMESTAMP for a35 +col MESSAGE_TEXT for a120 + +select to_char(ORIGINATING_TIMESTAMP,'YYYY-MM-DD HH24:MI:SS'), MESSAGE_TEXT + from V\$DIAG_ALERT_EXT + where MESSAGE_TEXT like 'ORA-%' AND originating_timestamp >= SYSDATE - 30 + order by ORIGINATING_TIMESTAMP; +EOF +done +