Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance...

49
Sauvegarde et sécurité Razvan Bizoï Oracle11g © Groupe Eyrolles, 2011, ISBN : 978-2-212-12899-4

Transcript of Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance...

Page 1: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Sauvegarde et sécurité

Razvan Bizoï

Oracle11g

faux-titre_oracle_securite.indd 2 28/11/10 15:55

© Groupe Eyrolles, 2011, ISBN : 978-2-212-12899-4

Page 2: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration

Avant-propos

Oracle est le système de base de données le plus utilisé au monde. Il fonctionne de façon relativement identique sur tout type d'ordinateur. Les connaissances acquises sur une plate-forme sont donc utilisables sur une autre ; les utilisateurs ou développeurs Oracle expérimentés sont des professionnels très demandés.

Pour une bonne compréhension de l'ouvrage, il est souhaitable que le lecteur ait une connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et PL/SQL.

Cet ouvrage, Oracle 11g – Sauvegarde et restauration, vous permettra d'acquérir des connaissances solides sur les tâches fondamentales liées à la sécurité, à la sauvegarde et à la restauration des bases de données Oracle 11g. Il complète un premier ouvrage fondamental du même auteur chez le même éditeur, Oracle 11g – Administration. Ces deux ouvrages peuvent vous préparer aux examens de certification Oracle :

- 1Z0-052 : Oracle Database 11g Administration I.

- 1Z0-053 : Oracle Database 11g Administration II.

Ce guide de formation vise surtout à être plus clair et plus agréable à lire que les documentations techniques, exhaustives et nécessaires, mais ingrates, dans lesquelles vous pourrez toujours vous plonger ultérieurement. Par ailleurs, l'auteur a aussi voulu éviter de ne fournir qu'une collection supplémentaire de « trucs et astuces », mais plutôt expliquer les concepts et les mécanismes avant d'indiquer les procédures pratiques.

Dans la mesure où l'on dispose du matériel informatique nécessaire, il est important de réaliser les ateliers (travaux pratiques), qui sont indispensables à l'acquisition d'une compétence réelle, et qui permettent de comprendre vraiment la manière dont le système fonctionne.

En fin de chaque module un QCM est proposé, pour vérifier certaines des connaissances acquises. Vous pourrez télécharger les réponses aux QCM depuis le site de l’éditeur www.editions-eyrolles.com : dans la zone <Recherche> saisissez G12899 et validez par <Entrée>.

Bon courage !

Page 3: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration T-1

Table des matières

PRÉAMBULE.............................................................................................. P-1

Progression pédagogique ...................................................................................................... P-2 Conventions utilisées dans l’ouvrage ................................................................................... P-6

Module 1 L'INFRASTRUCTURE DE STOCKAGE .............................................. 1-1

Automatic Storage Management ........................................................................................... 1-2 L’architecture de stockage ..................................................................................................... 1-3 La technologie RAID............................................................................................................. 1-5 Les niveaux standards ............................................................................................................ 1-6 Les niveaux combinés ........................................................................................................... 1-7 L’installation du Grid Infrastructure ..................................................................................... 1-8 Le privilège SYSASM ........................................................................................................... 1-9 L’installation d’ASMLib ..................................................................................................... 1-10 La configuration des disques ............................................................................................... 1-12 Le paramétrage du système ................................................................................................. 1-14 Le paramétrage du système ................................................................................................. 1-17 Atelier 1 ............................................................................................................................... 1-19

Module 2 L'INSTANCE ASM ...................................................................... 2-1

L'instance ASM ..................................................................................................................... 2-2 Les processus ASM ............................................................................................................... 2-5 Le fichier paramètre............................................................................................................... 2-8 Les vues dynamiques ........................................................................................................... 2-10

Page 4: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Table des matières

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration T-2

Les vues dynamiques .......................................................................................................... 2-12 L’outil Oracle Restart .......................................................................................................... 2-14 Le processus de démarrage.................................................................................................. 2-15 L’utilitaire CRSCTL ........................................................................................................... 2-16 L’utilitaire SRVCTL ........................................................................................................... 2-19 L’utilitaire SRVCTL ........................................................................................................... 2-21 Atelier 2 ............................................................................................................................... 2-23

Module 3 LA GESTION AUTOMATIQUE DE STOCKAGE .................................... 3-1

Le groupe de disques ............................................................................................................. 3-2 Le groupe d’échec ................................................................................................................. 3-3 La résolution de panne .......................................................................................................... 3-4 Les fichiers logiques .............................................................................................................. 3-5 La création d’un groupe ........................................................................................................ 3-7 La modification d’un groupe ............................................................................................... 3-11 Le rééquilibrage dynamique ................................................................................................ 3-14 La resynchronisation rapide ................................................................................................ 3-17 L’utilitaire ASMCA ............................................................................................................ 3-18 La console d’administration ................................................................................................ 3-19 L’utilitaire ASMCMD ......................................................................................................... 3-20 Atelier 3 ............................................................................................................................... 3-23

Module 4 LE FLASHBACK .......................................................................... 4-1

Flashback ............................................................................................................................... 4-2 Fonctions de conversion ........................................................................................................ 4-4 Interrogation FLASHBACK ................................................................................................. 4-5 Interrogation des versions ..................................................................................................... 4-8 DBMS_FLASHBACK ........................................................................................................ 4-11 L’interrogation des transactions .......................................................................................... 4-14 L’annulation des transactions .............................................................................................. 4-20 Le FLASHBACK table ....................................................................................................... 4-24 Le FLASHBACK ARCHIVE ............................................................................................. 4-28 Le FLASHBACK DROP .................................................................................................... 4-32 La configuration .................................................................................................................. 4-35 Le FLASHBACK DATABASE .......................................................................................... 4-37

Module 5 LES NOTIONS DE SAUVEGARDE .................................................... 5-1

L’emplacement des fichiers .................................................................................................. 5-2 Le nom des fichiers ............................................................................................................... 5-4

Page 5: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Table des matières

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration T-3

L’information du fichier de contrôle ..................................................................................... 5-6 La sauvegarde du fichier de contrôle ..................................................................................... 5-8 Le mode NOARCHIVELOG .............................................................................................. 5-12 L’archivage .......................................................................................................................... 5-13 Le mode ARCHIVELOG .................................................................................................... 5-17 La gestion des archives ........................................................................................................ 5-20 Les informations sur les tablespaces ................................................................................... 5-22 Les informations sur les fichiers .......................................................................................... 5-25 La sauvegarde du tablespace ............................................................................................... 5-28 La sauvegarde de la base ..................................................................................................... 5-31 Le fichier OFFLINE ............................................................................................................ 5-32 La création d’un fichier de données .................................................................................... 5-34 Le déplacement d’un tablespace .......................................................................................... 5-36 Le déplacement des fichiers ................................................................................................ 5-38 Atelier 5 ............................................................................................................................... 5-41

Module 6 LA SAUVEGARDE PHYSIQUE ........................................................ 6-1

La sauvegarde à froid ............................................................................................................ 6-2 La création du script .............................................................................................................. 6-4 L’exécution du script ............................................................................................................. 6-7 La restauration complète ....................................................................................................... 6-9 La sauvegarde à chaud ......................................................................................................... 6-11 La commande RECOVER ................................................................................................... 6-15 La récupération complète .................................................................................................... 6-17 La récupération des fichiers ................................................................................................. 6-20 La récupération des tablespaces .......................................................................................... 6-23 La récupération incomplète ................................................................................................. 6-25 Atelier 6 ............................................................................................................................... 6-30

Module 7 L’UTILITAIRE RMAN .................................................................. 7-1

L'utilitaire RMAN ................................................................................................................. 7-2 L’architecture RMAN............................................................................................................ 7-3 Les caractéristiques de RMAN .............................................................................................. 7-5 Les caractéristiques de RMAN .............................................................................................. 7-7 Le type de sauvegarde ........................................................................................................... 7-8 Le catalogue de récupération ................................................................................................. 7-9 L’environnement ................................................................................................................. 7-11 La création d'un catalogue ................................................................................................... 7-14 La préparation de la base ..................................................................................................... 7-15

Page 6: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Table des matières

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration T-4

L’initialisation du catalogue ................................................................................................ 7-17 Le contrôle du référencement .............................................................................................. 7-19 La synchronisation .............................................................................................................. 7-21 L’enregistrement avec OEM ............................................................................................... 7-24 Atelier 7 ............................................................................................................................... 7-27

Module 8 LA CONFIGURATION RMAN ........................................................ 8-1

Les paramètres d’initialisation .............................................................................................. 8-2 La configuration RMAN ....................................................................................................... 8-4 La stratégie de conservation .................................................................................................. 8-6 Le type d’unité ...................................................................................................................... 8-8 Le type de sauvegarde ......................................................................................................... 8-10 Le format des canaux .......................................................................................................... 8-11 Les copies de sauvegarde .................................................................................................... 8-14 La sauvegarde du fichier de contrôle .................................................................................. 8-15 La copie du fichier de contrôle ............................................................................................ 8-17 Le cryptage transparent ....................................................................................................... 8-18 Le cryptage par mot de passe .............................................................................................. 8-22 La compression des sauvegardes ......................................................................................... 8-23 L’optimisation des sauvegardes .......................................................................................... 8-24 Les journaux archivés .......................................................................................................... 8-25 La configuration avec OEM ................................................................................................ 8-26 La commande RUN ............................................................................................................. 8-28 La commande SQL .............................................................................................................. 8-29 La commande SHUTDOWN .............................................................................................. 8-30 La commande STARTUP ................................................................................................... 8-31 Atelier 8 ............................................................................................................................... 8-32

Module 9 LA SAUVEGARDE ........................................................................ 9-1

La commande REPORT ........................................................................................................ 9-2 La sauvegarde ........................................................................................................................ 9-6 La commande BACKUP ....................................................................................................... 9-8 Le format des canaux ............................................................................................................ 9-9 La sauvegarde à froid .......................................................................................................... 9-11 La sauvegarde à chaud ........................................................................................................ 9-14 La sauvegarde avec OEM ................................................................................................... 9-16 Les journaux archivés .......................................................................................................... 9-19 L’effacement des journaux .................................................................................................. 9-23 Les tablespaces .................................................................................................................... 9-25

Page 7: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Table des matières

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration T-5

L’exclusion des tablespaces ................................................................................................ 9-27 L’exclusion des fichiers ....................................................................................................... 9-28 La zone de récupération rapide ............................................................................................ 9-29 Le parallélisme des sauvegardes.......................................................................................... 9-33 Les sauvegardes multisections............................................................................................. 9-38 Atelier 9 ............................................................................................................................... 9-40

Module 10 LA SAUVEGARDE AVANCÉE ..................................................... 10-1

La sauvegarde incrémentale ................................................................................................ 10-2 La sauvegarde différentielle ................................................................................................ 10-4 La sauvegarde cumulative ................................................................................................... 10-6 La sauvegarde différentielle ou cumulative ? ...................................................................... 10-9 La sauvegarde incrémentale avec mise à jour ................................................................... 10-10 Le suivi de changements de blocs ..................................................................................... 10-13 La détection d’altérations .................................................................................................. 10-15 La validation des données ................................................................................................. 10-18 La validation des données ................................................................................................. 10-20 Atelier 10 ........................................................................................................................... 10-22

Module 11 LA GESTION DES SAUVEGARDES ............................................. 11-1

Les scripts RMAN ............................................................................................................... 11-2 Les variables de substitution ............................................................................................... 11-5 La liste des sauvegardes ...................................................................................................... 11-7 Le choix des sauvegardes .................................................................................................. 11-12 Le choix de la sauvegarde ................................................................................................. 11-15 La liste avec OEM ............................................................................................................. 11-17 La liste avec SQL .............................................................................................................. 11-18 L’existence des sauvegardes .............................................................................................. 11-23 Les sauvegardes expirées................................................................................................... 11-25 La suppression des sauvegardes ........................................................................................ 11-27 La validation des sauvegardes ........................................................................................... 11-30 Atelier 11 ........................................................................................................................... 11-32

