Bonjour,
J'essaie de créer un script .sh et une partie de script rman pour pouvoir faire mes sauvegardes dans un premier temps.
J'ai rajouté plein d'écho dans mon script sh et je vois qu'il n'arrive pas à rentrer dans mon case ou je fait l'appel à toute mes fonctions
Script sh
Affichage de mes echos :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 function get_oracle_sids () { local spfiles=("$ORACLE_HOME"/dbs/spfile*.ora) echo "Récupération des spfiles: $spfiles" local filename="" for file in "${spfiles[@]}" do filename="${file##*/}" echo "Filename de la fonction get_oracle_sids : $filename" oracle_sids+=( $(basename "${filename#spfile}" ".ora") ) echo "Oracle_sids fonciton get_oracle: ${!oracle_sids[*]} " done } function get_status () { for sid in "${oracle_sids[@]}" do echo "Oracle_sid fonction get_status: ${oracle_sids[@]}" export ORACLE_SID="$sid" $ORACLE_HOME/bin/sqlplus -s -L '/ as sysdba' << EOF PROMPT ================= Statut de la base $sid ================== SELECT INSTANCE_NAME, STATUS, DATABASE_STATUS FROM V\$INSTANCE; PROMPT Statut des PDBs de la base $sid show pdbs; PROMPT _______________________________________________________________ EOF done } function startup () .... function shutdown () ... function backup () ..... function main () { # chargement de la configuration CONFIG_FILE=/monappli/$(basename "$0" ".sh").conf echo "Fichier de configuration : $CONFIG_FILE" [[ -f "$CONFIG_FILE" ]] && source "$CONFIG_FILE" || { echo "Fichier de configuration introuvable" exit 1 } # récupération des ORACLE_SID oracle_sids=() echo "oracle_sid $oracle_sids" get_oracle_sids echo "Lancement fonction get_oracle_sids" [[ -z $oracle_sids ]] && { echo "Oracle SIDS dans la condition pour la fonction statut $oracle_sids" echo "Impossible de déterminer un ORACLE_SID" exit 1 } while : do echo "On rentre dans l'exécution de toutes les fonctions" echo "valeur du case : $1" case "$1" in status) echo "On est dans la fonciton statut" get_status ;; start) echo "On est dans la fonction startup" startup ;; stop) echo "On est dans la fonction stop" shutdown ....
- On est sorti du main
- Fichier de configuration : /mon appli_conf/sauvegarde_bdd_oracle.conf
- oracle_sid
- Récupération des spfiles: /exec/oracle/product/12.2.0.1/db/dbs/spfileXXXXX.ora
- Filename de la fonction get_oracle_sids : spfileXXXXX.ora
- Oracle_sids fonciton get_oracle: 0
- Filename de la fonction get_oracle_sids : spfileXXXXX.ora
- Oracle_sids fonciton get_oracle: 0 1
- Filename de la fonction get_oracle_sids : spfileXXXXX.ora
- Oracle_sids fonciton get_oracle: 0 1 2
- Lancement fonction get_oracle_sids
- On rentre dans l'exécution de toutes les fonctions
- valeur du case :
Quelqu'un aurait une idée car je ne comprend pas
Merci à tous par avance
Partager