sauve_cold.sh

#!/bin/bash
# ==================================================
# Nom : sauve_cold.sh
# Objet : sauvegarde RMAN a froid d'une base complete
# Auteur : S. GOURGAND - DIGORA
# Cree le : 27/01/2010
# Syntaxe : sauve_cold.sh database_name
# ==================================================
# ----------------------------------
# Fonction d'affichage de la syntaxe
# ----------------------------------
syntaxe()
{
 echo "Usage : $0 database_name"
}
# --------------------------
# Verification de la syntaxe
# --------------------------
if [ $# -ne 1 ]
then
 echo "=================================================="
 echo "ERREUR : Nombre d'arguments incorrects !"
 syntaxe
 echo "=================================================="
 exit 1
fi
# --------------------------
# Verification des arguments
# --------------------------
w_instance=$1
echo "w_instance : "$1
[ "${HOSTNAME}" = "king" -o "${HOSTNAME}" = "king.faiveley.com" ] && w_num=1
[ "${HOSTNAME}" = "kong" -o "${HOSTNAME}" = "kong.faiveley.com" ] && w_num=2
[ "${HOSTNAME}" = "ping" -o "${HOSTNAME}" = "ping.faiveleytransport.local" ] && w_num=3
[ "${HOSTNAME}" = "pong" -o "${HOSTNAME}" = "pong.faiveleytransport.local" ] && w_num=4
v_res=`grep "${w_instance}${w_num}:" /etc/oratab | wc -l`
v_res=`expr ${v_res}`
if [ ${v_res} -eq 0 ]
then
 echo "=================================================="
 echo "ERREUR : Base de donnees ${w_instance} inexistante !"
 syntaxe
 echo "=================================================="
 exit 1
fi
export ORACLE_SID=${w_instance}${w_num}
# export NLS_DATE_FORMAT=YYYY.MM.DD.HH24.MI.SS
export NLS_DATE_FORMAT="DD/MM/YYYY HH24:MI:SS"
w_prog=`basename $0 .sh`
w_date=$(date '+%Y_%m_%d_%H_%M_%S')
w_log_dest=/exploit/logs
w_log_file=$w_log_dest/${w_date}_${w_prog}_${w_instance}.log;
rman <<EORMAN >${w_log_file} 2>&1
connect target / ;
connect catalog rman/rman@ref_rman;
crosscheck backup;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt expired archivelog all;
delete noprompt obsolete;
startup force dba;
shutdown immediate;
startup mount;
backup tag 'database cold' database plus archivelog tag 'archives cold';
alter database open;
delete noprompt obsolete;
report need backup;
list backup summary;
exit
EORMAN
# Ajout 08/04/2010 : Envoi du fichier de traces par mail
# ------------------------------------------------------
w_host=`basename $HOSTNAME .faiveley.com`
w_host=`basename ${w_host} .faiveleytransport.local | tr [a-z] [A-Z]`
mail -s "${w_host} : Sauvegarde a froid de la base ${w_instance}" u1_info_exploit@faiveleytransport.com <${w_log_file}
# Ajout 31/03/2011 : Traitement des anomalies pour VTOM
# -----------------------------------------------------
v_res=`grep "^RMAN-" ${w_log_file} | wc -l`
v_res=`expr ${v_res}`
if [ ${v_res} -gt 0 ]
then
 echo +----------------------------+
 echo ! DEBUT DU FICHIER DE TRACES !
 echo +----------------------------+
 cat ${w_log_file}
 echo +--------------------------+
 echo ! FIN DU FICHIER DE TRACES !
 echo +--------------------------+
 exit 1
else
 exit 0
fi

Laisser un commentaire

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