Module 12 L’ARCHITECTURE DE DIAGNOSTIC ............................................ 12-1

Les fichiers de traces ........................................................................................................... 12-2 L’architecture de diagnostic ................................................................................................ 12-5 L’assistant de vérification .................................................................................................... 12-6 Les vérifications manuelles ................................................................................................. 12-8 Data Recovery Advisor avec OEM ................................................................................... 12-11

Page 8: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Table des matières

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration T-6

La liste des échecs ............................................................................................................. 12-13 Les conseils pour les échecs .............................................................................................. 12-15 La réparation des échecs ................................................................................................... 12-17 Atelier 12 ........................................................................................................................... 12-19

Module 13 LA RÉCUPÉRATION ................................................................. 13-1

La restauration et la récupération ........................................................................................ 13-2 La commande RESTORE ................................................................................................... 13-3 La commande RECOVER .................................................................................................. 13-5 La recherche des sauvegardes ............................................................................................. 13-6 Le fichier de contrôle .......................................................................................................... 13-8 Le mode NOARCHIVELOG ............................................................................................ 13-10 La restauration de la base .................................................................................................. 13-11 La restauration des fichiers ............................................................................................... 13-14 L'utilisation du SET NEWNAME ..................................................................................... 13-16 La récupération des blocs .................................................................................................. 13-19 Atelier 13 ........................................................................................................................... 13-22

Module 14 LA RÉCUPÉRATION AVANCÉE ................................................... 14-1

La récupération incomplète ................................................................................................. 14-2 L'utilisation du SET UNTIL ................................................................................................ 14-4 FLASHBACK DATABASE ............................................................................................... 14-8 Les incarnations ................................................................................................................. 14-11 La base auxiliaire .............................................................................................................. 14-15 La duplication .................................................................................................................... 14-16 La duplication distante ...................................................................................................... 14-20 La duplication sans sauvegarde ......................................................................................... 14-23 Atelier 14 ........................................................................................................................... 14-26

INDEX......................................................................................................... I-1

Page 9: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-1

55 Les notions

de sauvegarde Objectifs

À la fin de ce module, vous serez à même d’effectuer les tâches suivantes :

Sauvegarder le fichier de contrôle.

Mettre un tablespace en mode sauvegarde ou mettre tous les tablespaces en mode sauvegarde.

Recréer un fichier de données tel qu’il était à sa création.

Choisir les fichiers de journaux archivés qui doivent être sauvegardés et nettoyés du disque.

Contenu

L’emplacement des fichiers 5-2 Les informations sur les fichiers 5-25

Le nom des fichiers 5-4 La sauvegarde du tablespace 5-28

L’information du fichier de contrôle 5-6 La sauvegarde de la base 5-31

La sauvegarde du fichier de contrôle 5-8 Le fichier OFFLINE 5-32

Le mode NOARCHIVELOG 5-12 La création d’un fichier de données 5-34

L’archivage 5-13 Le déplacement d’un tablespace 5-36

Le mode ARCHIVELOG 5-17 Le déplacement des fichiers 5-38

La gestion des archives 5-20 Atelier 5 5-41

Les informations sur les tablespaces 5-22

BACKUP CONTROLFILE

BEGIN ou END BACKUP

SPFILE

Page 10: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-2

L’emplacement des fichiers

Module 34 : Les notions de sauvegardeTSOFT – Oracle11g Administration II

L’emplacement des fichiers

La gestion OMF (Oracle Managed Files) présente les avantages suivants :

Réduit l’espace perdu avec des fichiers obsolètes.

Simplifie la création de base de données de tests et de développements.

Réduit les erreurs d’administration des fichiers de données.

Augmente la portabilité des scripts SQL de création.

Pour pouvoir utiliser la gestion OMF (Oracle Managed Files), vous devez configurer les paramètres d’initialisation suivants :

DB_CREATE_FILE_DEST DB_CREATE_ONLINE_LOG_DEST_n La valeur du paramètre « DB_CREATE_FILE_DEST » est le nom d’un répertoire existant indiquant à Oracle où créer les fichiers de données et les fichiers temporaires.

La valeur du paramètre « DB_CREATE_ONLINE_LOG_DEST_n » est le nom d’un répertoire existant indiquant à Oracle où créer les groupes des fichiers journaux et les fichiers de contrôle. La valeur « n » peut être un numéro entre un et cinq et représente le nombre de membres multiplexes que vous souhaitez avoir. Si vous définissez uniquement « DB_CREATE_ONLINE_LOG_DEST_1 », vous n’utilisez pas le multiplexage. Par contre si vous utilisez plusieurs destinations, à la création des groupes, Oracle prend soin d’effectuer la création des membres aux destinations correspondantes.

Les paramètres d’initialisation

« DB_CREATE_FILE_DEST » et

« DB_CREATE_ONLINE_LOG_DEST_n »

sont des paramètres dynamiques que vous pouvez modifier pour correspondre aux besoins d’administration de votre base de données. Les deux paramètres peuvent être

Note

Page 11: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-3

modifiés pour l’instance tout entière ou seulement pour sa propre session à l’aide de la syntaxe « ALTER SYSTEM » ou « ALTER SESSION ».

Le changement d’emplacement ds ces paramètres ne modifie en rien les fichiers physiques déjà créés dans d’autres répertoires.

En somme, les deux paramètres sont utiles uniquement à la création des fichiers physiques et non pour leur gestion ultérieure.

SYS@ambre>alter system set db_create_file_dest= 2 'W:\donnees\oradata'; Système modifié. SYS@ambre>alter system set db_create_online_log_dest_1= 2 'X:\recuperation\oradata'; Système modifié. SYS@ambre>show parameter db_create NAME TYPE VALUE -------------------------------- ----------- --------------------- db_create_file_dest string W:\donnees\oradata db_create_online_log_dest_1 string X:\recuperation\oradata db_create_online_log_dest_2 string Y:\archives\oradata ... SYS@ambre>connect sys/P#sw0rd3@rubis as sysdba Connecté. SYS@rubis>show parameter db_create NAME TYPE VALUE --------------------------------- ----------- ------------------- db_create_file_dest string +GD_DONNEES db_create_online_log_dest_1 string +GD_RECUPERATION db_create_online_log_dest_2 string +GD_ARCHIVES ...

La zone de récupération rapide est identifiée par le paramètre « DB_RECOVERY_FILE_DEST », mais également par le paramètre « DB_RECOVERY_FILE_DEST_SIZE » qui détermine la taille maximale de stockage dans ce répertoire.

La zone de récupération rapide contient le multiplexage automatique des fichiers de contrôle et des journaux si vous n’avez pas initialisé un des paramètres « DB_CREATE_ONLINE_LOG_DEST_n ».

Il faut considérer que chaque fichier de contrôle ou chaque ficher des journaux créé va avoir une copie dans l’emplacement défini par le paramètre « DB_RECOVERY_FILE_DEST ».

Attention

Page 12: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-4

Le nom des fichiers

Module 34 : Les notions de sauvegardeTSOFT – Oracle11g Administration II

Le nom des fichiers

Une fois que les paramètres de stockage pour les fichiers de la base de données ont été initialisés avec des répertoires de votre système de fichiers actuel ou des groupes de disques de l’instance Oracle ASM, les noms des fichiers ne sont plus nécessaires pour la création du fichier de contrôle, des tablespaces, ou des fichiers de journaux.

Chaque fois que vous voulez créer un fichier de la base de données, Oracle crée automatiquement dans ce répertoire un sous-répertoire avec le nom du paramètre « DB_UNIQUE_NAME » s’il n’existe pas déjà. Ensuite, pour stocker le fichier, il crée un autre sous-répertoire suivant le type du fichier de la base de données que vous voulez créer : « CONTROLFILE » pour les fichiers de contrôles, « DATAFILE » pour les fichiers de données ou « ONLINELOG » pour les fichiers de journaux.

Pour les fichiers stockés dans des répertoires de votre système de fichiers, le format du nom du fichier est le suivant :

Pour un fichier de données : o1_mf_%t_%u_.dbf

Pour un fichier temporaire : o1_mf_%t_%u_.tmp

Pour un fichier de journal : o1_mf_%g_%u_.log

Pour un fichier de contrôle : o1_mf_%u_.ctl

%u Spécifie une chaîne de caractères d’une longueur de huit caractères qui sert d’identifiant unique pour le fichier.

%t Spécifie le nom du tablespace. Attention, il prend en compte uniquement les huit premiers caractères.

%g Spécifie le numéro du groupe des fichiers journaux.

Pour les fichiers stockés dans des groupes de disques, le format du nom du fichier est le suivant :

nom.fichier.incarnation

Page 13: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-5

file.incarnation Spécifie le numéro du fichier et son incarnation dans le groupe de disques ASM ; sert d’identifiant unique pour le fichier.

nom Le nom suivant le type du fichier. Pour un fichier de contrôle : « curent » ou « backup » suivant qu’il s’agisse du fichier courant ou de la sauvegarde. Pour un fichier de données ou temporaire : le nom complet du tablespace. Pour tous les fichiers des journaux, le nom est composé du préfixe « group_ » et du numéro du groupe.

SYS@ambre>select * from ( 2 select 'D', NAME "Nom" from V$DATAFILE 3 union all 4 select 'T', NAME "Nom" from V$TEMPFILE 5 union all 6 select 'C', NAME from V$CONTROLFILE 7 union all 8 select 'J', MEMBER from V$LOGFILE); ' Nom - ------------------------------------------------------------------ D W:\DONNEES\ORADATA\AMBRE\DATAFILE\O1_MF_SYSTEM_5YV9DZK2_.DBF D W:\DONNEES\ORADATA\AMBRE\DATAFILE\O1_MF_SYSAUX_5YV9NL4D_.DBF D W:\DONNEES\ORADATA\AMBRE\DATAFILE\O1_MF_UNDOTBS1_5YV9O989_.DBF D W:\DONNEES\ORADATA\AMBRE\DATAFILE\O1_MF_USERS_5YV9T879_.DBF T W:\DONNEES\ORADATA\AMBRE\DATAFILE\O1_MF_TEMP_5YV9OOSV_.TMP C X:\RECUPERATION\ORADATA\AMBRE\CONTROLFILE\O1_MF_5YV9B23T_.CTL C Y:\ARCHIVES\ORADATA\AMBRE\CONTROLFILE\O1_MF_5YV9B2RT_.CTL J X:\RECUPERATION\ORADATA\AMBRE\ONLINELOG\O1_MF_1_5YV9D46T_.LOG J Y:\ARCHIVES\ORADATA\AMBRE\ONLINELOG\O1_MF_1_5YV9D5VB_.LOG ... SYS@rubis>select * from ( 2 select 'D' F, NAME "Nom" from V$DATAFILE 3 union all 4 select 'T', NAME "Nom" from V$TEMPFILE 5 union all 6 select 'C', NAME from V$CONTROLFILE 7 union all 8 select 'J', MEMBER from V$LOGFILE); F Nom - ----------------------------------------------------------- D +GD_DONNEES/rubis/datafile/system.256.719181643 D +GD_DONNEES/rubis/datafile/sysaux.257.719181683 D +GD_DONNEES/rubis/datafile/undotbs1.258.719181709 D +GD_DONNEES/rubis/datafile/users.260.719181805 T +GD_DONNEES/rubis/tempfile/temp.259.719181719 C +GD_RECUPERATION/rubis/controlfile/current.256.719181579 C +GD_ARCHIVES/rubis/controlfile/current.256.719181585 J +GD_RECUPERATION/rubis/onlinelog/group_1.257.719181591 J +GD_ARCHIVES/rubis/onlinelog/group_1.257.719181595 ...

Page 14: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-6

L’information du fichier de contrôle

Module 34 : Les notions de sauvegardeTSOFT – Oracle11g Administration II

L’information du fichier de contrôle

V$CONTROLFILE

V$PARAMETER

SHOW PARAMETER CONTROL_FILES

V$CONTROLFILE_RECORD_SECTION

