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
Script conf
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;
En sorti d'écran :
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
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
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
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
Partager