Bonjour,

J'essaie de créer un script .sh et une partie de script rman pour pouvoir faire mes sauvegardes dans un premier temps.
Je ne connais pas donc je découvre soyez indulgent
J'ai rajouté plein d'écho et je vois qu'il n'arrive pas à rentré dans mon case ou je fait l'appel à toute mes fonctions

Malheureusement je n'arrive pas à le faire tourner
Script sh
Code bash : 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
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"
  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
....

Script RMAN
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
connect target /
set echo on;
crosscheck backup;
crosscheck archivelog all;
configure default device type to disk;
configure device type disk backup type to compressed backupset;
configure controlfile autobackup off;
backup spfile tag &1;
backup database include current controlfile tag &1 plus archivelog tag &1;
backup backupset from tag &1 to destination '&2';
delete noprompt archivelog until time 'sysdate-2';
delete noprompt backup completed before 'sysdate-2';
exit;
Script conf
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
ORACLE_HOME=/exec/oracle/product/12.2.0.1/db
APPLI="MONAPPLI"
RECIPIENTS="toto@gmail.com"
UTC_DATE=$(date -u +%Y_%m_%d)
TAG="daily_full_${UTC_DATE}"
 
# Petit obligation pour utiliser la partie rman cf forum internet
NLS_LANG=American_America.UTF8
En sorti d'écran :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
./sauvegarde_bdd_oracle.sh
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
Quand je regarde en BDD la table pdbs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
SQL> show pdbs
 
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 MONAPPLI                       READ WRITE NO
SQL>

Quelqu'un aurait une idée car je ne comprend pas

merci à tous par avance