Le fichier de contrôle est un fichier binaire de petite taille. Pour obtenir les informations concernant l’emplacement, le nombre ou les enregistrements dans les fichiers de contrôle, il faut interroger les vues dynamiques sur les performances.

V$CONTROLFILE La vue dynamique sur la performance « V$CONTROLFILE » affiche l’ensemble des fichiers de contrôle de la base de données.

Les différents champs retournés par cette vue sont :

STATUS Affiche une valeur « NULL » si le ou les fichiers de contrôle sont valides ; sinon, il affiche la valeur « INVALID » pour tous fichiers ne pouvant pas être accessibles.

NAME Le nom du fichier de contrôle.

V$PARAMETER La vue dynamique sur la performance « V$PARAMETER » nous permet d’afficher la valeur du paramètre « CONTROL_FILES ».

SYS@rubis>select value from v$parameter 2 where name like 'control_files'; VALUE -------------------------------------------------------------------- +GD_RECUPERATION/rubis/controlfile/current.256.719181579, +GD_ARCHIVES/rubis/controlfile/current.256.719181585

Comme on l’a déjà vu auparavant, le paramètre « CONTROL_FILES » peut être affiché à l’aide de la commande « SHOW PARAMETER CONTROL_FILES ».

Page 15: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-7

SYS@rubis>show parameter control_files NAME TYPE VALUE ------------------------- ----------- ------------------------------ control_files string +GD_RECUPERATION/rubis/control file/current.256.719181579, +G D_ARCHIVES/rubis/controlfile/c urrent.256.719181585

V$CONTROLFILE_RECORD_SECTION La vue dynamique sur la performance « V$CONTROLFILE_RECORD_SECTION » affiche l’ensemble des informations concernant les enregistrements dans les fichiers de contrôle de la base de données.

Les différents champs retournés par cette vue sont :

TYPE Affiche le type de l’enregistrement.

RECORD_SIZE La taille de l’enregistrement en bytes.

RECORDS_TOTAL Le nombre total d’enregistrements alloués pour la section.

RECORDS_USED Le nombre d’enregistrements utilisés pour la section.

FIRST_INDEX La position du premier enregistrement.

LAST_INDEX La position du dernier enregistrement.

LAST_RECID L’identifiant du dernier enregistrement modifié. SYS@rubis>select type, record_size, records_total, records_used 2 from v$controlfile_record_section 3 where type in 4 ('DATAFILE','REDO LOG','TABLESPACE','LOG HISTORY') ; TYPE RECORD_SIZE RECORDS_TOTAL RECORDS_USED ------------ ----------- ------------- ------------ REDO LOG 72 56 8 DATAFILE 520 1024 66 TABLESPACE 68 1024 67 LOG HISTORY 56 292 245

Dans l’exemple précédent, vous pouvez remarquer les valeurs pour le champ « RECORDS_TOTAL » qui reprend les valeurs des paramètres :

« MAXLOGMEMBERS » « MAXLOGFILES » « MAXLOGHISTORY »

Page 16: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-8

La sauvegarde du fichier de contrôle

Module 34 : Les notions de sauvegardeTSOFT – Oracle11g Administration II

La sauvegarde du fichier de contrôle

Pour la création du fichier de contrôle, il vous est nécessaire de connaître toutes les informations concernant la structure physique de votre base de données, l’emplacement et le nom complet de tous les fichiers journaux, ainsi que l’emplacement et le nom de tous les fichiers de la base de données.

Il faut également prendre en compte le fait que les anciennes sauvegardes ne peuvent plus être utilisées ; ainsi, chaque fois que vous changez de ficher de contrôle, vous devez effectuer une nouvelle sauvegarde. Pour plus de détails, voir les modules correspondant aux sauvegardes.

Le fichier de contrôle contient des informations sur la sauvegarde utilisée par RMAN (Recovery Manager). Ces informations sont complètement perdues lors de la création d’un nouveau fichier de contrôle.

La commande suivante permet de créer le script nécessaire pour la reconstruction du fichier de contrôle :

ALTER DATABASE BACKUP CONTROLFILE TO TRACE [ AS 'fichier_trace' [ REUSE ]] [ NORESETLOGS | RESETLOGS ]; TO TRACE La sauvegarde s’effectue sous forme d’un ensemble des

scripts SQL qui permettent de recréer le fichier de contrôle et ouvrir la base de données. Par défaut, l’emplacement des scripts est le fichier de trace de la session courante.

AS 'fichier_trace' Spécifie le nom de fichier dans lequel vous souhaitez sauvegarder les scripts SQL. Il est préférable de préciser le nom du fichier ; sinon il est stocké dans le fichier de trace de votre session, que vous pouvez retrouver en interrogeant la vue « V$DIAG_INFO ».

REUSE Si le fichier existe déjà, il va être remplacé.

Page 17: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-9

NORESETLOGS L’option de l’instruction SQL générée pour démarrer la base sera « NORESETLOGS ».

RESETLOGS L’option de l’instruction SQL générée pour démarrer la base sera « RESETLOGS ».

C:\>set ORACLE_SID=quartz C:\>sqlplus / as sysdba SYS@quartz>select name from v$controlfile; NAME --------------------------------------------------------------------------- D:\APP\ORACLE\ORADATA\QUARTZ\CONTROLFILE\O1_MF_601G7YKK_.CTL SYS@quartz>alter system set control_files= 2 'D:\APP\ORACLE\ORADATA\QUARTZ\CONTROLFILE\control01.ctl' 3 scope=spfile; Système modifié. SYS@quartz>alter database backup controlfile 2 to trace as 'c:\ctl.sql' reuse noresetlogs; Base de données modifiée. SYS@quartz> SHUTDOWN IMMEDIATE ... SYS@quartz>$type c:\ctl.sql STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE "QUARTZ" NORESETLOGS NOARCHIVELOG MAXLOGFILES 40 MAXLOGMEMBERS 5 MAXDATAFILES 336 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 'D:\APP\ORACLE\ORADATA\QUARTZ\ONLINELOG\O1_MF_1_601G82QF_.LOG' SIZE 50M BLOCKSIZE 512, GROUP 2 'D:\APP\ORACLE\ORADATA\QUARTZ\ONLINELOG\O1_MF_2_601G84YQ_.LOG' SIZE 50M BLOCKSIZE 512, GROUP 3 'D:\APP\ORACLE\ORADATA\QUARTZ\ONLINELOG\O1_MF_3_601G88VT_.LOG' SIZE 50M BLOCKSIZE 512, GROUP 4 'D:\APP\ORACLE\ORADATA\QUARTZ\ONLINELOG\O1_MF_4_601G8B98_.LOG' SIZE 50M BLOCKSIZE 512, GROUP 5 'D:\APP\ORACLE\ORADATA\QUARTZ\ONLINELOG\O1_MF_5_601G8CTT_.LOG' SIZE 50M BLOCKSIZE 512, GROUP 6 'D:\APP\ORACLE\ORADATA\QUARTZ\ONLINELOG\O1_MF_6_601G8FNH_.LOG' SIZE 50M BLOCKSIZE 512, GROUP 7 'D:\APP\ORACLE\ORADATA\QUARTZ\ONLINELOG\O1_MF_7_601G8HCP_.LOG' SIZE 50M BLOCKSIZE 512, GROUP 8 'D:\APP\ORACLE\ORADATA\QUARTZ\ONLINELOG\O1_MF_8_601G8K0Y_.LOG' SIZE 50M BLOCKSIZE 512 DATAFILE 'D:\APP\ORACLE\ORADATA\QUARTZ\DATAFILE\O1_MF_SYSTEM_601FZG9M_.DBF', 'D:\APP\ORACLE\ORADATA\QUARTZ\DATAFILE\O1_MF_SYSAUX_601FZGJG_.DBF', 'D:\APP\ORACLE\ORADATA\QUARTZ\DATAFILE\O1_MF_UNDOTBS1_601FZGLD_.DBF', 'D:\APP\ORACLE\ORADATA\QUARTZ\DATAFILE\O1_MF_USERS_601FZGQ9_.DBF' CHARACTER SET WE8MSWIN1252; RECOVER DATABASE ALTER DATABASE OPEN; ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\APP\ORACLE\ORADATA\QUARTZ\DATAFILE\O1_MF_TEMP_601G8ZW9_.TMP' SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;

Page 18: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-10

SYS@quartz>@c:\ctl.sql Instance ORACLE lancée. Total System Global Area 534462464 bytes Fixed Size 2177456 bytes Variable Size 411043408 bytes Database Buffers 113246208 bytes Redo Buffers 7995392 bytes Fichier de contrôle créé. ORA-00283: session de récupération annulée pour cause d'erreurs ORA-00264: aucune récupération requise Base de données modifiée. Tablespace modifié. SYS@quartz>select name from v$controlfile; NAME -------------------------------------------------------------------------- D:\APP\ORACLE\ORADATA\QUARTZ\CONTROLFILE\CONTROL01.CTL

Dans l’exemple précédent, on commence par se connecter à la base de données « quartz » qui travaille avec un fichier de contrôle qui a un nom de fichier OMF. La modification du paramètre « CONTROL_FILES » permet de définir le nom du prochain fichier de contrôle. On sauvegarde le script de création du fichier de contrôle dans le fichier « C:\CTL.SQL ». Après avoir effacé manuellement les commentaires et la ligne vide dans le block SQL de création du fichier de contrôle, on a listé le contenu du ficher qui est exécuté par la suite.

Le fichier démarre la base de données avec un mode « NOMOUNT ». La syntaxe de création du fichier de contrôle contient l’ensemble des fichiers de journaux et des fichiers de données actuels de la base de données. Après la création du fichier de contrôle, le script lance la récupération de la base de données dans le cas où celle-ci n’a pas été arrêtée proprement. Cette commande génère une erreur « ORA-00264: aucune récupération requise ». La suite de l’exécution est l’ouverture de la base de données, mais il convient de prêter attention aux fichiers du tablespace temporaire, ceux-ci n’étant pas compris dans les fichiers de données décrits au moment de la création du fichier de contrôle.

Une fois l’exécution du script terminée, vous pouvez voir le nouveau fichier de contrôle avec le nouveau nom.

Si le paramètre « CONTROL_FILES » est présent dans le fichier « SPFILE » à la création du fichier de contrôle, Oracle utilise automatiquement ce nom pour le fichier de contrôle. Cette règle est valable aussi pour la création de la base de données car la commande « CREATE DATABASE » effectue d’abord la création du fichier de contrôle et ensuite des autres fichiers de la base de données.

Ainsi, si vous voulez utilisez la gestion automatique des fichiers OMF, vous devez effacer le paramètre « CONTROL_FILES » du fichier « SPFILE » avant la création du fichier de contrôle ; il n’est pas possible de récréer un fichier géré par Oracle. Le fichier de contrôle ainsi créé est automatiquement renseigné dans le paramètre « CONTROL_FILES ».

Attention, si vous ne travaillez pas avec le fichier de paramètres serveur « SPFILE », le paramètre « CONTROL_FILES » est initialisé par Oracle, mais uniquement dans la mémoire ; au prochain redémarrage cette information sera perdue.

Attention

Page 19: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-11

Nous avons vu la démarche de création du fichier de contrôle ; pour mettre en œuvre la création d’un fichier de contrôle, vous devez également vous reporter au module se rapportant à la restauration d’une base de données.

Cette démarche est à exécuter uniquement en dernier recours pour récupérer le fichier de contrôle.

La création d’un nouveau fichier de contrôle engendre une nouvelle incarnation de la base de données. Toute sauvegarde d’une incarnation n’est pas utilisable dans une autre incarnation.

Ainsi, il faut automatiquement effectuer une sauvegarde de votre base de données ; pour plus d’informations sur la sauvegarde et la restauration d’une base de données, voir les modules correspondants.

Attention

Page 20: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-12

Le mode NOARCHIVELOG

Module 34 : Les notions de sauvegardeTSOFT – Oracle11g Administration II

Le mode NOARCHIVELOG

t1 t2

Lorsque la base de données fonctionne dans le mode « NOARCHIVELOG », les fichiers journaux seront écrasés régulièrement, ce qui réduit les chances de reconstruction des fichiers de données à partir des fichiers journaux. Vous pouvez interroger l’état de la base des données par la commande suivante :

