nettoyage des scripts et des roles
This commit is contained in:
@@ -1,44 +0,0 @@
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# Historique :
|
||||
# 25/09/2023 : YOU - premiere version pour sauvegarder les binaires
|
||||
#------------------------------------------------------------------------------
|
||||
#------------------------------------------------------------------------------
|
||||
# fonction init : c'est ici qu'il faut modifier toutes les variables liées
|
||||
# à l'environnement
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
f_init() {
|
||||
|
||||
# positionner les variables d'environnement
|
||||
export SCRIPTS_DIR=/home/oracle/scripts
|
||||
|
||||
# répertoire source a sauvegarder
|
||||
export ORAAPP_LOCATION=/u01/app
|
||||
|
||||
# répertoire destination de l'export
|
||||
export BKP_LOCATION=/u04/
|
||||
} #f_init
|
||||
|
||||
|
||||
#----------------------------------------
|
||||
#------------ MAIN ----------------------
|
||||
#----------------------------------------
|
||||
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# inititalisation des variables d'environnement
|
||||
#------------------------------------------------------------------------------
|
||||
f_init
|
||||
|
||||
# creation du repertoire de sauvegarde. S'il existe la commande install ne fait rien
|
||||
install -d ${BKP_LOCATION}
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# sauvegarde
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# compression du repertoire oracle app
|
||||
cd ${BKP_LOCATION}
|
||||
tar cfz backup_bin_oraapp_$(date +%Y%m%d).tgz ${ORAAPP_LOCATION}
|
||||
@@ -1,153 +0,0 @@
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# ORACLE DATABASE : BACKUP RMAN DB + AL
|
||||
#------------------------------------------------------------------------------
|
||||
# Historique :
|
||||
# 14/09/2011 : YOU - Creation
|
||||
# 12/10/2015 : YOU - adaptation à l'ensemble des bases
|
||||
# 13/10/2015 : YOU - ajout des params en ligne de commande
|
||||
# 03/05/2016 : YOU - adaptation a l'environnement SOM
|
||||
# 04/05/2016 : YOU - ajout du niveau de sauvegarde : incrementale 0 ou 1
|
||||
# 09/11/2022 : YOU - backup simple => db full
|
||||
# 10/08/2023 : YOU - base noarchivelog : execution de rman validate
|
||||
# 25/09/2023 : YOU - simplification, 1 seul parametre pour le script
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# fonction init : c'est ici qu'il faut modifier toutes les variables liées
|
||||
# à l'environnement
|
||||
#------------------------------------------------------------------------------
|
||||
f_init() {
|
||||
|
||||
export ORACLE_OWNER=oracle
|
||||
|
||||
# les différents répertoires
|
||||
export SCRIPTS_DIR=/home/oracle/scripts
|
||||
export BKP_LOG_DIR=$SCRIPTS_DIR/logs
|
||||
export BKP_LOCATION=/u04/backup/${ORACLE_SID}/rman
|
||||
|
||||
# nombre de sauvegarde RMAN en ligne à garder
|
||||
export BKP_REDUNDANCY=1
|
||||
export DATE_JOUR=$(date +%Y.%m.%d-%H.%M)
|
||||
export BKP_LOG_FILE=${BKP_LOG_DIR}/backup_rman_${ORACLE_SID}_${DATE_JOUR}.log
|
||||
export RMAN_CMD_FILE=${BKP_LOG_DIR}/rman_cmd_file_${ORACLE_SID}.rman
|
||||
|
||||
# nombre de jours de conservation des logs de la sauvegarde
|
||||
export BKP_LOG_RETENTION=15
|
||||
|
||||
# nombre de canaux à utiliser
|
||||
export PARALLELISM=1
|
||||
|
||||
} # f_init
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# fonction d'aide
|
||||
#------------------------------------------------------------------------------
|
||||
f_help() {
|
||||
|
||||
cat <<CATEOF
|
||||
syntax : $O ORACLE_SID
|
||||
|
||||
CATEOF
|
||||
exit $1
|
||||
|
||||
} #f_help
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# fonction d'affichage de la date ds les logs
|
||||
#------------------------------------------------------------------------------
|
||||
f_print()
|
||||
{
|
||||
echo "[`date +"%Y/%m/%d %H:%M:%S"`] : $1" >> $BKP_LOG_FILE
|
||||
} #f_print
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# traitement de la ligne de commande
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
[ "${ORACLE_SID}" ] || f_help 2;
|
||||
|
||||
# positionner les variables d'environnement ORACLE
|
||||
export ORACLE_SID
|
||||
ORAENV_ASK=NO
|
||||
PATH=/usr/local/bin:$PATH
|
||||
. oraenv -s >/dev/null
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# inititalisation des variables d'environnement
|
||||
#------------------------------------------------------------------------------
|
||||
f_init
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# si ce n'est pas le user oracle qui lance le script, on quitte
|
||||
#------------------------------------------------------------------------------
|
||||
if (test `whoami` != $ORACLE_OWNER)
|
||||
then
|
||||
echo
|
||||
echo "-----------------------------------------------------"
|
||||
echo "Vous devez etre $ORACLE_OWNER pour lancer ce script"
|
||||
echo "-----------------------------------------------------"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# initialisation des chemins, s'ils n'existent pas ils seront créés par la commande install
|
||||
#------------------------------------------------------------------------------
|
||||
install -d ${BKP_LOCATION}
|
||||
install -d ${BKP_LOG_DIR}
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# génération du script de la sauvegarde RMAN
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# récupération du mode archive ou pas
|
||||
LOG_MODE=$($ORACLE_HOME/bin/sqlplus -S / as sysdba <<EOF
|
||||
set heading off
|
||||
set feedback off
|
||||
set echo off
|
||||
select LOG_MODE from V\$DATABASE;
|
||||
EOF
|
||||
)
|
||||
LOG_MODE=$(echo $LOG_MODE | sed 's/^\s*//g')
|
||||
|
||||
if [ "$LOG_MODE" == "NOARCHIVELOG" ]; then
|
||||
echo "validate check logical database;" > ${RMAN_CMD_FILE}
|
||||
else
|
||||
echo "
|
||||
run {
|
||||
CONFIGURE DEVICE TYPE DISK PARALLELISM $PARALLELISM ;
|
||||
CONFIGURE RETENTION POLICY TO REDUNDANCY ${BKP_REDUNDANCY};
|
||||
BACKUP DEVICE TYPE DISK FORMAT '${BKP_LOCATION}/data_%T_%t_%s_%p' TAG 'DATA_${DATE_JOUR}' AS COMPRESSED BACKUPSET DATABASE;
|
||||
SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
|
||||
BACKUP DEVICE TYPE DISK FORMAT '${BKP_LOCATION}/arch_%T_%t_%s_%p' TAG 'ARCH_${DATE_JOUR}' AS COMPRESSED BACKUPSET ARCHIVELOG ALL DELETE ALL INPUT;
|
||||
DELETE NOPROMPT OBSOLETE;
|
||||
DELETE NOPROMPT EXPIRED BACKUPSET;
|
||||
BACKUP CURRENT CONTROLFILE FORMAT '${BKP_LOCATION}/control_%T_%t_%s_%p' TAG 'CTLFILE_${DATE_JOUR}';
|
||||
SQL \"ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS ''${BKP_LOCATION}/${ORACLE_SID}_control_file.trc'' REUSE\";
|
||||
SQL \"CREATE PFILE=''${BKP_LOCATION}/pfile_${ORACLE_SID}.ora'' FROM SPFILE\";
|
||||
}
|
||||
" > ${RMAN_CMD_FILE}
|
||||
fi
|
||||
#------------------------------------------------------------------------------
|
||||
# Execution du script RMAN
|
||||
#------------------------------------------------------------------------------
|
||||
f_print "------------------------- DEBUT DE LA BACKUP -------------------------"
|
||||
${ORACLE_HOME}/bin/rman target / cmdfile=${RMAN_CMD_FILE} log=${BKP_LOG_FILE}
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Mail si des erreurs dans le fichier de sauvegarde
|
||||
#------------------------------------------------------------------------------
|
||||
ERR_COUNT=$(egrep "^RMAN-[0-9]*|^ORA-[0-9]:" ${BKP_LOG_FILE} | wc -l)
|
||||
|
||||
if [ ${ERR_COUNT} -ne 0 ]; then
|
||||
curl -H "t: Erreur RMAN base ${ORACLE_SID} sur le serveur $(hostname)" -d "$(cat ${BKP_LOG_FILE})" -L https://ntfy.axiome.io/backup-rman
|
||||
fi
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Nettoyage auto des logs : durée de concervation déterminée par la variable : ${BKP_LOG_RETENTION}
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
f_print "------------------------- NETTOYAGE DES LOGS -------------------------"
|
||||
find ${BKP_LOG_DIR} -type f -iname "backup_rman_${BKP_TYPE}*.log" -mtime +${BKP_LOG_RETENTION} -exec rm -fv "{}" \; >> $BKP_LOG_FILE
|
||||
f_print "------------------------- BACKUP ${BKP_TYPE} TERMINE -------------------------"
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# ORACLE DATABASE : BACKUP ALL DB RMAN
|
||||
#------------------------------------------------------------------------------
|
||||
# Historique :
|
||||
# 21/04/2023 : YAO - Creation : backup de toutes les bases ouvertes
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# toutes les bases ouvertes sont sauvegardées par le script RMAN
|
||||
|
||||
for i in $(ps -ef | grep pmon | grep -v grep | cut -d_ -f3)
|
||||
do
|
||||
sh /home/oracle/scripts/backup_rman.sh $i
|
||||
done
|
||||
@@ -1,121 +0,0 @@
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# Historique :
|
||||
# 14/09/2011 : YOU - Creation
|
||||
# 14/10/2015 : YOU - script générique pour toutes les bases
|
||||
# 15/12/2022 : YOU - retention de 1 jour
|
||||
# 25/09/2023 : YOU - simplification du passage des paramètres
|
||||
#------------------------------------------------------------------------------
|
||||
#------------------------------------------------------------------------------
|
||||
# fonction init : c'est ici qu'il faut modifier toutes les variables liées
|
||||
# à l'environnement
|
||||
#------------------------------------------------------------------------------
|
||||
export ORACLE_OWNER=oracle
|
||||
export MAIL_RCPT=yacine.oumghar@axiome.ai
|
||||
|
||||
f_init() {
|
||||
|
||||
# positionner les variables d'environnement
|
||||
export SCRIPTS_DIR=/home/oracle/scripts
|
||||
# paramètres de lang
|
||||
export LANG=en_US.UTF-8
|
||||
export NLS_LANG=AMERICAN_AMERICA.${NLS_CHARACTERSET}
|
||||
|
||||
# répertoire destination de l'export
|
||||
export EXP_LOCATION=/u04/backup/$ORACLE_SID/expdp
|
||||
# nom du répertoire au niveau de la base de données
|
||||
export DPDIR=EXPDP_DIR
|
||||
} #f_init
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# fonction d'aide
|
||||
#------------------------------------------------------------------------------
|
||||
f_help() {
|
||||
|
||||
echo "
|
||||
|
||||
syntaxe : $0 ORACLE_SID
|
||||
------
|
||||
"
|
||||
exit $1
|
||||
|
||||
} #f_help
|
||||
|
||||
#----------------------------------------
|
||||
#------------ MAIN ----------------------
|
||||
#----------------------------------------
|
||||
|
||||
[ "${ORACLE_SID}" ] || f_help 2;
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# si ce n'est pas le user oracle qui lance le script, on quitte
|
||||
#------------------------------------------------------------------------------
|
||||
if (test `whoami` != $ORACLE_OWNER)
|
||||
then
|
||||
echo "Vous devez etre $ORACLE_OWNER pour lancer ce script"
|
||||
exit
|
||||
fi
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# positionner les variables d'environnement ORACLE
|
||||
#------------------------------------------------------------------------------
|
||||
export ORACLE_SID
|
||||
ORAENV_ASK=NO
|
||||
PATH=/usr/local/bin:$PATH
|
||||
. oraenv -s >/dev/null
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# recuperation du NLS_CHARACTERSET
|
||||
#------------------------------------------------------------------------------
|
||||
NLS_CHARACTERSET=$($ORACLE_HOME/bin/sqlplus -S / as sysdba <<EOF
|
||||
set heading off
|
||||
set feedback off
|
||||
set echo off
|
||||
select VALUE from nls_database_parameters where PARAMETER='NLS_CHARACTERSET';
|
||||
EOF
|
||||
)
|
||||
NLS_CHARACTERSET=$(echo $NLS_CHARACTERSET | sed 's/^\s*//g')
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# inititalisation des variables d'environnement
|
||||
#------------------------------------------------------------------------------
|
||||
f_init
|
||||
|
||||
# creation du repertoire de sauvegarde. S'il existe la commande install ne fait rien
|
||||
install -d ${EXP_LOCATION}
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# creation du répertoire DPDIR au niveau de la base
|
||||
#------------------------------------------------------------------------------
|
||||
$ORACLE_HOME/bin/sqlplus -S / as sysdba <<EOF
|
||||
set heading off
|
||||
set feedback off
|
||||
set echo off
|
||||
create or replace directory $DPDIR as '${EXP_LOCATION}';
|
||||
grant read, write on directory $DPDIR to public;
|
||||
exit
|
||||
EOF
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# export des données
|
||||
#------------------------------------------------------------------------------
|
||||
# suppression des anciens fichier tar, dump et log du répertoire
|
||||
rm -f ${EXP_LOCATION}/export_${ORACLE_SID}.{log,dmp,tgz}
|
||||
|
||||
# export datapump
|
||||
$ORACLE_HOME/bin/expdp \'/ as sysdba\' full=y directory=$DPDIR dumpfile=export_${ORACLE_SID}.dmp logfile=export_${ORACLE_SID}.log flashback_time=systimestamp reuse_dumpfiles=yes
|
||||
|
||||
# compression du dump et son log dans un seul fichier et suppression des fichiers d'origine
|
||||
cd ${EXP_LOCATION}
|
||||
tar cfz export_${ORACLE_SID}.tgz export_${ORACLE_SID}.{dmp,log} && rm -f export_${ORACLE_SID}.dmp
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Mail si des erreurs dans le fichier de sauvegarde
|
||||
#------------------------------------------------------------------------------
|
||||
EXPDP_LOG_FILE=${EXP_LOCATION}/export_${ORACLE_SID}.log
|
||||
ERR_COUNT=$(egrep "^EXP-[0-9]*|^ORA-[0-9]:" ${EXPDP_LOG_FILE} | wc -l)
|
||||
MSG=$(egrep "^EXP-[0-9]*|^ORA-[0-9]:" ${EXPDP_LOG_FILE})
|
||||
|
||||
if [ ${ERR_COUNT} -ne 0 ]; then
|
||||
curl -H "t: Erreur expdp base ${ORACLE_SID} sur le serveur $(hostname)" -d "$MSG" -L https://ntfy.axiome.io/expdp
|
||||
fi
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# ORACLE DATABASE : EXPDP ALL DB RMAN
|
||||
#------------------------------------------------------------------------------
|
||||
# Historique :
|
||||
# 21/04/2023 : YAO - Creation : export datapump de toutes les bases ouvertes
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# toutes les bases ouvertes sont sauvegardées par le script RMAN
|
||||
|
||||
for i in $(ps -ef | grep pmon | grep -v grep | cut -d_ -f3)
|
||||
do
|
||||
sh /home/oracle/scripts/export_datapump.sh $i
|
||||
done
|
||||
@@ -1 +0,0 @@
|
||||
set sqlprompt "_user'@'_connect_identifier> "
|
||||
@@ -56,23 +56,6 @@
|
||||
# ajout de script oracle pour les backups rman
|
||||
# ---------------------------------------------------
|
||||
|
||||
# - name: Copie du script backup_rman.sh dans {{ scripts_dir }}
|
||||
# copy: src=backup_rman.sh dest={{ scripts_dir }}/ owner=oracle group=oinstall mode=755 #
|
||||
|
||||
# - name: Copie du script backup_rman_alldb.sh dans {{ scripts_dir }}
|
||||
# copy: src=backup_rman_alldb.sh dest={{ scripts_dir }}/ owner=oracle group=oinstall mode=755
|
||||
|
||||
# # Les scritps locaux ne sont plus copiés, on utilise ceux qui sont sur Github
|
||||
# - name: Copie du script RMAN et Datapump dans {{ scripts_dir }}
|
||||
# copy: src={{ item }} dest={{ scripts_dir }}/ owner=oracle group=oinstall mode=755
|
||||
# loop:
|
||||
# - backup_rman.sh
|
||||
# - backup_rman_alldb.sh
|
||||
# - export_datapump.sh
|
||||
# - export_datapump_alldb.sh
|
||||
# - backup_bin.sh
|
||||
# tags: backup
|
||||
|
||||
- name: Création de répertoire de sauvegarde RMAN et Datapump /u04
|
||||
file: dest=/u04 mode=775 owner=oracle group=oinstall state=directory recurse=yes
|
||||
tags: backup
|
||||
@@ -96,8 +79,8 @@
|
||||
cron: name="Backup des binaires" user=oracle minute="44" hour="20" day="1" job="sh {{ scripts_dir }}/backup_bin.sh 2>&1 1>/dev/null"
|
||||
tags: backup
|
||||
|
||||
- name: Ajout de la tâche cron backup des AL si FRA >= 85%
|
||||
cron: name="Backup des AL si FRA >= 85%" user=oracle minute="10" job="sh {{ scripts_dir }}/backup_rman_AL_fct_FRA_Usage.sh"
|
||||
- name: Ajout de la tâche cron backup des AL si FRA >= seuil définit
|
||||
cron: name="Backup des AL si FRA >= seuil définit" user=oracle minute="10" job="sh {{ scripts_dir }}/backup_rman_AL_fct_FRA_Usage.sh 2>&1 1>/dev/null"
|
||||
tags: backup
|
||||
|
||||
# ---------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user