Upload
acelin-marcel
View
108
Download
0
Embed Size (px)
Citation preview
Chapitre 3 : Mise à jour des fichiers de contrôle et des fichiers
redo log
Administration des bases de données
Agenda
Mise à jour du fichier de contrôle
Utilisation du control file
Examen du contenu du control file
Récupération de l’information sur le control file
Mise à jour des fichiers redo log
Utilisation du redo log file
Récupération de l’information sur le redo log file
Utilisation d’un control file
Fichier binaire créé automatiquement par le SO au moment de la création de la BD
Nécessaire pour le démarrage et le bon fonctionnement de la BD
A chaque fois qu’une instance monte une BD, elle lit le control file pour localiser les data and redo log files
Continuellement mis à jour pendant l’utilisation de la BD et doit être disponible à tout moment
Il ne faut pas éditer le contenu du control file, seulement les processus Oracle qui peuvent modifier le contenu
Contenu d’un control file
Le fichier du contrôle comprend les informations suivantes:
Le nom et l’identification de la BD
Le nom et l’emplacement des fichiers de données et des fichiers redo log
Le nom des tablespaces
La date et l’heure de la création de la BD
L’historique du journal
Multiplexing Control Files
Oracle recommande d’avoir au moins 2 control files en dupliquant le control file sur d’autres disques : on parle alors de Multiplexing control files
Maximum de 8 multiplexed control file
Deux façons de faire le multiplexing:
Multiplexing Control Files Using init.ora
Multiplexing Control Files Using an SPFILE
Multiplexing Control Files Using init.ora
Sauvegarde de plusieurs copies d’un control file sur plusieurs disques
Changement de la valeur du paramètre CONTROL_FILES qui se trouve dans le file init.ora
CONTROL_FILES = (‘/ora01/oradata/MYDB/ctrlMYDB01.ctl', ‘/ora02/oradata/MYDB/ctrlMYDB02.ctl', ‘/ora03/oradata/MYDB/ctrlMYDB03.ctl')
Dans le cas ou on perd un control file, on pourra restaurer la base en faisant une copie du control file ou en changeant le paramètre CONTROL_FILES dans init file
Multiplexing Control Files Using init.ora
Oracle fait la maj de tous les control files en meme temps mais utilise le premier control file listé dans le paramètre CONTROL_FILES
Pour ajouter de nouvelles copies de control files, il faut suivre les étapes suivantes :
Shut down the database
Copy the control file to more locations by using an operating system command
Change the initialization parameter file to include the new control file name(s) in the parameter CONTROL_FILES
Start up the database
Multiplexing Control Files Using an SPFILE
Le Multiplexing en utilisant un SPFILE est similaire à celui avec le fichier init.ora. La différence réside au niveau du changement de la valeur du paramètre CONTROL_FILES
Les étapes à suivre sont :Changer le SPFILE tant que la base est ouverte, la valeur du paramètre change
uniquement après le redémarrage de l’instance
SQL> ALTER SYSTEM SET CONTROL_FILES = ‘/ora01/oradata/MYDB/ctrlMYDB01.ctl', ‘/ora02/oradata/MYDB/ctrlMYDB02.ctl', ‘/ora03/oradata/MYDB/ctrlMYDB03.ctl', ‘/ora04/oradata/MYDB/ctrlMYDB04.ctl' SCOPE=SPFILE;
Shut down the database SQL> SHUTDOWN NORMAL
Copy an existing control file to the new location:$ cp /ora01/oradata/MYDB/ctrlMYDB01.ctl /ora01/oradata/MYDB/ctrlMYDB04.ctl
Start the instance SQL> STARTUP
Récupération de l’information
Pour connaître l’emplacement et les noms des control files, on utilise l’une des 2 vues du dictionnaire : V$PARAMETER ou V$CONTROLFILE
V$CONTROLFILE
Name
V$PARAMETER
Name, value
Utilisation d’un redo log file
Les datas qui transitent dans le buffer redo log sont écrit périodiquement dans le redo log file par le biais de LGWR process
Le SO met à jour les redo log files afin de minimiser la perte des datas
Les redo log files enregistrent tous les changements apportés aux datas
Les redo log files ne sont utilisés que pour la restauration ( lorsque une instance échoue à restaurer des datas validées qui n’ont pas été écrites dans les data files)
Utilisation d’un redo log file
Le DBA peut configurer la BD afin de maintenir des copies des online redo log files « Online Redo Log Groups (ORLG) »
Online Redo Log Groupsun ensemble de copies identiques des online redo log filesLGWR écrit les mêmes informations dans tous les online redo log files du même groupe
Online Redo Log MembersChaque online redo log file dans un groupe est appelé membreCaque membre d’un groupe a la même taille
Chaque base doit avoir au moins 2 redo log files ou 2 ORLG
Le buffer redo log file et les background processes
SO enregistre de manière séquentielle tous les changements apportés à la BD dans les buffer redo log
Le buffer redo log est utilisé de manière circulaire
Les entrées redo sont écrites par le processus LGWR dans les redo log files, dans les cas suivants:
Un commit est exécutéLe buffer redo log est rempli au tiersAvant que DBWR n’écrive les blocs modifiés du buffer cache de data dans les data files
Archivage des redo log files
Le DBA doit déterminer si la configuration de la BD se fait en mode ARCHIVELOG ou en mode NOARCHIVELOG
Les redo log files peuvent être archivés de 2 façons Manuel : en utilisant la commande ARCHIVE LOG LIST
Automatique : le processus ARCH qui se chargera d’archiver les redo log files
Récupération de l’information
Pour connaître l’emplacement et les noms des redo log files, on utilise l’une des 2 vues du dictionnaire : V$DATABASE ou V$INSTANCE
V$DATABASE
Name, LOG_MODE
V$INSTANCE
Archiver
Déplacement des redo log files
Arrêter la BD
Copier les redo log files au nouvel emplacement
Monter la BD
Exécuter la commande ALTER DATABASE RENAME FILE ‘filname1’ TO ‘filname2’
Ouvrir la BD
Questions?