ARCHIVE LOG LIST Dans l’exemple précédent, vous pouvez observer une base de données qui travaille en mode « NOARCHIVELOG ». Au moment « t1 » on effectue une sauvegarde complète à froid de la base de données. La sauvegarde est composée de la copie des fichiers de données, des fichiers de contrôle, et des fichiers journaux. La base de données continue de travailler ainsi, et au moment « t2 » les fichiers journaux ont été écrasés régulièrement plusieurs fois. Le numéro de séquence du fichier journal courant est passé de « 102 » à « 152 ».

Dans le mode « NOARCHIVELOG », la seule possibilité de restauration de la base de données est la restauration complète de la base de données à l’instant « t1 ». Ainsi toutes les modifications de la base de données effectuées entre « t1 » et « t2 » sont perdues. Il est toutefois possible dans certains cas de récupérer tout ou partie des modifications apportées depuis la dernière sauvegarde.

Dans le cas le plus heureux où les fichiers de journaux n’ont pas subi un cycle complet de basculements depuis la sauvegarde utilisée, toutes les mises à jour effectuées depuis la sauvegarde peuvent être récupérées à partir des fichiers journaux.

La deuxième possibilité est de n’avoir perdu qu’un fichier de données qui n’est pas critique pour la base de données. Ainsi, au premier checkpoint, la base de données s’arrête pour ne pas perdre des données qui ne peuvent pas être récupérées. La première étape est de démarrer la base de données en mode « MOUNT » et de mettre le fichier en mode hors ligne avec la syntaxe suivante :

ALTER DATABASE DATAFILE { numéro| nom } OFFLINE DROP ; La deuxième étape consiste à ouvrir la base de données et d’effacer le tablespace auquel appartient le fichier de données. Pour plus d’informations, voir le module correspondant.

Page 21: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-13

L’archivage

Module 34 : Les notions de sauvegardeTSOFT – Oracle11g Administration II

L’archivage

Le processus « LGWR » écrit dans chacun des fichiers journaux à tour de rôle. Lorsque le premier est plein, il écrit dans le deuxième, et ainsi de suite. Une fois le dernier fichier rempli, il écrase le contenu du premier.

Lorsque la base opère dans le mode « ARCHIVELOG », elle réalise une copie de chaque fichier journal lorsqu’il est plein. La fonction d’archivage, c’est-à-dire la copie de chaque fichier journal plein, est assurée par le processus « ARCn ».

Le processus « ARCn » n’est pas un processus obligatoire; il est activé uniquement si la base de données fonctionne dans le mode « ARCHIVELOG ».

Pour changer le mode de fonctionnement de la base de données du mode « NOARCHIVELOG » en mode « ARCHIVELOG », vous devez effectuer les étapes suivantes :

Définissez un emplacement pour les fichiers journaux archivés.

Arrêtez votre base de données. Attention, la base de données doit être arrêtée proprement ; si ce n’est pas le cas, il faut d’abord l’ouvrir et l’arrêter proprement. Il faut savoir que les sauvegardes du mode « NOARCHIVELOG » ne peuvent pas être utilisées en mode « ARCHIVELOG ». Ainsi, si vous n’arrêtez pas la base de données proprement, les fichiers de données ont besoin d’une récupération pour reconstruire les blocs de données jusqu’à la dernière transaction en cours, et votre base de données entière est considérée comme une sauvegarde du mode « NOARCHIVELOG ».

Démarrez votre base de données en mode « MOUNT ».

Modifiez le mode de fonctionnement de la base de données à aide de la syntaxe suivante : « ALTER DATABASE ARCHIVELOG ; » ou « ALTER DATABASE NOARCHIVELOG ; ».

Ouvrez la base de données.

Effectuez une sauvegarde de votre base de données. C’est vital, sinon, jusqu’à la prochaine sauvegarde, votre base de données copiera bien les groupes de fichiers

Page 22: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-14

journaux dans le répertoire d’archive. Mais si vous perdez un fichier de données, vous n’aurez pas l’image initiale pour pouvoir appliquer les modifications des fichiers de journaux archivés. Pour la sauvegarde, voir les modules correspondants.

Les fichiers de journaux archivés peuvent être multiplexés pour une meilleure sécurité de la base de données. Le nombre maximum des cibles de multiplexage est de cinq.

Comme pour les groupes de fichiers journaux, si vous avez choisi le multiplexage, il est absolument nécessaire d’avoir plusieurs axes, en plus des axes pour le stockage de groupes de fichiers journaux en ligne.

Les paramètres « LOG_ARCHIVE_DEST_n » déterminent l’emplacement des copies des fichiers de journaux archivés.

Il est important de se rappeler que par défaut l’emplacement de fichiers d’archives se fait dans le répertoire défini par le paramètre « DB_RECOVERY_FILE_DEST ».

Mais le stockage dans ce répertoire est tributaire de la taille que vous avez choisie et définie dans le paramètre « DB_RECOVERY_FILE_DEST_SIZE ». Si vous avez initialisé ce paramètre autrement, par défaut sa valeur est 4 Gb, qui est infiniment petite pour une base de données de production.

Attention, le format d’initialisation du paramètre « LOG_ARCHIVE_DEST_n » doit respecter le format suivant :

LOG_ARCHIVE_DEST_n='LOCATION=répertoire'

Le format du nom des fichiers de journaux archivés est déterminé par le paramètre non dynamique « LOG_ARCHIVE_FORMAT » en utilisant les variables de formatage suivantes :

%s ou %S Le numéro de la séquence en format simple ou à longueur fixe, rempli avec des zéros.

%t ou %T Le numéro de l’instance dans le cas d’un environnement Oracle RAC, sinon « 1 ».

%d L’identifiant de la base de données ; il est utile si vous stockez dans le même répertoire les fichiers de journaux archivés de plusieurs bases de données.

%r L’identifiant unique d’un fichier de journaux archivés pour des incarnations multiples de base de données. Voir le module correspondant.

Le nom du fichier peut contenir une ou plusieurs de ces variables de formatage combinées avec des chaînes de caractères, sans utiliser d’espaces. Il est toutefois obligatoire d’utiliser les trois variables « %S » ou « %S », « %t » (uniquement dans l’environnement Oracle RAC) et « %r » pour avoir un nom unique.

Le format des noms des fichiers de journaux archivés ne doit pas contenir le nom des répertoires. Voici un exemple d’utilisation :

LOG_ARCHIVE_DEST='log%t_%d_%S_%r.arc' SYS@saphir>alter system set log_archive_format= 2 '%t_%s_%r.arc' scope=spfile; Système modifié. SYS@saphir>alter system set log_archive_dest_1 = 2 'location=/u04/archives/quartz';

Attention

Page 23: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-15

Système modifié. SYS@saphir>select name, value from v$parameter 2 where name in ('log_archive_dest_1', 3 'log_archive_dest_2', 'log_archive_format'); NAME VALUE ------------------ --------------------------------------- log_archive_dest_1 location=/u04/archives/quartz log_archive_dest_2 log_archive_format %t_%s_%r.dbf SYS@saphir>shutdown immediate Base de données fermée. Base de données démontée. Instance ORACLE arrêtée. SYS@saphir>startup mount Instance ORACLE lancée. Total System Global Area 1319473152 bytes Fixed Size 2213096 bytes Variable Size 788531992 bytes Database Buffers 520093696 bytes Redo Buffers 8634368 bytes Base de données montée. SYS@saphir>select name, value from v$parameter 2 where name in ('log_archive_dest_1', 3 'log_archive_dest_2', 'log_archive_format'); NAME VALUE ------------------ --------------------------------------- log_archive_dest_1 location=/u04/archives/quartz log_archive_dest_2 log_archive_format %t_%s_%r.arc SYS@saphir>alter database archivelog; Base de données modifiée. SYS@saphir>alter database open; Base de données modifiée. SYS@saphir>archive log list mode Database log mode Archive Archivage automatique Activé Destination de l'archive /u04/archives/quartz Séquence de journal en ligne la plus ancienne 72 Séquence de journal suivante à archiver 79 Séquence de journal courante 79 SYS@saphir>alter system switch logfile;

Page 24: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-16

Système modifié. SYS@saphir>alter system switch logfile; Système modifié. SYS@saphir>!ls -l /u04/archives/quartz total 5504 -rw-r----- 1 oracle oinstall 5620224 jui 5 16:57 1_79_723484254.arc -rw-r----- 1 oracle oinstall 1536 jui 5 16:59 1_80_723484254.arc SYS@saphir>select group#, sequence#, bytes, 2 archived, status from v$log; GROUP# SEQUENCE# BYTES ARC STATUS ---------- ---------- ---------- --- -------- 1 79 52428800 YES INACTIVE 2 80 52428800 YES INACTIVE 3 81 52428800 NO CURRENT ...

Le changement du groupe courant copie automatiquement le fichier dans le répertoire spécifié pour la destination des fichiers de journaux archivés. La taille de chaque fichier de journaux archivé est uniquement la taille réellement écrite dans ce fichier et non la taille totale du fichier. Ainsi vous pouvez remarquer que la taille des groupes des fichiers journaux est de « 50 M » et celles des deux fichiers de journaux archivés sont bien inférieures à cette taille.

Vous pouvez utiliser également les vues dynamiques sur les performances « V$DATABASE » et « V$INSTANCE » pour récupérer les informations concernant le mode de fonctionnement de la base de données.

SYS@saphir>select dbid, name, log_mode, checkpoint_change#, 2 archivelog_change#, archive_change# 3 from v$database; DBID NAME LOG_MODE CHECKPOINT_CHANGE# ARCHIVELOG_CHANGE# ARCHIVE_CHANGE# ---------- ------------------ ------------ ------------------ ------------------ --------------- 2774911582 SAPHIR ARCHIVELOG 958149 958428 911581 SYS@saphir>select instance_name, status, archiver, database_status 2 from v$instance; INSTANCE_NAME STATUS ARCHIVE DATABASE_STATUS ---------------- ------------ ------- ----------------- saphir OPEN STARTED ACTIVE

La vue « V$DATABASE » fournit les informations concernant la base de données, à savoir si elle travaille en mode « NOARCHIVELOG » ou en mode « ARCHIVELOG », et le SCN, du point de synchronisation de la base, des fichiers journaux et des fichiers journaux archivés. La vue « V$INSTANCE » fournit les informations concernant le démarrage ou non du processus « ARCH ».

Page 25: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-17

Le mode ARCHIVELOG

Module 34 : Les notions de sauvegardeTSOFT – Oracle11g Administration II

Le mode ARCHIVELOG

t1 t2

Si la base de données est configurée dans le mode « ARCHIVELOG », toutes les modifications faites sur la base de données sont enregistrées dans les fichiers journaux ; l’administrateur peut utiliser la sauvegarde présente sur le disque dur et les fichiers journaux archivés pour restaurer la base de données sans perdre aucune donnée validée.

En effet, comme l’ensemble des fichiers journaux sont disponibles, on peut récupérer tous les fichiers de données ou seulement une partie selon son besoin. On peut également effectuer des récupérations d’un ou plusieurs fichiers de données pendant que la base de données est ouverte. Pour plus d’informations sur la récupération de la base de données, ainsi que la création des tablespaces et des tables, voir les modules correspondants.

SYS@saphir>create tablespace tbs_demo datafile 2 size 10M autoextend on next 10M Tablespace créé. SYS@saphir>create table demo tablespace tbs_demo as 2 select * from dba_objects; Table créée. SYS@saphir>insert into demo select * from dba_objects; 72196 ligne(s) créée(s). SYS@saphir>insert into demo select * from dba_objects; 72196 ligne(s) créée(s). SYS@saphir>commit;

Page 26: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-18

