DATETIME=`date +%Y%m%d%H%M` HNAME=$(hostname) OUTPUT_DIR=output/$(date +%Y%m%d) mkdir -p ${OUTPUT_DIR} for r in $(ps -eaf | grep pmon | egrep -v 'grep|ASM|APX1' | cut -d '_' -f3) do export ORAENV_ASK=NO export ORACLE_SID=$r export HTML_FILE=${OUTPUT_DIR}/Rapport_${HNAME}_${ORACLE_SID}_${DATETIME}.html . oraenv -s > /dev/null cat sql/00_html_header.html >> ${HTML_FILE} DATE_JOUR=$(date +"%d/%m/%Y %Hh%M") echo "

Rapport de base de données

Date : ${DATE_JOUR}

Hostname : $HNAME

Base de données : ${ORACLE_SID}

" >> ${HTML_FILE} echo "

" >> ${HTML_FILE} # execution des scripts shell echo "

Configuration système

" >> ${HTML_FILE} for f in sh/*.sh do /bin/sh $f >> ${HTML_FILE} done echo "

" >> ${HTML_FILE} # Si ASM, on exécute les scripts ASM if [ $(ps -ef | grep pmon | grep ASM | wc -l) -gt 0 ]; then echo "

Configuration de l'instance ASM

" >> ${HTML_FILE} for f in asm/*.sql do sed '1 s/^/SET PAGES 999 FEEDBACK OFF MARKUP HTML ON SPOOL ON PREFORMAT OFF ENTMAP OFF\n/' $f | sqlplus -s / as sysdba >> ${HTML_FILE} done fi # execution des scripts sql echo "

Configuration de la base de données ${ORACLE_SID}

" >> ${HTML_FILE} for f in sql/*.sql do sed '1 s/^/SET PAGES 999 FEEDBACK OFF MARKUP HTML ON SPOOL ON PREFORMAT OFF ENTMAP OFF\n/' $f | sqlplus -s / as sysdba >> ${HTML_FILE} done sed -i 's/$//g' ${HTML_FILE} cat sql/99_html_footer.html >> ${HTML_FILE} echo Rapport dans le fichier html : ${HTML_FILE} done