ajout de.env
toutes les variables d'environnement dans .env et non dans les scripts
This commit is contained in:
43
.env.local
Normal file
43
.env.local
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# les variables d'environnement
|
||||||
|
|
||||||
|
# compte Os du propriétaire de la base
|
||||||
|
export ORACLE_OWNER=oracle
|
||||||
|
# répertoire où se trouvent les scripts en cours
|
||||||
|
export SCRIPTS_DIR=/home/oracle/scripts
|
||||||
|
# répertoire où seront stockés les fichiers logs des différents scripts
|
||||||
|
export BKP_LOG_DIR=$SCRIPTS_DIR/logs
|
||||||
|
# nombre de jours de conservation des logs de la sauvegarde
|
||||||
|
export BKP_LOG_RETENTION=15
|
||||||
|
|
||||||
|
|
||||||
|
# --- RMAN ---
|
||||||
|
# nombre de canaux à utiliser
|
||||||
|
export PARALLELISM=1
|
||||||
|
# répertoire où seront stockés les sauvegardes RMAN
|
||||||
|
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
|
||||||
|
# format de la date pour l'affichage RMAN
|
||||||
|
export NLS_DATE_FORMAT="YYYY/MM/DD HH24:MI:SS"
|
||||||
|
# --- RMAN ---
|
||||||
|
|
||||||
|
# --- backup RMAN des AL conditionnelle
|
||||||
|
PCT_LIMIT=85 # pourcentagre de la FRA au-dessus duquel on déclenche une sauvegarde des archiveslogs
|
||||||
|
ACTION_SCRIPT="${script_dir}/backup_rman_AL.sh" # script RMAN de sauvegarde des archivelogs
|
||||||
|
# --- backup RMAN des AL conditionnelle
|
||||||
|
|
||||||
|
# --- EXPDP ---
|
||||||
|
# paramètres de langue pour expdp
|
||||||
|
export LANG=en_US.UTF-8
|
||||||
|
export NLS_LANG=AMERICAN_AMERICA
|
||||||
|
# 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
|
||||||
|
# --- EXPDP ---
|
||||||
|
|
||||||
|
# URL de notification
|
||||||
|
export NTFY_URL="https://ntfy.axiome.io/backup-rman"
|
||||||
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# fichier qui contient les variables d'environnement
|
||||||
|
.env
|
||||||
@@ -11,34 +11,9 @@
|
|||||||
# 09/11/2022 : YOU - backup simple => db full
|
# 09/11/2022 : YOU - backup simple => db full
|
||||||
# 10/08/2023 : YOU - base noarchivelog : execution de rman validate
|
# 10/08/2023 : YOU - base noarchivelog : execution de rman validate
|
||||||
# 25/09/2023 : YOU - simplification, 1 seul parametre pour le script
|
# 25/09/2023 : YOU - simplification, 1 seul parametre pour le script
|
||||||
|
# 25/07/2024 : YOU - fichier .env pour les variables d'environnement
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
|
||||||
# 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
|
# fonction d'aide
|
||||||
@@ -76,7 +51,19 @@ export ORACLE_SID
|
|||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# inititalisation des variables d'environnement
|
# inititalisation des variables d'environnement
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
f_init
|
|
||||||
|
# Nom du fichier .env
|
||||||
|
ENV_FILE=".env"
|
||||||
|
|
||||||
|
# Vérifier si le fichier .env existe
|
||||||
|
if [ ! -f "$ENV_FILE" ]; then
|
||||||
|
echo "Erreur : Le fichier $ENV_FILE n'existe pas."
|
||||||
|
echo "Erreur : Impossible de charger les variables d'environnement."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Charger les variables d'environnement depuis le fichier .env
|
||||||
|
source "$ENV_FILE"
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# vérifier si ORACLE_SID est dans /etc/orata
|
# vérifier si ORACLE_SID est dans /etc/orata
|
||||||
@@ -184,7 +171,7 @@ ${ORACLE_HOME}/bin/rman target / cmdfile=${RMAN_CMD_FILE} log=${BKP_LOG_FILE}
|
|||||||
ERR_COUNT=$(egrep "^ORA-[0-9]:" ${BKP_LOG_FILE} | wc -l)
|
ERR_COUNT=$(egrep "^ORA-[0-9]:" ${BKP_LOG_FILE} | wc -l)
|
||||||
|
|
||||||
if [ ${ERR_COUNT} -ne 0 ]; then
|
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
|
curl -H "t: Erreur RMAN base ${ORACLE_SID} sur le serveur $(hostname)" -d "$(cat ${BKP_LOG_FILE})" -L ${NTFY_URL}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -70,7 +70,21 @@ ORACLE_SID=$1
|
|||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# inititalisation des variables d'environnement
|
# inititalisation des variables d'environnement
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
f_init
|
# f_init
|
||||||
|
|
||||||
|
# Nom du fichier .env
|
||||||
|
ENV_FILE=".env"
|
||||||
|
|
||||||
|
# Vérifier si le fichier .env existe
|
||||||
|
if [ ! -f "$ENV_FILE" ]; then
|
||||||
|
echo "Erreur : Le fichier $ENV_FILE n'existe pas."
|
||||||
|
echo "Erreur : Impossible de charger les variables d'environnement."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Charger les variables d'environnement depuis le fichier .env
|
||||||
|
source "$ENV_FILE"
|
||||||
|
|
||||||
|
|
||||||
# vérifier si ORACLE_SID est pésente dans le fichier /etc/oratab
|
# vérifier si ORACLE_SID est pésente dans le fichier /etc/oratab
|
||||||
if [ "$(grep -v '^$|^#' /etc/oratab | grep -c "^${ORACLE_SID}:")" -ne 1 ]; then
|
if [ "$(grep -v '^$|^#' /etc/oratab | grep -c "^${ORACLE_SID}:")" -ne 1 ]; then
|
||||||
|
|||||||
@@ -11,6 +11,23 @@
|
|||||||
# 21/12/2023 : YOU - Creation
|
# 21/12/2023 : YOU - Creation
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# inititalisation des variables d'environnement
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Nom du fichier .env
|
||||||
|
ENV_FILE=".env"
|
||||||
|
|
||||||
|
# Vérifier si le fichier .env existe
|
||||||
|
if [ ! -f "$ENV_FILE" ]; then
|
||||||
|
echo "Erreur : Le fichier $ENV_FILE n'existe pas."
|
||||||
|
echo "Erreur : Impossible de charger les variables d'environnement."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Charger les variables d'environnement depuis le fichier .env
|
||||||
|
source "$ENV_FILE"
|
||||||
|
|
||||||
|
|
||||||
for sid in $(ps -ef | grep pmon | grep -v grep | cut -d_ -f3 | sort)
|
for sid in $(ps -ef | grep pmon | grep -v grep | cut -d_ -f3 | sort)
|
||||||
do
|
do
|
||||||
@@ -29,11 +46,6 @@ do
|
|||||||
PATH=/usr/local/bin:$PATH
|
PATH=/usr/local/bin:$PATH
|
||||||
. oraenv -s >/dev/null
|
. oraenv -s >/dev/null
|
||||||
|
|
||||||
# Variables d'initialisation
|
|
||||||
script_dir=/home/oracle/scripts
|
|
||||||
pct_limit=85
|
|
||||||
action_script="${script_dir}/backup_rman_AL.sh ${ORACLE_SID}"
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# calcul de la taille FRA
|
# calcul de la taille FRA
|
||||||
#
|
#
|
||||||
@@ -48,10 +60,10 @@ EOF
|
|||||||
#
|
#
|
||||||
# Si la FRA dépasse la limite on lance le script
|
# Si la FRA dépasse la limite on lance le script
|
||||||
#
|
#
|
||||||
if [ "${pct_fra_used}" -gt ${pct_limit} ]
|
if [ "${pct_fra_used}" -gt ${PCT_LIMIT} ]
|
||||||
then
|
then
|
||||||
echo ${pct_fra_used} : backup des archivelog necessaire par script ${action_script}
|
echo ${pct_fra_used} : backup des archivelog necessaire par script ${ACTION_SCRIPT}
|
||||||
sh ${action_script}
|
sh ${ACTION_SCRIPT} ${ORACLE_SID}
|
||||||
else
|
else
|
||||||
echo ${pct_fra_used} : backup des archivelog non necessaire
|
echo ${pct_fra_used} : backup des archivelog non necessaire
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,12 +1,31 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# ORACLE DATABASE : BACKUP ALL B
|
# ORACLE DATABASE : BACKUP ALL B
|
||||||
|
# sauvegarde de touts les bases ouvertes (en mode archivelog)
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
# sauvegarde de touts les bases ouvertes (en mode archivelog)
|
|
||||||
|
|
||||||
export SCRIPTS_DIR=/home/oracle/scripts
|
#------------------------------------------------------------------------------
|
||||||
|
# inititalisation des variables d'environnement
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Nom du fichier .env
|
||||||
|
ENV_FILE=".env"
|
||||||
|
|
||||||
|
# Vérifier si le fichier .env existe
|
||||||
|
if [ ! -f "$ENV_FILE" ]; then
|
||||||
|
echo "Erreur : Le fichier $ENV_FILE n'existe pas."
|
||||||
|
echo "Erreur : Impossible de charger les variables d'environnement."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Charger les variables d'environnement depuis le fichier .env
|
||||||
|
source "$ENV_FILE"
|
||||||
|
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# boucle de sauvegarde des bases
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
for b in $(ps -ef | grep pmon | grep -v grep | cut -d_ -f3 | sort)
|
for b in $(ps -ef | grep pmon | grep -v grep | cut -d_ -f3 | sort)
|
||||||
do
|
do
|
||||||
${SCRIPTS_DIR}/backup_rman.sh $b
|
${SCRIPTS_DIR}/backup_rman.sh $b
|
||||||
|
|||||||
@@ -100,8 +100,22 @@ done
|
|||||||
|
|
||||||
[ "${ORACLE_SID}" ] || f_help 2;
|
[ "${ORACLE_SID}" ] || f_help 2;
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
# inititalisation des variables d'environnement
|
# inititalisation des variables d'environnement
|
||||||
f_init
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Nom du fichier .env
|
||||||
|
ENV_FILE=".env"
|
||||||
|
|
||||||
|
# Vérifier si le fichier .env existe
|
||||||
|
if [ ! -f "$ENV_FILE" ]; then
|
||||||
|
echo "Erreur : Le fichier $ENV_FILE n'existe pas."
|
||||||
|
echo "Erreur : Impossible de charger les variables d'environnement."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Charger les variables d'environnement depuis le fichier .env
|
||||||
|
source "$ENV_FILE"
|
||||||
|
|
||||||
# vérifier si ORACLE_SID est pésente dans le fichier /etc/oratab
|
# vérifier si ORACLE_SID est pésente dans le fichier /etc/oratab
|
||||||
if [ "$(grep -v '^$|^#' /etc/oratab | grep -c "^${ORACLE_SID}:")" -ne 1 ]; then
|
if [ "$(grep -v '^$|^#' /etc/oratab | grep -c "^${ORACLE_SID}:")" -ne 1 ]; then
|
||||||
|
|||||||
@@ -11,21 +11,6 @@
|
|||||||
# à l'environnement
|
# à l'environnement
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
export ORACLE_OWNER=oracle
|
export ORACLE_OWNER=oracle
|
||||||
export MAIL_RCPT=yacine.oumghar@axiome.io
|
|
||||||
|
|
||||||
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
|
# fonction d'aide
|
||||||
@@ -49,6 +34,22 @@ ORACLE_SID=$1
|
|||||||
|
|
||||||
[ "${ORACLE_SID}" ] || f_help 2;
|
[ "${ORACLE_SID}" ] || f_help 2;
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# inititalisation des variables d'environnement
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# Nom du fichier .env
|
||||||
|
ENV_FILE=".env"
|
||||||
|
|
||||||
|
# Vérifier si le fichier .env existe
|
||||||
|
if [ ! -f "$ENV_FILE" ]; then
|
||||||
|
echo "Erreur : Le fichier $ENV_FILE n'existe pas."
|
||||||
|
echo "Erreur : Impossible de charger les variables d'environnement."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Charger les variables d'environnement depuis le fichier .env
|
||||||
|
source "$ENV_FILE"
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# si ce n'est pas le user oracle qui lance le script, on quitte
|
# si ce n'est pas le user oracle qui lance le script, on quitte
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
@@ -58,11 +59,6 @@ then
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
|
||||||
# inititalisation des variables d'environnement
|
|
||||||
#------------------------------------------------------------------------------
|
|
||||||
f_init
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# positionner les variables d'environnement ORACLE
|
# positionner les variables d'environnement ORACLE
|
||||||
# et vérifier si ORACLE_SID est dans /etc/orata
|
# et vérifier si ORACLE_SID est dans /etc/orata
|
||||||
@@ -94,6 +90,9 @@ EOF
|
|||||||
)
|
)
|
||||||
NLS_CHARACTERSET=$(echo $NLS_CHARACTERSET | sed 's/^\s*//g')
|
NLS_CHARACTERSET=$(echo $NLS_CHARACTERSET | sed 's/^\s*//g')
|
||||||
|
|
||||||
|
# on complète la variable NLS_LANG qui vient du fichier .env avec la variable NLS_CHARACTERSET
|
||||||
|
export NLS_LANG="${NLS_LANG}.${NLS_CHARACTERSET}"
|
||||||
|
|
||||||
# creation du repertoire de sauvegarde. S'il existe la commande install ne fait rien
|
# creation du repertoire de sauvegarde. S'il existe la commande install ne fait rien
|
||||||
install -d ${EXP_LOCATION}
|
install -d ${EXP_LOCATION}
|
||||||
|
|
||||||
@@ -130,5 +129,5 @@ 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})
|
MSG=$(egrep "^EXP-[0-9]*|^ORA-[0-9]:" ${EXPDP_LOG_FILE})
|
||||||
|
|
||||||
if [ ${ERR_COUNT} -ne 0 ]; then
|
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
|
curl -H "t: Erreur expdp base ${ORACLE_SID} sur le serveur $(hostname)" -d "$MSG" -L ${NTFY_URL}
|
||||||
fi
|
fi
|
||||||
@@ -6,9 +6,28 @@
|
|||||||
# 21/04/2023 : YOU - Creation : export datapump de toutes les bases ouvertes
|
# 21/04/2023 : YOU - Creation : export datapump de toutes les bases ouvertes
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
# toutes les bases ouvertes sont sauvegardées par le expdp
|
#------------------------------------------------------------------------------
|
||||||
|
# inititalisation des variables d'environnement
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
for i in $(ps -ef | grep pmon | grep -v grep | cut -d_ -f3 | egrep -v '+ASM|+APX)
|
# Nom du fichier .env
|
||||||
|
ENV_FILE=".env"
|
||||||
|
|
||||||
|
# Vérifier si le fichier .env existe
|
||||||
|
if [ ! -f "$ENV_FILE" ]; then
|
||||||
|
echo "Erreur : Le fichier $ENV_FILE n'existe pas."
|
||||||
|
echo "Erreur : Impossible de charger les variables d'environnement."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Charger les variables d'environnement depuis le fichier .env
|
||||||
|
source "$ENV_FILE"
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# toutes les bases ouvertes sont sauvegardées par le expdp
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
for i in $(ps -ef | grep pmon | grep -v grep | cut -d_ -f3 | egrep -v '+ASM|+APX')
|
||||||
do
|
do
|
||||||
sh /home/oracle/scripts/export_datapump.sh $i
|
sh ${SCRIPTS_DIR}/export_datapump.sh $i
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user