Validation effectuée. SYS@saphir>select count(*) from demo; COUNT(*) ---------- 216588 SYS@saphir> select file_name from dba_data_files 2 where tablespace_name = 'TBS_DEMO'; FILE_NAME ----------------------------------------------------------------- /u02/donnees/oradata/SAPHIR/datafile/o1_mf_tbs_demo_633zqdn1_.dbf SYS@saphir>!rm /u02/donnees/oradata/SAPHIR/datafile/o1_mf_tbs_demo_633zqdn1_.dbf SYS@saphir>select count(*) from demo; COUNT(*) ---------- 216588 SYS@saphir>alter system checkpoint; Système modifié. SYS@saphir>select count(*) from demo; select count(*) from demo * ERREUR à la ligne 1 : ORA-00376: fichier 5 ne peut être lu à cette heure ORA-01110: fichier de données 5 : '/u02/donnees/oradata/SAPHIR/datafile/o1_mf_tbs_demo_633zqdn1_.dbf' SYS@saphir>alter database create datafile 5; Base de données modifiée. SYS@saphir>recover datafile 5; Récupération après défaillance matérielle terminée. SYS@saphir>alter database datafile 5 online; Base de données modifiée. SYS@saphir>select count(*) from demo; COUNT(*) ---------- 216588

Dans l’exemple précédent, on prépare la base de données pour simuler un point d’échec par la perte du fichier de données de l’espace logique de stockage « TBS_DEMO ».

Page 27: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-19

On crée également une table « DEMO » dans cet espace logique de stockage. La table contient « 216588 » enregistrements après les inserts successifs. Pour simuler la perte du fichier de données, on efface directement le fichier correspondant après avoir trouvé son nom. Une fois le fichier effacé, vous pouvez voir que la table est encore accessible, et que les blocs de données sont toujours dans la zone « Buffer Cache ». Rappelez-vous que l’écriture des blocs de données n’est pas synchrone avec la transaction, ainsi une fois que le point de contrôle a été exécuté « ALTER SYSTEM CHECKPOINT », l’accès aux données est impossible avant la reconstruction du fichier de données du tablespace. Comme le tablespace a été créé après le passage en mode « ARCHIVELOG », il est possible de demander à l’instance de recréer le fichier tel qu’il était à sa création. Ensuite, il suffit de reconstruire tous les blocs de données à partir des groupes de fichiers journaux et des fichiers de journaux archivés si nécessaire (ce n’est pas le cas dans notre exemple). Une fois que le fichier est reconstruit, il suffit de le mettre en ligne pour que les données soient accessibles.

Page 28: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-20

La gestion des archives

Module 34 : Les notions de sauvegardeTSOFT – Oracle11g Administration II

La gestion des archives

V$LOG_HISTORY

Vous avez la possibilité de retrouver les numéros des séquences, les « SCN », et l’instant dans le temps du début de l’écriture dans le fichier journal tel qu’il était à son archivage en interrogeant la vue dynamique « V$LOG_HISTORY ».

SEQUENCE# La séquence du fichier journal archivé.

FIRST_TIME La date et l’heure de la première modification effectuée dans le fichier journal archivé.

FIRST_CHANGE# Le premier SCN du fichier journal archivé.

NEXT_CHANGE# Le dernier SCN du fichier journal archivé.

RESETLOGS_CHANGE# Le SCN de l’ouverture de la base de données avec l’option « RESETLOGS ». Si vous utilisez cette option, Oracle efface l’ensemble des informations stockées dans les fichiers journaux.

RESETLOGS_TIME La date et l’heure de l’ouverture de la base de données avec l’option « RESETLOGS ».

SYS@rubis>select sequence#, first_change#, 2 to_char(first_time,'dd/mm/yyyy hh24:mi:ss') 3 first_time, 4 next_change# 5 from v$log_history 6 where first_time > sysdate - 2; SEQUENCE# FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# ---------- ------------- ------------------- ------------ 268 4310763 28/07/2010 06:20:50 4336087 269 4336087 28/07/2010 13:30:07 4376730 270 4376730 28/07/2010 19:25:45 4402634 271 4402634 28/07/2010 23:20:57 4426609 272 4426609 29/07/2010 05:50:36 4441448

Page 29: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-21

273 4441448 29/07/2010 09:59:00 4465351 274 4465351 29/07/2010 16:34:38 4490507 275 4490507 29/07/2010 22:04:32 4525150

La vue dynamique « V$ARCHIVED_LOG » permet de retrouver le nom du fichier journal archivé et la taille du fichier d’archive.

NAME Le nom du fichier journal archivé.

BLOCKS Le nombre de blocs du fichier journal archivé.

BLOCK_SIZE La taille du bloc d’écriture du fichier journal archivé qui est la même que celle du fichier journal. Elle dépend du système d’exploitation et elle ne peut pas être modifiée.

SYS@rubis>select sequence# seq, 2 round(blocks*block_size/1024/1024) "Mb", 3 name 4 from v$archived_log 5 where first_time > sysdate - 2; SEQ Mb NAME ------ ---- ------------------------------------------------------------------------ 268 44 +GD_RECUPERATION/rubis/archivelog/2010_07_28/1_268.270.661267809 269 36 +GD_RECUPERATION/rubis/archivelog/2010_07_28/1_269.269.661289147 270 44 +GD_RECUPERATION/rubis/archivelog/2010_07_28/1_270.346.661303275 271 44 +GD_RECUPERATION/rubis/archivelog/2010_07_29/1_271.347.661326641 272 27 +GD_RECUPERATION/rubis/archivelog/2010_07_29/1_272.348.661341543 273 44 +GD_RECUPERATION/rubis/archivelog/2010_07_29/1_273.349.661365281 274 44 +GD_RECUPERATION/rubis/archivelog/2010_07_29/1_274.350.661385087 275 44 +GD_RECUPERATION/rubis/archivelog/2010_07_30/1_275.351.661392317 276 44 +GD_RECUPERATION/rubis/archivelog/2010_07_30/1_276.352.661394511

Page 30: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-22

Les informations sur les tablespaces

Module 34 : Les notions de sauvegardeTSOFT – Oracle11g Administration II

Les informations sur les tablespaces

DBA_TABLESPACES

V$TABLESPACE

DBA_TABLESPACE_GROUPS

La vue « DBA_TABLESPACES » affiche les informations sur tous les tablespaces de la base de données. Les paramètres de stockage par défaut d’un tablespace sont utilisés pour chaque objet stocké dans ce tablespace, à moins que les commandes de création ou de modification de l’objet ne spécifient d’autres paramètres. Pour plus d’informations concernant le stockage, voir le module « La gestion du stockage ».

Les colonnes de cette vue sont :

TABLESPACE_NAME Le nom du tablespace.

BLOCK_SIZE La taille du bloc pour le tablespace.

INITIAL_EXTENT Indique la taille de l’extent initial, par défaut, pour les objets du tablespace.

NEXT_EXTENT Indique la taille de l’extent suivant, par défaut, pour les objets du tablespace.

MIN_EXTENTS Indique le nombre minimum d’extents, par défaut, pour les objets du tablespace.

MAX_EXTENTS Indique le nombre maximum d’extents, par défaut, pour les objets du tablespace.

PCT_INCREASE Indique le pourcentage d’augmentation de la taille de l’extent suivant, par défaut pour les objets du tablespace.

MIN_EXTLEN Indique la taille minimale pout les extents du tablespace.

STATUS Indique l’état du tablespace « ONLINE », « OFFLINE », « INVALID », « READ ONLY ». La valeur « INVALID » signifie que le tablespace a été supprimé.

CONTENTS Indique le type du tablespace « PERMANENT », « UNDO », ou « TEMPORARY ».

Page 31: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-23

LOGGING Indique le mode fonctionnement du tablespace, s’il effectue les journalisations ou non.

FORCE_LOGGING Indique si l’argument « FORCE LOGGING » a été utilisé lors de la création ou de la modification du tablespace.

EXTENT_MANAGEMENT Indique le mode de gestion des extents dans le tablespace, gestion locale « LOCAL » ou dans le dictionnaire de données « DICTIONARY ».

ALLOCATION_TYPE Indique le type d’allocation d’extents : gestion automatique « SYSTEM », allocation uniforme « UNIFORM », ou géré par l’utilisateur « USER ».

SEGMENT_SPACE_MANAGEMENT Indique le type de gestion de la liste des blocs libres « MANUAL » ou « AUTO ».

DEF_TAB_COMPRESSION Indique si les données peuvent être compressées « ENABLED », ou non « DISABLED ».

RETENTION Indique le type de conservation pour annulation « UNDO ». Les valeurs sont « GUARANTEE », « NOGUARANTEE », ou « NOT APPLY ».

BIGFILE Indique si le tablespace est de type « BIGFILE » ou « SMALLFILE ». Les valeurs sont « YES » ou « NO ».

ENCRYPTED Indique si le tablespace est crypté ou pas. Les valeurs sont « YES » ou « NO ».

COMPRESS_FOR Indique le niveau de compression par défaut des segments du tablespace. Les valeurs sont : « NULL », « BASIC » et « OLTP ». Uniquement pour les machines Oracle Exadata Storage Server, vous pouvez avoir encore : « QUERY LOW », « QUERY HIGH », « ARCHIVE LOW » ou « ARCHIVE HIGH ». Pour plus d’informations sur la compression, voir le module « La gestion du stockage ».

SYS@saphir>select tablespace_name "Nom", block_size/1024 "BKb", 2 contents, status, logging, 3 bigfile, retention,encrypted 4 from dba_tablespaces; Nom BKb CONTENTS STATUS LOGGING BIG RETENTION ENC --------- --- --------- --------- --------- --- ----------- --- SYSTEM 8 PERMANENT ONLINE LOGGING NO NOT APPLY NO SYSAUX 8 PERMANENT ONLINE LOGGING NO NOT APPLY NO UNDOTBS1 8 UNDO ONLINE LOGGING NO NOGUARANTEE NO TEMP 8 TEMPORARY ONLINE NOLOGGING NO NOT APPLY NO USERS 8 PERMANENT ONLINE LOGGING NO NOT APPLY NO TBSDATA 8 PERMANENT ONLINE LOGGING NO NOT APPLY NO TBSDATA02 8 PERMANENT ONLINE LOGGING NO NOT APPLY NO TBS_NE 8 PERMANENT ONLINE LOGGING NO NOT APPLY NO TBS_E 8 PERMANENT ONLINE LOGGING NO NOT APPLY YES SYS@rubis>select tablespace_name "Nom", block_size/1024 "BKb", 2 contents, status, logging,

Page 32: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-24

3 bigfile, retention,encrypted 4 from dba_tablespaces; Nom BKb CONTENTS STATUS LOGGING BIG RETENTION ENC --------- --- --------- --------- --------- --- ----------- --- ... TBSBIG 8 PERMANENT ONLINE LOGGING YES NOT APPLY NO TBSSMALL 8 PERMANENT ONLINE LOGGING NO NOT APPLY NO DATA_4K 4 PERMANENT ONLINE LOGGING YES NOT APPLY NO DATA_32K 32 PERMANENT ONLINE LOGGING YES NOT APPLY NO UNDO 8 UNDO ONLINE LOGGING YES NOGUARANTEE NO

La vue « DBA_TABLESPACE_GROUPS » affiche les informations sur tous les groupes des tablespaces temporaires de la base de données.

SYS@jaspe>select tablespace_name "Nom", block_size/1024 "BKb", 2 contents, status, logging, 3 bigfile, retention,encrypted 4 from dba_tablespaces; Nom BKb CONTENTS STATUS LOGGING BIG RETENTION ENC --------- --- --------- --------- --------- --- ----------- --- SYSTEM 8 PERMANENT ONLINE LOGGING YES NOT APPLY NO SYSAUX 8 PERMANENT ONLINE LOGGING YES NOT APPLY NO UNDOTBS1 8 UNDO ONLINE LOGGING YES NOGUARANTEE NO TEMP 8 TEMPORARY ONLINE NOLOGGING YES NOT APPLY NO USERS 8 PERMANENT ONLINE LOGGING YES NOT APPLY NO DATA_4K 4 PERMANENT ONLINE LOGGING YES NOT APPLY NO TEMP01 8 TEMPORARY ONLINE NOLOGGING YES NOT APPLY NO TEMP02 8 TEMPORARY ONLINE NOLOGGING YES NOT APPLY NO TEMP03 8 TEMPORARY ONLINE NOLOGGING YES NOT APPLY NO SYS@jaspe>select group_name, tablespace_name 2 from dba_tablespace_groups; GROUP_NAME TABLESPAC ------------------------------ --------- NGRP_TEMP TEMP01 NGRP_TEMP TEMP02 NGRP_TEMP TEMP03

