#!/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 #------------------------------------------------------------------------------ # fonction d'aide #------------------------------------------------------------------------------ f_help() { echo " syntaxe : $0 ORACLE_SID ------ " exit $1 } #f_help #---------------------------------------- #------------ MAIN ---------------------- #---------------------------------------- ORACLE_SID=$1 [ "${ORACLE_SID}" ] || f_help 2; #------------------------------------------------------------------------------ # inititalisation des variables d'environnement #------------------------------------------------------------------------------ export SCRIPTS_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd -P) # Nom du fichier .env ENV_FILE=${SCRIPTS_DIR}"/.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 #------------------------------------------------------------------------------ if (test `whoami` != $ORACLE_OWNER) then echo "Vous devez etre $ORACLE_OWNER pour lancer ce script" exit fi #------------------------------------------------------------------------------ # positionner les variables d'environnement ORACLE # et vérifier si ORACLE_SID est dans /etc/orata #------------------------------------------------------------------------------ # 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 echo "Base ${ORACLE_SID} absente du fichier /etc/oratab ... fin du script" exit 2 fi export ORACLE_SID ORAENV_ASK=NO PATH=/usr/local/bin:$PATH . oraenv -s >/dev/null # si la base est standby on sort ${SCRIPTS_DIR}/is_standby.sh ${ORACLE_SID} && exit 2 #------------------------------------------------------------------------------ # recuperation du NLS_CHARACTERSET #------------------------------------------------------------------------------ NLS_CHARACTERSET=$($ORACLE_HOME/bin/sqlplus -S / as sysdba <