Transcript Cours RMAN

Cours RMAN
Sauvegardes Adélie
via RMAN et Time Navigator
Lionel Frachon - SII
Page 1
Sommaire
•
•
•
•
•
•
•
•
•
Rman : Généralités
Time Navigator : Généralités
Principe de la sauvegarde Adelie
Format de la sauvegarde
Surveillance de l’activité
Script Adélie commenté
Principe de restauration
Vues Rman utiles
Scripts sh (shell)
Lionel Frachon - SII
Page 2
Sommaire
•
•
•
•
•
•
•
•
•
Rman : Généralités
Time Navigator : Généralités
Principe de la sauvegarde Adelie
Format de la sauvegarde
Surveillance de l’activité
Script Adélie commenté
Principe de restauration
Vues Rman utiles
Scripts sh (shell)
Lionel Frachon - SII
Page 3
RMAN - Généralités
• Rman (Recovery Manager) est l’utilitaire par
excellence d’Oracle visant à sauvegarder une
base de données à chaud
• Rman utilise une interface similaire à SQLplus
• Peu de commandes pour une portabilité
maximum : un script écrit sur Hp-Ux peut être
porté immédiatement sur NT, Linux…
Lionel Frachon - SII
Page 4
• Rman utilise un catalogue pour conserver la liste
des sauvegardes effectuées.
• Pour Adélie, ce catalogue est nommé CATAL et
est situé sur servdon1
• Lors de la restauration, c’est ce catalogue qui
est utilisé par Rman pour donner le « chemin le
plus court » entre l’état actuel et l’état visé. Il
n’est pas possible de modifier ce chemin,
déterminé automatiquement.
Lionel Frachon - SII
Page 5
• Des commandes de sauvegarde :
• Backup database
• Backup controlfile
• Restore database
• Des commandes de maintenance
• List backup of database
• Crosscheck backup
• Des commandes pour le catalogue de
recupération
• Connect target
• Create catalog, drop catalog
Lionel Frachon - SII
Page 6
• La totalité des commandes RMAN de
sauvegarde, de restauration et de
vérification fonctionnent par script
• Format du script:
Run
{
Allocate channel c1 ….
Backup database….
….
Release channel c1….
}
Lionel Frachon - SII
Page 7
• Une opération de sauvegarde/restauration
Rman fonctionne obligatoirement sur au
moins un canal
• Un canal est systématiquement associé à
une unité physique
• «type disk » pour sauvegarde sur disque
• «type sbt_tape » pour sauvegarde sur bande
Lionel Frachon - SII
Page 8
• Les commandes ne nécessitant pas d’être
dans un script sont :
•
•
•
•
Les commandes de catalogue
Les commandes de connexion
Les commandes de configuration
Les commandes sql envoyées (ex : sql ‘alter
system switch logfile’);
• Les commandes de listage des sauvegarde
Lionel Frachon - SII
Page 9
• A noter : les scripts RMAN n’ont pas la
possibilité d’être configurés, ni commentés.
• Seul moyen éventuel de « configurer » les
scripts : écrire un script paramétrable générant
le script Rman.
• Pour Adélie, des scripts génériques ont été
écrits; ils sont réutilisés pour toutes les instances
(/opt/sauvegarde_ADELIE/rman)
Lionel Frachon - SII
Page 10
Sommaire
•
•
•
•
•
•
•
•
•
Rman : Généralités
Time Navigator : Généralités
Principe de la sauvegarde Adelie
Format de la sauvegarde
Surveillance de l’activité
Script Adélie commenté
Principe de restauration
Vues Rman utiles
Scripts sh (shell)
Lionel Frachon - SII
Page 11
Time Navigator - Généralités
• Pour Adélie, Time Navigator n’est utilisé (en sus de la
couche graphique de gestion) qu’en tant que MML
(Media Management Layer = Couche de gestion de
media)
• C’est donc Tina qui affecte les bandes en fonction des
besoins et rapatrie les fichiers stockés en fonction des
demandes d’ Rman.
• Une interface spécifique à Rman est utilisée, via une
librairie partagée (/tina/Lib/libtina_rman.sl, renommée en
/oracle/ora920/lib/libobk.o) sur HP-Ux 64bits
Lionel Frachon - SII
Page 12
• Principe
1 canal RMAN= 1 jeu de bandes Tina
• Pour chaque jeu de bande est associé un type
de sauvegarde
•
•
•
•
ORA_TOTA pour les sauvegardes annuelles
ORA_TOTM pour les sauvegardes mensuelles
ORA_INC1 pour les sauvegardes hebdomadaires
ORA_INC2 pour les sauvegardes journalières
• Rman ne peut de toutes façons gérer plus de 4
canaux en simultané.
Lionel Frachon - SII
Page 13
Sommaire
•
•
•
•
•
•
•
•
•
Rman : Généralités
Time Navigator : Généralités
Principe de la sauvegarde Adelie
Format de la sauvegarde
Surveillance de l’activité
Script Adélie commenté
Principe de restauration
Vues Rman utiles
Scripts sh (shell)
Lionel Frachon - SII
Page 14
Principe de la sauvegarde
• A chaque sauvegarde n’est affecté qu’un seul canal,
pour éviter la parallélisation des bandes et donc la
dispersion des fichiers.
• Chaque set de sauvegarde n’est donc a priori présent
que sur une seule bande (sauf si la sauvegarde dépasse
la taille d’une bande (320Go))
• Bandes sélectionnées par le réglage du canal :
allocate channel c1 type 'sbt_tape‘ parms="ENV=(TINA_HOME=/tina,
TINA_SERVICE_NAME=tina, TINA_RMAN_CATALOG=adelie,
TINA_RMAN_FOLDER=ORA_TOTA, TINA_RMAN_USER=oracle)";
Lionel Frachon - SII
Page 15
• La duplication des bandes pour les sauvegardes
annuelles et mensuelles est faite directement par Tina, et
non par Rman
• La politique de rétention est gérée par Tina :
•
•
•
•
Annuelles : 5 ans
Mensuelles : 1 an
Hebdomadaires : 1 mois
Journalières : 1 semaine
ce qui permet à Tina de recycler les bandes trop
anciennes
• La clôture des bandes est automatique mais gérée en
externe (scripts clôture_bande_xxxxxxxxxx.sh)
Lionel Frachon - SII
Page 16
Sauvegardes incrémentales cumulatives
Lionel Frachon - SII
Page 17
Sommaire
•
•
•
•
•
•
•
•
•
Rman : Généralités
Time Navigator : Généralités
Principe de la sauvegarde Adelie
Format de la sauvegarde
Surveillance de l’activité
Script Adélie commenté
Principe de restauration
Vues Rman utiles
Scripts sh (shell)
Lionel Frachon - SII
Page 18
Format de sauvegarde
• Les sauvegardes RMAN (correspondant
aux blocs changés) sont compilées dans
un seul fichier, dont le nom est contrôlé
par le paramètre ‘format’ de la commande
backup, ex :
format 'Annu_%d_%D%M%Y_%u'
%d : instance
%D%M%Y : date
%u : identifiant unique pour effectuer plusieurs sauvegardes d’affilée.
Lionel Frachon - SII
Page 19
• La sauvegarde est envoyée par Rman à
Tina, qui créé un pipe dans /tmp pour
effectuer la sauvegarde.
• La sauvegarde s’effectue pour Adélie en
mode synchrone.
• Comment lister les sauvegardes (mode
connecté):
• List backup of database;
• List backup of archivelog all;
• List backup of controlfile;
Lionel Frachon - SII
Page 20
Sommaire
•
•
•
•
•
•
•
•
•
Rman : Généralités
Time Navigator : Généralités
Principe de la sauvegarde Adelie
Format de la sauvegarde
Surveillance de l’activité
Script Adélie commenté
Principe de restauration
Vues Rman utiles
Scripts sh (shell)
Lionel Frachon - SII
Page 21
Surveillance d’activité
• Tina communique avec Rman, la trace peut être
trouvée dans
/oracle/admin/SILOXXXX/udump/sbtio.log
• Tina peut etre surveillé via le log
/tina/Adm/Event : faire un pour suivre l’avancement
d’une tail –f /tina/Adm/event sauvegarde par exemple.
• Rman peut etre surveillé via le log log_rman.txt
pendant la sauvegarde ou dans les logs
applicatifs (/var/opt/ADE-LOG/) une fois celle-ci
terminée.
Lionel Frachon - SII
Page 22
Sommaire
•
•
•
•
•
•
•
•
•
Rman : Généralités
Time Navigator : Généralités
Principe de la sauvegarde Adelie
Format de la sauvegarde
Surveillance de l’activité
Script Adélie commenté
Principe de restauration
Vues Rman utiles
Scripts sh (shell)
Lionel Frachon - SII
Page 23
Script Adélie commenté
•
•
su – declaadl
rman catalog rman/rman@catal
•
•
•
•
•
•
•
•
•
•
connect target; (connexion du catalogue à la base de données cible (« target database»)
configure backup optimization off; (pas d’optimisation de place)
configure controlfile autobackup off; (pas de sauvegarde automatique des fichiers de contrôle)
sql 'alter system switch logfile'; (change le fichier archivelog courant pour pouvoir le sauvegarder au complet)
change archivelog all validate; (verifie le statut des fichiers d’archivelog pour synchroniser le catalogue)
resync catalog; (resynchronisation complète forcée du catalogue)
run
{(début du script de sauvegarde)
allocate channel c1 type 'sbt_tape'
parms="ENV=(TINA_HOME=/tina, TINA_SERVICE_NAME=tina,
TINA_RMAN_CATALOG=adelie, TINA_RMAN_FOLDER=ORA_TOTA,
TINA_RMAN_USER=oracle)"; (on alloue un canal de sauvegarde sur le jeu de bandes annuelles)
backup full format 'Annu_%d_%D%M%Y_%u' database include current controlfile; (sauvegarde full de la
•
base de données, y compris les ctl sauvegardés en double (dans dbs))
•
•
•
backup archivelog all delete input skip inaccessible; (sauve les archivelogs et les efface)
release channel c1; (dé-alloue le canal de communication)
}
Lionel Frachon - SII
Page 24
Sommaire
•
•
•
•
•
•
•
•
•
Rman : Généralités
Time Navigator : Généralités
Principe de la sauvegarde Adelie
Format de la sauvegarde
Surveillance de l’activité
Script Adélie commenté
Principe de restauration
Vues Rman utiles
Scripts sh (shell)
Lionel Frachon - SII
Page 25
Principe de restauration
• Il s’agit dans ce cas d’allouer la totalité des
canaux, un par jeu de bande, afin de
pouvoir ramener la totalité des fichiers
réclamés par Rman pour la reconstruction
de la base.
• Trois étapes sont nécessaires :
• Restauration du fichier de contrôle
• Restauration des fichiers de la base de données
• Application des archivelog et redolog si besoin est.
Lionel Frachon - SII
Page 26
• Ces trois étapes correspondent à trois
scripts distincts, afin de s’adapter aux
besoins du moment :
• A_Restore_Controlfile.rman
• B_Restore_Database.rman
• C_Recover_Database.rman
• Ces scripts peuvent être modifiés pour les
adapter aux besoins, notemment le PITR.
Lionel Frachon - SII
Page 27
• Cf. documentation « Restauration de
bases de données » (SII 0802-B3-FMO05)
pour le mode opératoire complet de la
restauration.
Lionel Frachon - SII
Page 28
Sommaire
•
•
•
•
•
•
•
•
•
Rman : Généralités
Time Navigator : Généralités
Principe de la sauvegarde Adelie
Format de la sauvegarde
Surveillance de l’activité
Script Adélie commenté
Principe de restauration
Vues Rman utiles
Scripts sh (shell)
Lionel Frachon - SII
Page 29
Vues RMAN utiles
• RMAN est fourni avec un certain nombre
de vues dynamiques permettant
d’interroger directement la base de
données en sql sans passer par l’utilitaire
rman
• Pratique pour lister plusieurs composants
de plusieurs bases de données.
Lionel Frachon - SII
Page 30
Vues Rman
•
•
•
•
•
•
•
•
•
•
RC_ARCHIVED_LOG
RC_BACKUP_CONTROLFILE
RC_BACKUP_DATAFILE
RC_BACKUP_PIECE
RC_BACKUP_REDOLOG
RC_BACKUP_SET
RC_CHECKPOINT
RC_DATABASE
RC_DATAFILE
RC_REDO_LOG
•
•
•
•
RC_RMAN_CONFIGURATION
RC_TABLESPACE
DB
DBINC
•
Utilisation comme n’importe quelle table SQL…..
Lionel Frachon - SII
=> Voir les sauvegardes d’archivelog
=> Voir les sauvegardes de controlfile
=> Voir les sauvegardes de fichiers
=> Voir un morceau d’un set de sauvegarde
=> Voir les sauvegardes des redolog
=> Voir un ensemble (« set ») de sauvegardes
=> Voir l’etat des CP lors de la sauvegarde
=> Voir les bases de données déclarées
=> Voir les fichiers des BD sauvegardées
=> Voir les fichiers redologs des BD
sauvegardées
=> Voir la configuration d’RMAN
=> Voir les sauvegardes des tablespaces
=> Liste des bases de données
=> Liste des « incarnations » de bases de
données
Page 31
Sommaire
•
•
•
•
•
•
•
•
•
Rman : Généralités
Time Navigator : Généralités
Principe de la sauvegarde Adelie
Format de la sauvegarde
Surveillance de l’activité
Script Adélie commenté
Principe de restauration
Vues Rman utiles
Scripts sh (shell)
Lionel Frachon - SII
Page 32
Scripts sh (shell)
• Les scripts sh fournissent une méthode
pratique pour enrober les scripts Rman,
qui ne sont pas paramétrables.
• Ils sont exécutés par chaque utilisateur
Adélie, afin de bénéficier des variables
d’environnement (ex : ORACLE_SID, mot
de passe utilisateur rman, destinations des
logs, etc…).
Lionel Frachon - SII
Page 33
•
•
•
•
•
•
•
•
•
•
•
Variables créées:
PATH_SH
=> répertoire des scripts sh
PATH_RMAN => répertoire des scripts rman
PATH_SQL
=> répertoire des scripts sql
PATH_SCRIPTS_LOG
=> répertoire des logs
CONFIG_PATH
=> répertoire du fichier de config
ANNU_ARCHIVE_LOG => nom du log annuel
MENS_ARCHIVE_LOG => nom du log mensuel
HEBD_ARCHIVE_LOG => nom du log hebdo
JOUR_ARCHIVE_LOG => nom du log journalier
TARGET_DATABASE => Instance sauvegardée
Lionel Frachon - SII
Page 34
• Fonctionnement
– Le script vérifie tout d’abord qu’aucune sauvegarde
n’est en cours (fichier .wit dans $CONFIG_PATH)
– Vérifie si le paramètre archivelog est passé au script :
dans ce cas la, passe la base en archivelog et la
replace en noarchive en sortant
– Crée le fichier témoin
– Lance le processus de sauvegarde via le script
RMAN
– Vérifie le code erreur en retour d’RMAN et decide si
la sauvegarde est ok ou non.
– Affiche le log rman dans tous les cas (temporaire)
– Toutes ces opérations sont gardées dans le log situé
dans $PATH_SCRIPT_LOG (ici /var/opt/ADE-LOG)
Lionel Frachon - SII
Page 35