La vue dynamique sur les performances « V$TABLESPACE » vous permet de visualiser beaucoup moins d’informations, mais elle peut être interrogée quand la base de données est en mode « MOUNT ».

Les colonnes de la vue « V$TABLESPACE » sont :

TS# L’identifiant du tablespace.

NAME Le nom du tablespace.

BIGFILE Indique si le tablespace est de type « BIGFILE » ou « SMALLFILE ». Les valeurs sont « YES » ou « NO ».

Page 33: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-25

Les informations sur les fichiers

Module 34 : Les notions de sauvegardeTSOFT – Oracle11g Administration II

Les informations sur les fichiers

DBA_DATA_FILES

DBA_TEMP_FILES

V$DATAFILE

V$TEMPFILE

La vue « DBA_DATA_FILES » affiche les informations sur tous les fichiers de données de la base de données.

Les colonnes de cette vue sont :

FILE_NAME Le nom du fichier de données.

FILE_ID L’identifiant du fichier de données.

TABLESPACE_NAME Le nom du tablespace auquel appartient le fichier.

BYTES La taille du fichier de données en bytes.

BLOCKS Le nombre de blocs contenus dans le fichier de données.

STATUS Indique l’état du fichier de données « AVAILABLE » ou « INVALID ». La valeur « INVALID » signifie que le tablespace a été supprimé.

RELATIVE_FNO Indique le numéro relatif du fichier de données par rapport au tablespace.

AUTOEXTENSIBLE Indique si le fichier s’agrandit automatiquement.

MAXBYTES La taille maximale du fichier de données en bytes.

MAXBLOCKS Le nombre maximum de blocs du fichier de données.

INCREMENT_BY Indique la taille de l’extension automatique.

USER_BYTES La taille dédiée au stockage de données en bytes.

USER_BLOCKS Le nombre de blocs dédiés au stockage de données. SYS@jaspe>select tablespace_name "Tbs",bytes/1024/1024 "Mb",autoextensible, 2 increment_by*block_size/1024/1024 "Next Mb",file_name 3 from dba_data_files join dba_tablespaces using(tablespace_name); Tbs Mb AUT Next Mb FILE_NAME -------- ----- --- ------- -------------------------------------------------

Page 34: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-26

SYSTEM 770 YES 10,00 +GD_DONNEES/jaspe/datafile/system.256.719100411 SYSAUX 760 YES 10,00 +GD_DONNEES/jaspe/datafile/sysaux.257.719100603 UNDOTBS1 2048 YES 5,00 +GD_DONNEES/jaspe/datafile/undotbs1.258.719100755 USERS 5 YES 1,25 +GD_DONNEES/jaspe/datafile/users.260.719101395 DATA_4K 10 YES 10,00 +GD_DONNEES/jaspe/datafile/data_4k.303.724092851

Pour retrouver les fichiers des tablespaces temporaires, vous devez interroger la vue du dictionnaire des données « DBA_TEMP_FILES ». La description de cette vue est identique à celle de la vue « DBA_DATA_FILES ».

SYS@jaspe>select tablespace_name "Tbs",bytes/1024/1024 "Mb",autoextensible, 2 increment_by*block_size/1024/1024 "Next Mb",file_name 3 from dba_temp_files join dba_tablespaces using( tablespace_name); Tbs Mb AUT Next Mb FILE_NAME -------- ----- --- ------- ------------------------------------------------ TEMP 431 YES ,63 +GD_DONNEES/jaspe/tempfile/temp.259.719101101 TEMP01 10 YES 10,00 +GD_DONNEES/jaspe/tempfile/temp01.283.724094305 TEMP02 10 YES 10,00 +GD_DONNEES/jaspe/tempfile/temp02.281.724094309 TEMP03 10 YES 10,00 +GD_DONNEES/jaspe/tempfile/temp03.280.724094315

Les vues dynamiques sur les performances « V$DATAFILE » et « V$TEMPFILE » vous permettent de visualiser les informations quand la base de données est en mode « MOUNT ».

Les colonnes de la vue « V$DATAFILE » sont :

FILE# L’identifiant du fichier de données.

CREATION_CHANGE# Indique le numéro SCN de la création du fichier de données.

CREATION_TIME Indique la date et l’heure de la création du fichier de données.

TS# L’identifiant du tablespace.

RFILE# Indique le numéro relatif du fichier de données par rapport au tablespace.

STATUS Indique l’état du fichier de données « OFFLINE », « ONLINE », « SYSTEM », ou « RECOVER ».

ENABLED Indique la disponibilité du fichier « DISABLED », « READ ONLY », « READ WRITE », ou « UNKNOWN ».

CHECKPOINT_CHANGE# Le SCN de point de contrôle « checkpoint » est incrémenté lors de chaque point de contrôle ; il identifie de façon unique une version validée de la base de données.

CHECKPOINT_TIME Indique la date et l’heure du dernier point de contrôle.

OFFLINE_CHANGE# Le SCN en ligne est mis à jour lorsque le fichier est replacé hors ligne ; cela concerne uniquement les opérations de mise en ligne ou hors ligne d’un tablespace.

ONLINE_CHANGE# Le SCN en ligne est mis à jour lorsque le fichier est replacé en ligne ; cela concerne uniquement les opérations de mise en ligne ou hors ligne d’un tablespace.

RESETLOGS_CHANGE# Le SCN de réinitialisation du journal de reprise est généré lorsque la base de données est ouverte avec l’option « RESETLOGS ».

NAME Le nom du fichier de données.

Page 35: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-27

BYTES La taille du fichier de données en bytes.

BLOCKS Le nombre de blocs contenus dans le fichier de données.

CREATE_BYTES La taille du fichier de données en bytes à la création.

BLOCK_SIZE La taille du bloc pour le tablespace. SYS@saphir>select tablespace.name "Tablespace", fichier.name "Fichier" 2 from v$tablespace tablespace, v$datafile fichier 3 where tablespace.ts# = fichier.ts# ; Tablespac Fichier --------- ----------------------------------------------------------------- SYSTEM /u02/donnees/oradata/SAPHIR/datafile/o1_mf_system_6314h39r_.dbf SYSAUX /u02/donnees/oradata/SAPHIR/datafile/o1_mf_sysaux_6314l1s1_.dbf UNDOTBS1 /u02/donnees/oradata/SAPHIR/datafile/o1_mf_undotbs1_6314nz12_.dbf USERS /u02/donnees/oradata/SAPHIR/datafile/o1_mf_users_6314qkhz_.dbf TBSDATA /u02/donnees/oradata/SAPHIR/datafile/o1_mf_tbsdata_63mdggwt_.dbf TBSDATA /u02/donnees/oradata/SAPHIR/datafile/o1_mf_tbsdata_63mdgh16_.dbf TBSDATA02 /u02/donnees/oradata/SAPHIR/datafile/o1_mf_tbsdata0_63mfggds_.dbf TBS_NE /u02/donnees/oradata/SAPHIR/datafile/o1_mf_tbs_ne_63mxrtrl_.dbf TBS_E /u02/donnees/oradata/SAPHIR/datafile/o1_mf_tbs_e_63mxrx4g_.dbf

Dans l’exemple précédent, vous pouvez voir une requête qui récupère le nom des fichiers de données ainsi que le nom du tablespace correspondant.

C:\> SQLPLUS SYS/sys@DIAMANT AS SYSDBA SQL> ALTER TABLESPACE GVEDATA OFFLINE; Tablespace modifié. SQL> ALTER SYSTEM CHECKPOINT; Système modifié. SQL> ALTER TABLESPACE GVEDATA ONLINE; Tablespace modifié. SQL> SELECT F.FILE#, T.NAME, 2 F.CREATION_CHANGE# "CREATION", 3 F.CHECKPOINT_CHANGE# "CHECKPOINT", 4 F.ONLINE_CHANGE# "ONLINE", 5 F.OFFLINE_CHANGE# "OFFLINE" 6 FROM V$DATAFILE F, V$TABLESPACE T 7 WHERE F.TS# = T.TS#; FILE# NAME CREATION CHECKPOINT ONLINE OFFLINE ---------- -------- ---------- ---------- ---------- ---------- 1 SYSTEM 15 4642939 0 0 2 SYSAUX 1744 4642939 0 0 ... 7 GVEDATA 2761609 4642951 4642951 4642906 ...

Les SCN de points de contrôle concordants dans le fichier de contrôle et les fichiers de données garantissent la cohérence de ces derniers lors du démarrage ou de la récupération de la base.

Page 36: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-28

La sauvegarde du tablespace

Module 34 : Les notions de sauvegardeTSOFT – Oracle11g Administration II

La sauvegarde du tablespace

Lorsque la base de données fonctionne dans le mode « ARCHIVELOG », il est possible de sauvegarder un tablespace pendant qu’il est modifié par la base de données. Pendant l’opération de copie, les fichiers continuent d’être modifiés.

Toute cette opération est possible grâce aux fichiers de journaux qui sont archivés et qui permettent de reconstruire n’importe quelle modification effectuée dans la base de données.

Attention : une copie directe d’un fichier de données est une source d’erreur.

Oracle gère les informations dans les fichiers de données, les segments UNDO et dans les fichiers de journaux archivés, avec une unité indivisible qui est le bloc Oracle. En revanche le système d’exploitation travaille avec une unité qui est le bloc OS.

Le bloc Oracle étant un multiple du bloc OS, la copie des fichiers pendant que la base de données est ouverte peut s’avérer une source de blocs incohérents. Ces blocs sont communément appelés « blocs fracturés ».

Attention

Page 37: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-29

Oracle permet qu’un fichier soit copié à des fins de sauvegarde alors qu’il est en cours de modification, mais il faut d’abord placer le tablespace correspondant en mode de sauvegarde.

La suite des opérations suivantes est effectuée pour chaque fichier de données activé en mode de sauvegarde, suite au placement d’un tablespace ou de la base de données entière en mode de sauvegarde :

Un indicateur est activé dans l’en-tête du fichier de données pour signifier qu’une sauvegarde à chaud est en cours.

Un point de contrôle a lieu. Tous les blocs modifiés « dirty block » en mémoire sont écrits sur disque dans le fichier de données. Le SCN du point de contrôle est consigné dans l’en-tête de ce fichier de données ainsi que dans le fichier de contrôle. L’incrémentation de ce numéro est bloquée jusqu’à ce que le tablespace retourne dans le mode normal.

Une entrée de début de sauvegarde est insérée dans le journal d’alertes.

Avant qu’une première modification ne soit apportée à n’importe lequel des blocs des fichiers de données, une image du bloc est copiée dans le journal de reprise. Une entrée de reprise standard est ensuite créée pour consigner le changement. Toutes les modifications suivantes affectant un même bloc donneront lieu à des entrées de reprise normales.

La syntaxe de changement du mode de fonctionnement d’un tablespace est :

ALTER TABLESPACE nom { BEGIN | END } BACKUP ;

Lorsqu’un tablespace se trouve dans le mode de sauvegarde, vous pouvez copier ses fichiers de données vers un autre emplacement en utilisant une commande de copie du système d’exploitation.

Si de nombreux utilisateurs mettent à jour le tablespace qui est sauvegardé, une quantité considérable d’informations de reprise seront générées, puisqu’une copie de chaque bloc modifié sera placée dans le journal de reprise (lors du premier changement seulement). Par conséquent, il est préférable d’effectuer une sauvegarde à chaud pendant les heures de faible activité.

Vous pouvez interroger la vue dynamique « V$BACKUP » pour trouver quels sont les fichiers qui sont en mode sauvegarde et quel est le SCN du démarrage.

CHANGE# Le SCN de sauvegarde indique à quel moment le mode de sauvegarde à chaud est activé pour le tablespace.

