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:
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 confCode:
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:
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:
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:
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