Stratégie de back up LU Pascal ITI02M Semestre5 Version 1
Sommaire I. Introduction... 3 II.Les différents types de pannes 3 a. Panne d'un processus utilisateur... 3 b. Panne d'une instance... 3 c. Panne d'un support... 3 III. Principes de sauvegarde d une base Oracle9i... 3 a. Sauvegarde base fermée... 4 b. Sauvegarde base ouverte... 5 1. Offline Back-up... 5 2. Online Back-up/Sauvegarde à chaud... 5 Phase 1 :... 5 Phase 2 :... 5 c. Sauvegarde avec Oracle Entreprise Manager... 6 Historique des révisions Date Version Description Auteur 21 Juin 2004 1 LU Pascal Responsables du projet : REMARCK Daniel (Chef de projet) COICADAN Aurélien (Responsable installation) LU Pascal (Responsable Installation) LU Pascal - 2 - Stratégie de sauvegarde
I. Introduction Sauvegarde et restauration, permettent de se prémunir plus ou moins parfaitement de la perte accidentelle de données physique, fichier de données ou autre. Principaux cas de figure : corruption de fichier, perte de fichier, perte de disque. Obéissent à une stratégie : - Quoi sauvegarder : totalité, tablespace, uniquement les données sensibles, etc. - Quand : fréquence pluri quotidienne, quotidienne, hebdomadaire, etc. - Comment : à froid, à chaud, physiquement, logiquement Répondent à des contraintes : - disponibilité des données : haute, moyenne, basse - importance relative de certaines données - temps de reprise - volume maximum de perte supporté - économie (par exemple la très haute disponibilité coûte cher...) II. Les différents types de pannes a. Panne d'un processus utilisateur Ce genre de panne intervient quand un utilisateur tue le processus sans avoir terminé une transaction ou lorsque la connexion est rompue. Dans ce cas, vous n'avez rien à faire, le processus PMON se charge de repérer ces processus et d'effectuer un rollback (en utilisant le segment rollback) sur les données utilisées. Le système se retrouve tout seul dans un état consistant. b. Panne d'une instance Ce type de panne est plus problématique. Il affecte un certain nombre d'utilisateurs et de transactions. Cette panne peut avoir plusieurs raisons : l'ordinateur ou l'os se crashe, le DBA arrête une instance avec l'option abord,... Le gros problème avec ce genre de panne, est que l'on a perdu le contenu du SGA non encore écrit sur le disque. Dès lors, la seule façon de se retrouver dans un état consistant est d'utiliser les fichiers de Redo log dans une phase appelée recovery. c. Panne d'un support Cette panne est assez grave dans le sens ou l'on perd des données. La seule façon de se retrouver dans un état stable est de faire un backup. III. Principes de sauvegarde d une base Oracle9i Le choix du type de sauvegarde dépend des contraintes et sur le niveau de disponibilité requis par la machine. Il faut se poser la question inverse : «De combien de temps dispose-t-on pour remettre en oeuvre les bases de données en cas d incident?»cela permettra de choisir les moyens adéquats. Il est souvent nécessaire de ne pas interrompre le service lors la sauvegarde, c'est ce que l'on nomme la sauvegarde à chaud : la base est en cours d'utilisation lors de la sauvegarde. Les fichiers composant une BDD Oracle, sont des fichiers binaires et fortement liés entre eux il est donc impossible de simplement copier ceux-ci puisque lorsque la base est en fonctionnement ils sont en constante modification. Une telle sauvegarde ne pourrait être restaurer, les fichiers représentant alors une base dans un état inconsistant. LU Pascal - 3 - Stratégie de sauvegarde
Rappel des structures physiques utiles : Les fichiers bases : les fichiers de données (datafiles ou databasefiles) les fichiers journaux (logfiles ou redologfiles) les fichiers de contrôle (control files) Et d autres éléments : les fichiers d'initialisation ou de paramétrage (initsid.ora) les fichiers d administrations placés en /u01/app/oracle/admin les fichiers de configuration d Oracle Net (listener et tnsnames) les fichiers de mot de passe (password file) les fichiers d'archivage des journaux Infos utiles du dictionnaire sur la base et ses fichiers Nom de la vue v$database DBA_TABLESPACES DBA_DATA_FILES v$logfile v$log_history v$log v$parameter v$controlfile infos description générale de la base description des tablespaces et fichiers description des fichiers de données description des redologsz info sur l'historique de tous les redos issus du control file infos sur les groupes et les membres TOUS les parametres d'init de l'instance, y compris CONTROL_FILES... nom des control files Oracle 9i offre 2 type de sauvegarde : logique et physique Sauvegarde logique Méthodes de sauvegarde Sauvegarde physique Oracle Export/Import Online back-up Offline back-up Base fermée Contient la définition de tous les objets (tables, index, synonymes..) Exporte les données Les tablespaces doivent être ouverts. Utilisée pricipalement pour transférer une base de machine à machine, changer de version d Oracle, réorganiser des données fragmentées Sauvegarde physique de tous les fichiers qui composent la base S effectue tablespace par tablespace La base doit être en mode ARCHIVELOG La sauvegarde des fichiers est effectuée sous Linux Les utilisateurs continuent à travailler normalement pendant l opération a. Sauvegarde base fermée Sauvegarde physique de tous les fichiers qui composent la base S effectue tablespace par tablespace La base peut être en mode NOARCHIVELOG La sauvegarde des fichiers est effectuée sous Linux Les utilisateurs ne peuvent accéder au tablspace en cours de sauvegarde Sauvegarde physique de tous les fichiers qui composent la base La sauvegarde des fichiers est effectuée sous Linux S effectue base fermée Les utilisateurs ne peuvent accéder à la base LU Pascal - 4 - Stratégie de sauvegarde
Cette méthode consiste juste à copier les données sur un autre support fiable, le plus souvent moins coûteux et amovible mais ne nécessitant pas d'accès direct, comme les bandes magnétiques. Elle ne prémunie donc pas contre la détérioration du système ou du logiciel Oracle mais simplement les données. b. Sauvegarde base ouverte Deux genres de sauvegarde sont très utilisés : le online backup ou «sauvegarde à chaud» et le offline backup. Dans les deux cas, le backup consiste en la copie des fichiers de données, de contrôle et de redo log, ainsi que le fichier initialisation bien entendu. 1. Offline Back-up C'est la façon la plus simple de faire. Il suffit de procéder ainsi : connaître l'ensemble des fichiers de données : SELECT file_name_ FROM sys.dba_data_files;, connaître l'ensemble des fichiers de redo log : SELECT member FROM sys.v$logfile;, connaître l'ensemble des fichiers de contrôle : SHOW PARAMETER control_files;, repérer le fichier d'initialisation, arrêter toutes instances et fermez la base de données, copier ces fichiers par le biai de l'os, la procédure de sauvegarde est terminée. Phase 1 : 2. Online Back-up/Sauvegarde à chaud Passer tous les tablespaces en mode backup : For record in (select tablespace_name from sys.dba_tablespaces); loop alter tablespace record.tablespace_name begin backup; End loop ; Copier tous les fichiers des tablespaces sur un support de sauvegarde. Vérifier que la copie des fichiers s est bien passée. Repasser tous les tablespaces en mode normal : For record in (select tablespace_name from sys.dba_tablespaces); loop alter tablespace record.tablespace_name end backup; End loop ; Phase 2 : Forcer l archivage du fichier RedoLog actif. alter system switch logfile; Forcer la sauvegarde d un fichier de contrôle vers le répertoire d archivage. alter database backup controlfile to '/OracleArchive/ORCLctrlfile'; LU Pascal - 5 - Stratégie de sauvegarde
Copier le contenu du répertoire d archivage des fichiers RedoLog sur un support de sauvegarde. Copier le fichier de contrôle créé précédemment sur un support de sauvegarde. Vérifier que la copie des fichiers s est bien passée. c. Sauvegarde avec Oracle Entreprise Manager Rman signifie Recovery Manager, il s'agit d'un utilitaire fourni avec le serveur de base de données Oracle depuis la version 8 et permettant d'aider les DBA à gérer les opérations de sauvegarde et de restauration des bases de données. Rman est constitué d'une interface en ligne de commande puissante et permettant de créer des scripts automatisant les sauvegardes. Le DBA dispose aussi d'une interface graphique via la console d'oem (Oracle Enterprise Manager). Il peut être piloté via des applications tierces comme des gestionnaires de sauvegarde plus généraliste et il est intégré dans le noyau d'oracle 8i. Notez aussi que pour la sauvegarde autre que sur disque il est nécessaire d'utiliser des logiciels prenant en charge l'interface MML (Media Management Layer) définie par oracle. Rman offre un certain nombre de fonctionnalités : Sauvegarde de la database, des tablespaces, des datafiles, des contol files et des archive logs. Gère les sauvegardes incrémentales. Stockage des scripts sur le serveur, dans la base de donnée. Gestion de la taille des sauvegardes. Possibilité de paralléliser celles-ci sur plusieurs fichiers répartis sur plusieurs disques ou bandes. Compression des blocs inutilisés. Contrôle de flux pour les I/O : permet de ne pas impacter trop les performances durant la sauvegarde. Vérification des sauvegardes. Utilisation d'une base de donnée pour gérer l'historique des sauvegardes : le catalog. Son usage n'est pas obligatoire. Nous ne pourrons malheureusement pas traiter en détail toutes ces fonctionnalités car rman s'il est assez simple à mettre en œuvre est un outil puissant correspondant aux besoins que peuvent avoir les grandes entreprises et est donc excessivement paramétrable. Maintenant que nous avons succinctement défini ce qu'était Rman nous allons revenir sur le principe même de sauvegarde : son importance et les contraintes de sa mise en œuvre. LU Pascal - 6 - Stratégie de sauvegarde