C:\> SQLPLUS SYS/sys@DIAMANT AS SYSDBA SQL> ALTER TABLESPACE GVDATA BEGIN BACKUP; Tablespace modifié. SQL> ALTER TABLESPACE GVINDX BEGIN BACKUP; Tablespace modifié. SQL> SELECT F.FILE#, T.NAME, F.STATUS, F.CHANGE#, 2 TO_CHAR( TIME,'DD/MM/YYYY HH24:MI') "Temps" 3 FROM V$BACKUP F, V$DATAFILE F2, V$TABLESPACE T 4 WHERE F.FILE# = F2.FILE# AND 5 F2.TS# = T.TS#;

Attention

Page 38: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-30

FILE# NAME STATUS CHANGE# Temps ---------- -------- ---------- ---------- ---------------- 1 SYSTEM NOT ACTIVE 0 2 SYSAUX NOT ACTIVE 0 3 UNDOTBS1 NOT ACTIVE 0 4 USERS NOT ACTIVE 0 5 GVDATA ACTIVE 4730709 31/07/2008 01:55 6 GVINDX ACTIVE 4730717 31/07/2008 01:55 7 GVEDATA NOT ACTIVE 0 8 GVEINDX NOT ACTIVE 0 9 GVCLOB NOT ACTIVE 0

Une fois que les fichiers de données ont été copiés, vous devez replacer le tablespace dans son mode normal. La désactivation du mode de sauvegarde pour un tablespace implique plusieurs événements :

L’indicateur de sauvegarde à chaud est désactivé pour signifier que la sauvegarde a pris fin.

Le SCN de fin de sauvegarde est enregistré dans le flux des journaux. Oracle utilise cette information pour savoir quand retirer le tablespace du mode de sauvegarde à chaud lors de la récupération des fichiers de données.

L’incrémentation du SCN de point de contrôle reprend, et ce numéro est synchronisé immédiatement avec le reste de la base.

La génération des entrées de reprise redevient normale, comme avant que le tablespace ait été placé dans le mode de sauvegarde.

Lorsqu’un tablespace se trouve dans le mode de sauvegarde, Oracle continue d’écrire les blocs modifiés « dirty block » sans aucune différence par rapport au mode normal.

Mais le SCN du point de contrôle n’est plus consigné dans l’en-tête de ces fichiers de données. Ainsi, si la base de données est arrêtée brutalement, l’ensemble des fichiers du tablespace doivent être récupérés à partir du SCN de la mise en sauvegarde.

La commande « SHUTDOWN » n’est pas autorisée si vous avez des tablespaces en mode de sauvegarde ; elle peut quand même être utilisée, mais uniquement avec l’option « ABORT ».

SQL> SELECT F.FILE#, T.NAME, F.STATUS, F.CHANGE#, 2 TO_CHAR( TIME,'DD/MM/YYYY HH24:MI') "Temps" 3 FROM V$BACKUP F, V$DATAFILE F2, V$TABLESPACE T 4 WHERE F.FILE# = F2.FILE# AND 5 F2.TS# = T.TS# AND 6 F.FILE# = 5; FILE# NAME STATUS CHANGE# Temps ---------- -------- ---------- ---------- ---------------- 5 GVDATA ACTIVE 4734609 31/07/2008 02:29 SQL> SHUTDOWN IMMEDIATE ORA-01149: fermeture imposs. - sauvegarde en ligne sélectionnée pour fichier 5 ORA-01110: fichier de données 5 : '+DONNEES_01/diamant/datafile/gvdata.267.659967727'

Attention

Page 39: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-31

La sauvegarde de la base

Module 34 : Les notions de sauvegardeTSOFT – Oracle11g Administration II

La sauvegarde de la base

Lorsque la base de données fonctionne dans le mode « ARCHIVELOG », il est possible de sauvegarder un tablespace pendant qu’il est modifié par la base de données.

La syntaxe suivante vous permet de changer le mode de fonctionnement pour tous les tablespaces de la base de données :

ALTER DATABASE { BEGIN | END } BACKUP ;

C:\> SQLPLUS SYS/sys@DIAMANT AS SYSDBA SQL> ALTER DATABASE BEGIN BACKUP; Base de données modifiée. SQL> SELECT F.FILE#, T.NAME, F.STATUS, F.CHANGE#, 2 TO_CHAR( TIME,'DD/MM/YYYY HH24:MI') "Temps" 3 FROM V$BACKUP F, V$DATAFILE F2, V$TABLESPACE T 4 WHERE F.FILE# = F2.FILE# AND 5 F2.TS# = T.TS#; FILE# NAME STATUS CHANGE# Temps ---------- -------- ---------- ---------- ---------------- 1 SYSTEM ACTIVE 4733254 31/07/2008 02:11 2 SYSAUX ACTIVE 4733254 31/07/2008 02:11 3 UNDOTBS1 ACTIVE 4733254 31/07/2008 02:11 4 USERS ACTIVE 4733254 31/07/2008 02:11 5 GVDATA ACTIVE 4733254 31/07/2008 02:11 6 GVINDX ACTIVE 4733254 31/07/2008 02:11 7 GVEDATA ACTIVE 4733254 31/07/2008 02:11 8 GVEINDX ACTIVE 4733254 31/07/2008 02:11 9 GVCLOB ACTIVE 4733254 31/07/2008 02:11

Page 40: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-32

Le fichier OFFLINE

Module 34 : Les notions de sauvegardeTSOFT – Oracle11g Administration II

Le fichier OFFLINE

ALTER DATABASE DATAFILE 10 OFFLINE;...RECOVER DATAFILE 10;ALTER DATABASE DATAFILE 10 OFFLINE;

Vous pouvez également mettre hors ligne uniquement un fichier des données du tablespace. La syntaxe de la commande SQL pour mettre hors ligne un fichier de données est :

ALTER DATABASE [nom_base] DATAFILE {'nom_fichier' | no_fichier} { ONLINE | OFFLINE [FOR DROP] }; FOR DROP Dans le cas où votre base de données est en mode

« NOARCHIVELOG » la perte d’un fichier de données est irréversible, il n’y a pas de possibilité de récupération. Si le fichier n’appartient pas à un tablespace vital de la base de données (ceux qui ne peuvent être mis hors ligne). Vous pouvez mettre le fichier hors ligne avec cette option et ouvrir la base de données.

SYS@saphir>create smallfile tablespace app_01 datafile 2 size 10m autoextend on next 10m maxsize 1g, 3 size 10m autoextend on next 10m maxsize 1g; Tablespace créé. SYS@saphir>select file_id ID, file_name from dba_data_files 3 where tablespace_name = 'APP_01'; ID FILE_NAME --- --------------------------------------------------------------- 10 /u02/donnees/oradata/SAPHIR/datafile/o1_mf_app_01_63oj17ob_.dbf 11 /u02/donnees/oradata/SAPHIR/datafile/o1_mf_app_01_63oj17y8_.dbf SYS@saphir>alter database datafile 10 offline; Base de données modifiée.

Page 41: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-33

SYS@saphir>create table demo tablespace app_01 2 as select * from cat; Table créée. SYS@saphir>alter database datafile 10 online; alter database datafile 10 online * ERREUR à la ligne 1 : ORA-01113: le fichier 10 nécessite une récupération après défaillance matérielle ORA-01110: fichier de données 10 : '/u02/donnees/oradata/SAPHIR/datafile/o1_mf_app_01_63oj17ob_.dbf' SYS@saphir>recover datafile 10; Récupération après défaillance matérielle terminée. SYS@saphir>alter database datafile 10 online; Base de données modifiée.

Dans l’exemple précédent vous pouvez voir la création d’un tablespace avec deux fichiers de données. Bien que le premier fichier de données soit mis hors ligne, la création de la table s’effectue sans encombre. Bien que le fichier de données soit vide à sa mise hors ligne, il n’est pas possible de le mettre en ligne sans effectuer une récupération.

Attention, quand un fichier est mis en ligne, l’instance contrôle la valeur du « SCN » de son en-tête avec la valeur du dernier checkpoint, et s’il y a une différence le fichier n’est pas mis en ligne.

La commande « RECOVER » reconstruit habituellement tous les blocs depuis le « SCN » de l’en-tête du ficher jusqu’à la dernière transaction en cours. Mais la commande dans l’exemple précédent ne fait que la mise à jour du « SCN » de l’en-tête du ficher. Pour plus d’informations sur la commande « RECOVER » consultez le module suivant.

Cette opération est obligatoire et systématique chaque fois que vous mettez un fichier hors ligne.

Vous pouvez également utiliser la console d’Oracle Enterprise Manager pour mettre hors ligne ou en ligne un fichier de données de la base de données. Pour accéder à l’onglet Serveur, vous avez le lien Fichiers de données.

Attention

Page 42: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-34

La création d’un fichier de données

Module 34 : Les notions de sauvegardeTSOFT – Oracle11g Administration II

La création d’un fichier de données

ALTER DATABASE CREATE DATAFILE 11;...RECOVER DATAFILE 11;ALTER DATABASE DATAFILE 11 OFFLINE;

Dans le cas où votre base de données est en mode « ARCHIVELOG », il est possible de demander la création du fichier tel qu’il était à sa création à l’aide de la syntaxe :

ALTER DATABASE CREATE DATAFILE {'nom_fichier' | no_fichier}

Cette commande permet de récupérer et de reconstruire entièrement un fichier, même si on n’a pas de sauvegarde. Bien sûr cette démarche est valable uniquement pour des périodes de temps courtes entre la création du fichier et sa récupération.

La récupération des blocs modifiés du fichier prend en compte également la gestion des transactions en cours sur l’ensemble des objets stockés dans ce fichier.

SYS@saphir>insert into demo select * from demo; 4842 ligne(s) créée(s). SYS@saphir>select distinct segment_name, file_name 2 from dba_extents join 3 dba_data_files using( tablespace_name, file_id ) 4 where tablespace_name = 'APP_01'; SEGM FILE_NAME ---- --------------------------------------------------------------- DEMO /u02/donnees/oradata/SAPHIR/datafile/o1_mf_app_01_63oj17y8_.dbf SYS@saphir>!sqlplus sys/P#sw0rd3 as sysdba ... SYS@saphir>!rm /u02/donnees/oradata/SAPHIR/datafile/o1_mf_app_01_63oj17y8_.dbf SYS@saphir>select count(*) from demo;

Page 43: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-35

COUNT(*) ---------- 4842 SYS@saphir>alter system checkpoint; Système modifié. SYS@saphir>select count(*) from demo; select count(*) from demo * ERREUR à la ligne 1 : ORA-00376: fichier 11 ne peut être lu à cette heure ORA-01110: fichier de données 11 : '/u02/donnees/oradata/SAPHIR/datafile/o1_mf_app_01_63oj17y8_.dbf' SYS@saphir>alter database create datafile 11; Base de données modifiée. SYS@saphir>recover datafile 11; Récupération après défaillance matérielle terminée. SYS@saphir>alter database datafile 11 online; Base de données modifiée. SYS@saphir>exit Déconnecté de Oracle Database 11g ... SYS@saphir>select count(*) from demo; COUNT(*) ---------- 9684 SYS@saphir>rollback; Annulation (rollback) effectuée. SYS@saphir>select count(*) from demo; COUNT(*) ---------- 4842

On démarre une nouvelle transaction sur la table « DEMO », sans valider cette transaction. Pour ne pas valider la transaction, on effectue une nouvelle connexion à SQL*Plus dans laquelle vous pouvez voir que les enregistrements insérés de la table « DEMO » ne sont pas visibles. Après l’effacement du fichier, vous avez encore la possibilité de visualiser les données des tables qui se trouvent dans la zone « Buffer Cache », jusqu’au prochain checkpoint. Une fois que le fichier de données a été recréé vous pouvez reconstruire les blocs jusqu’à la dernière transaction en cours même si celle-ci n’est pas encore validée. Une fois revenue dans la session avec la transaction en cours, elle est au même point qu’au moment où on l’a quittée. Il est possible de continuer le traitement ou d’annuler la transaction.

Page 44: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-36

Le déplacement d’un tablespace

Module 34 : Les notions de sauvegardeTSOFT – Oracle11g Administration II

Le déplacement d’un tablespace

Mettre le tablespace hors ligne

Copier les fichiers de données à l’aide du système d’exploitation

Renommer les fichiers de données

Mettre le tablespace en ligne

La démarche base de données ouverte :

Les fichiers d’un tablespace peuvent être déplacés d’un emplacement de stockage à un autre. L’opération consiste à renommer un ou plusieurs fichiers de données dans le tablespace. La base de données doit être ouverte et le tablespace être placé hors ligne avant que les fichiers puissent être renommés.

Cette option associe simplement le tablespace au nouveau fichier, à la place de l’ancien. Elle ne modifie pas le nom du fichier, c’est vous qui devez le faire au niveau de votre système d’exploitation.

La condition sine qua non pour que cette opération aboutisse est que le fichier existe dans le nouvel emplacement.

La commande SQL qui vous permet de déplacer un fichier de données est la suivante :

ALTER TABLESPACE nom_tablespace RENAME DATAFILE 'ancien_fichier' [,...] TO 'nouveau_fichier' [,...]; ancien_fichier L’emplacement et le nom de l’ancien fichier ; c’est le nom

absolu du fichier. Oracle ne contrôle pas l’existence de ce fichier.

nouveau_fichier L’emplacement et le nom du nouveau fichier ; c’est le nom absolu du fichier. Oracle contrôle l’existence et la cohérence de ce fichier.

SYS@ambre>select file_id ID, file_name 2 from dba_data_files 3 where tablespace_name = 'APP_01'; ID FILE_NAME --- ------------------------------------------------------------ 5 W:\DONNEES\ORADATA\AMBRE\DATAFILE\O1_MF_APP_01_63NGR8W9_.DBF 6 W:\DONNEES\ORADATA\AMBRE\DATAFILE\O1_MF_APP_01_63NGRJG4_.DBF

Attention

Page 45: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-37

SYS@ambre>alter tablespace app_01 offline; Tablespace modifié. SYS@ambre>$mkdir D:\app\oracle\oradata\AMBRE SYS@ambre>$copy W:\DONNEES\ORADATA\AMBRE\DATAFILE\O1_MF_APP_01_63NGR8W9_.DBF D:\app\oracle\oradata\AMBRE 1 fichier(s) copié(s). SYS@ambre>$copy W:\DONNEES\ORADATA\AMBRE\DATAFILE\O1_MF_APP_01_63NGRJG4_.DBF D:\app\oracle\oradata\AMBRE 1 fichier(s) copié(s). SYS@ambre>alter tablespace app_01 online; Tablespace modifié. SYS@ambre>select file_id ID, file_name 2 from dba_data_files 3 where tablespace_name = 'APP_01'; ID FILE_NAME --- ------------------------------------------------------ 5 D:\APP\ORACLE\ORADATA\AMBRE\O1_MF_APP_01_63NGR8W9_.DBF 6 D:\APP\ORACLE\ORADATA\AMBRE\O1_MF_APP_01_63NGRJG4_.DBF SYS@ambre>$dir W:\DONNEES\ORADATA\AMBRE\DATAFILE\O1_MF_APP_01*.* Le volume dans le lecteur W s'appelle Nouveau nom Le numéro de série du volume est C051-C97C Répertoire de W:\DONNEES\ORADATA\AMBRE\DATAFILE Fichier introuvable

L’exemple précédent montre le déplacement de l’ensemble des fichiers d’un tablespace d’un répertoire à un autre. Vous pouvez remarquer la copie de ces fichiers à l’aide du système d’exploitation.

En résumé, le déplacement des fichiers de données d’un tablespace s’effectue pendant que la base de données est ouverte. Ce n’est pas un déplacement physique des fichiers, c’est uniquement une description des nouveaux noms de ces fichiers. Cette opération ne peut pas être effectuée si vous ne mettez pas le tablespace hors ligne. Il est également important de remarquer que les anciens fichiers sont automatiquement effacés si vous utilisez la gestion OMF, sans quoi vous devez les gérer vous-mêmes.

Le déplacement des fichiers de données ne peut pas être effectué si la base de données n’est pas ouverte.

En effet, l’opération utilise la commande « ALTER TABLESPACE » qui n’est pas autorisée si la base de données n’a pas ouvert le dictionnaire de données.

Dans le cas où la base de données n’est pas ouverte, il faut travailler directement au niveau des fichiers.

Attention

Page 46: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-38

Le déplacement des fichiers

Module 34 : Les notions de sauvegardeTSOFT – Oracle11g Administration II

Le déplacement des fichiersALTER DATABASE RENAME FILE 'W:\DONNEES\ORADATA\AMBRE\DATAFILE\O1_MF_SYSTEM_5YV9DZK2_.DBF‘TO 'C:\APP\ORADATA\AMBRE\O1_MF_SYSTEM_5YV9DZK2_.DBF';

Le déplacement des fichiers de données à l’aide de la commande « ALTER TABLESPACE » ne peut pas être effectué si la base de données n’est pas ouverte. Dans le cas où la base de données n’est pas ouverte, il faut travailler directement au niveau des fichiers.

L’opération peut être effectuée pour changer aussi bien le nom des fichiers de données que celui des fichiers journaux. En effet la commande porte sur le changement de nom d’un fichier, peu importe le type du fichier.

Le traitement peut être effectué pendant que la base de données est en mode « MOUNT », mais aussi quand la base de données est en mode « OPEN » ; dans ce cas il faut absolument que le tablespace ou le fichier de données soit mis hors ligne.

La syntaxe vous permettant de déplacer un fichier de données quand la base de données est dans le mode « MOUNT » est la suivante :

ALTER DATABASE [nom_base] RENAME FILE 'ancien_fichier' [,...] TO 'nouveau_fichier' [,...]; ancien_ fichier L’ancien nom du fichier de données ou du fichier journal.

nouveau_nom Le nouveau nom du fichier de données ou du fichier journal.

La démarche consiste à interroger la base de données pour générer un script qui effectuera le déplacement de la base de données. Un tel script prend en compte la structure de la base de données au moment de son exécution. Ainsi le script est toujours valable, même si la base de donnée a subi des modifications de structure ; des nouveaux fichiers de données, de nouveaux groupes de fichiers journaux ou simplement le déplacement de ces fichiers.

Voici le script qui permettra le déplacement de tous les fichiers de la base de données « ambre » vers le répertoire « C:\APP\ORADATA\AMBRE » qui est créé au début du script.

Page 47: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-39

SYS@ambre>$type deplace_base_source.sql $mkdir C:\APP\ORADATA\AMBRE var control_files varchar2(2000) exec :control_files := 'alter system set control_files='; begin for fic in (select substr(name,instr(name,'\',-1)) nom from v$controlfile) loop :control_files := :control_files|| '''C:\APP\ORADATA\AMBRE'||fic.nom||''','; end loop; :control_files := substr(:control_files,1, length(:control_files)-1)|| ' scope=spfile;'; end; / set linesize 1500 pagesize 0 feedback off echo off spool D:\app\oracle\admin\ambre\adump\deplace_base.sql print control_files

Le bloc PL/SQL permet de formater la syntaxe pour modifier l’emplacement des fichiers de contrôle vers le nouveau répertoire. Par la suite, on formate l’affichage de la session pour pouvoir générer un fichier de traces propre et on ouvre le fichier de trace.

select 'shutdown immediate' from dual; select '$copy '||name||' C:\APP\ORADATA\AMBRE' from ( select name from v$controlfile union all select name from v$datafile union all select name from v$tempfile union all select member from v$logfile); select 'startup mount' from dual;

Les deux blocs SQL permettent de générer la syntaxe pour arrêter la base de données et ensuite la copie des fichiers de contrôle, des fichiers de données, des fichiers temporaires et des membres de groupes des fichiers journaux. Ensuite, la base de données est démarrée en mode « MOUNT » pour pouvoir modifier l’emplacement des fichiers de données, temporaires et membres des groupes de fichiers journaux.

select 'alter database rename file '''||name|| ''' to ''C:\APP\ORADATA\AMBRE' || substr(name,instr(name,'\',-1))||''';' from ( select name from v$datafile union all select name from v$tempfile union all select member from v$logfile); select 'alter database open;' from dual;

Page 48: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-40

spool off @D:\app\oracle\admin\ambre\adump\deplace_base.sql exit;

La suite est précisément la syntaxe de déplacement des fichiers des données, temporaires et les membres des groupes de journaux. Comme tous les fichiers sont gérés à l’aide d’OMF, les anciens fichiers sont automatiquement effacés lorsque vous effectuez le déplacement.

SYS@ambre>@deplace_base_source.sql ... SYS@ambre>select * 2 from ( 3 select 'Contrôle' Type, name from v$controlfile 4 union all 5 select 'Données' Type, name from v$datafile 6 union all 7 select 'Temporaire' Type, name from v$tempfile 8 union all 9 select 'Journal' Type, member from v$logfile); TYPE NAME ---------- ------------------------------------------------- Contrôle C:\APP\ORADATA\AMBRE\O1_MF_5YV9B23T_.CTL Contrôle C:\APP\ORADATA\AMBRE\O1_MF_5YV9B2RT_.CTL Données C:\APP\ORADATA\AMBRE\O1_MF_SYSTEM_5YV9DZK2_.DBF Données C:\APP\ORADATA\AMBRE\O1_MF_SYSAUX_5YV9NL4D_.DBF Données C:\APP\ORADATA\AMBRE\O1_MF_UNDOTBS1_5YV9O989_.DBF Données C:\APP\ORADATA\AMBRE\O1_MF_USERS_5YV9T879_.DBF Données C:\APP\ORADATA\AMBRE\O1_MF_APP_01_63NGR8W9_.DBF Données C:\APP\ORADATA\AMBRE\O1_MF_APP_01_63NGRJG4_.DBF Temporaire C:\APP\ORADATA\AMBRE\O1_MF_TEMP_5YV9OOSV_.TMP Journal C:\APP\ORADATA\AMBRE\O1_MF_1_5YV9D46T_.LOG Journal C:\APP\ORADATA\AMBRE\O1_MF_2_5YV9D7H3_.LOG Journal C:\APP\ORADATA\AMBRE\O1_MF_3_5YV9DBL1_.LOG Journal C:\APP\ORADATA\AMBRE\O1_MF_4_5YV9DFCP_.LOG Journal C:\APP\ORADATA\AMBRE\O1_MF_5_5YV9DJ2F_.LOG Journal C:\APP\ORADATA\AMBRE\O1_MF_6_5YV9DLRW_.LOG Journal C:\APP\ORADATA\AMBRE\O1_MF_7_5YV9DOJL_.LOG Journal C:\APP\ORADATA\AMBRE\O1_MF_8_5YV9DR7S_.LOG

Page 49: Oracle11gmultimedia.fnac.com/multimedia/editorial/pdf/... · 2011. 1. 12. · connaissance suffisante du modèle relationnel et qu'il maîtrise les langages de programmation SQL et

Module 5 : Les notions de sauvegarde

© Tsoft/Eyrolles – Oracle 11g Sauvegarde et restauration 5-41

Atelier 5

Pour les exercices de sauvegarde, quatre machines avec deux systèmes d’exploitation Linux et Windows sont utilisées. Dans l’environnement Linux, vous avez la machine « terra » avec la base de données « saphir » et la machine « saturne » avec la base de données « rubis ». Dans l’environnement Windows, les deux machines sont « gaia » avec la base de données « ambre », et « cronos » avec sa base de données « jaspe ».

Dans l’image précédente, vous pouvez voir les valeurs du paramètre « DB_CREATE_FILE_DEST » pour chacune de ces bases de données. Ainsi vous pouvez remarquer que « rubis » et « jaspe » sont stockées chacune dans un groupe de disques d’une instance ASM installée sur les machines respectives.

Les quatre bases de données doivent être en mode archive log.

Exercice n°1 Configurez quatre machines avec les configurations précédentes.