0% ont trouvé ce document utile (0 vote)
191 vues38 pages

Administration Des Redo Log

Transféré par

souhakl25
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
191 vues38 pages

Administration Des Redo Log

Transféré par

souhakl25
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ADMINISTRATION DES

FICHIERS REDO LOG


DANS ORACLE
GESTION DES REDO LOGS POUR UNE BASE DE DONNÉES
PERFORMANTE ET RÉSILIENTE
INTRODUCTION

• Les fichiers de redo log dans Oracle jouent un rôle


essentiel :
• - Enregistrer toutes les modifications des transactions.
• - Permettre la récupération des données en cas de
panne.
• - Assurer la cohérence et la fiabilité des données.

2
3
Les enregistrements redo sont mis d'une façon circulaire dans le buffer redo log
de la mémoire SGA.
Et ils sont écrits dans un seul fichier redo par le processus LGWR.
Dès qu'une transaction est validée, LGWR écrit les enregistrements redo de la
transaction depuis le buffer redo log du SGA vers le fichier redo,

4
COMMENT ORACLE
ÉCRIT DANS LES
FICHIERS REDO

La base oracle exige au minimum deux


fichiers redo.

LGWR écrit dans les fichiers redo d'une


façon circulaire. Quand le fichier redo
courant est plein, LGWR commence à
écrire dans le prochain fichier redo
disponible. Quand le dernier est plein,
LGWR commence à écrire dans le
premier fichier redo.

5
ORGANISATION DES FICHIERS REDO LOG
• Oracle dispose les journaux redo en groupes.
• Les fichiers redo doivent être placés sur des axes
différents et des disques très rapides.
• Chaque groupe a au moins un fichier redo.
• On doit avoir au minimum deux groupes distincts de
fichiers redo chacun contient au minimum un seul membre.
• Oracle écrit de manière circulaire dans les fichiers redo
log.

6
NOTION DE GROUPE
• Un groupe redo log est une unité logique utilisée par Oracle pour
gérer les journaux de transaction (redo logs). Chaque groupe
contient un ou plusieurs fichiers physiques appelés membres.
• Rôle principal : Permettre la gestion circulaire des journaux, où
Oracle bascule automatiquement d’un groupe à un autre lorsque le
précédent est plein.
• Chaque groupe est indépendant des autres mais doit contenir les
mêmes informations que ses membres.
• Une base de données Oracle doit avoir au moins deux groupes redo
log, Pour Permettre le basculement entre les groupes pour éviter une
interruption lorsque l’un est plein.
7
STATUTS DES GROUPES REDO LOG
1.ACTIF :
Le groupe redo log est actuellement utilisé pour enregistrer les
transactions.

2.INACTIF :
Le groupe redo log n’est pas utilisé et peut être écrasé ou archivé.

3. ARCHIVER NÉCESSAIRE :
Le groupe est plein et doit être archivé avant d’être réutilisé (en
mode ARCHIVELOG uniquement).

8
FONCTIONNEMENT D’UN GROUPE
REDO LOG
1.Écriture dans un groupe actif :
Oracle écrit les informations de redo dans le groupe actif (celui actuellement
utilisé par le processus LGWR - Log Writer).
2.Basculement circulaire :
Lorsque le groupe actif est plein, Oracle passe au groupe suivant disponible.
Si tous les groupes sont pleins, Oracle attend qu’un groupe devienne
disponible (en mode NOARCHIVELOG) ou qu’il soit archivé (en mode
ARCHIVELOG).
3.Récupération des données :
En cas de panne, Oracle utilise les redo logs des groupes pour restaurer les
transactions validées ou rejouer celles en cours.

9
CARACTÉRISTIQUES

10
GESTION CIRCULAIRE DES GROUPES
REDO LOG

• L’écriture dans les redo logs se fait de manière


circulaire :
1.Oracle commence à écrire dans Groupe 1.
2.Lorsque Groupe 1 est plein, il passe à Groupe 2.
3.Une fois que tous les groupes ont été utilisés, Oracle
retourne au premier groupe (s’il est disponible).

11
BONNES PRATIQUES POUR LA
CONFIGURATION DES GROUPES
1.Avoir plusieurs groupes :
•Configurez au moins 3 groupes redo log pour éviter des blocages
lors de l’archivage.
2.Multiplexage des membres :
•Configurez plusieurs membres par groupe sur des disques séparés
pour la redondance.
3.Choisir une taille adéquate :
•Les fichiers redo logs doivent être suffisamment grands pour éviter des
basculements trop fréquents entre les groupes.
4.Surveillance des groupes :
•Utilisez les vues V$LOG et V$LOGFILE pour surveiller l’état des
groupes et des fichiers.

12
NOTION DE MEMBRES

• Les membres d’un groupe redo log servent


principalement à assurer la redondance et la fiabilité
des fichiers redo logs dans Oracle.
• Chaque membre d’un groupe est une copie identique
des autres membres du même groupe

13
14
RÔLE DES MEMBRES DANS UN GROUPE REDO LOG

1.Redondance des données :


Si un membre (fichier redo log) est endommagé ou inaccessible, Oracle
continue à fonctionner en utilisant les autres membres du même groupe.
Cela assure que les journaux nécessaires pour la récupération ne sont
pas perdus en cas de panne disque.
2.Protection contre la perte de données :
En cas de défaillance matérielle d’un disque ou d’un système de
fichiers, un autre membre du groupe peut être utilisé pour récupérer les
informations.

3.Continuité des opérations :


La présence de plusieurs membres évite les interruptions si un fichier
redo log devient inutilisable, car Oracle écrit simultanément dans tous
les membres du groupe. 15
FONCTIONNEMENT DES MEMBRES DANS
UN GROUPE

• Chaque groupe redo log peut avoir un ou plusieurs


membres.
• Le processus LGWR (Log Writer) écrit les mêmes
informations dans tous les membres en parallèle.
• Tous les membres d’un groupe doivent être synchronisés et
identiques.

16
BONNES PRATIQUES
• Avoir plusieurs membres par groupe :
• Configurez au moins deux membres par groupe sur des disques
physiques différents pour éviter les pertes en cas de panne.

• Stockage redondant :
• Les membres doivent être placés sur des systèmes de fichiers distincts ou
des disques séparés pour réduire les risques.

• Surveillance :
• Vérifiez régulièrement la santé des fichiers redo logs à l’aide des vues
dynamiques (V$LOGFILE, V$LOG) pour détecter les fichiers
endommagés.

• Équilibrage des ressources :


• Configurez les membres de manière à ne pas surcharger un disque ou
un système de stockage. 17
MEMBRE VS GROUPE
• Les membres et les groupes redo log sont deux concepts
distincts mais interconnectés dans la gestion des redo logs
dans Oracle.

18
FONCTIONNALITÉS

19
ADMINISTRATION
ADMINISTRATION GROUPE (CRÉATION)
Pour créer un nouveau groupe de fichiers redo, on utilise la
requête ALTER DATABASE avec la clause ADD LOGFILE.
ALTER DATABASE ADD LOGFILE
('/oracle/dbs/log1c.rdo', '/oracle/dbs/log2c.rdo') SIZE 500K ;

On peut spécifier le numéro qui identifie le groupe en utilisant la


clause GROUP
ALTER DATABASE ADD LOGFILE GROUP 10
('/oracle/dbs/log1c.rdo', '/oracle/dbs/log2c.rdo') SIZE 500K;

• L'utilisation des numéros de groupes facilite l'administration des


groupes de fichiers redo.
• Le numéro de groupe doit être entre 1 et MAXLOGFILES.
• Surtout ne pas sauter les numéros de groupes (par exemple 10,
20,30), sinon de l'espace dans les fichiers de contrôle sera consommé
inutilement.
21
ADMINISTRATION GROUPE (SUPPRESSION)

• Pour supprimer un groupe de fichiers redo, on doit avoir le privilège système


ALTER DATABASE.
• Avant de supprimer un groupe de fichiers redo, il faut prendre en
considération les restrictions et les précautions suivantes :
• une instance réclame au minimum deux groupes de fichiers redo, sans se
soucier du nombre de membres dans le groupe. (Un groupe contient un ou
plusieurs membres.) ;

• on peut supprimer un groupe de fichiers redo, seulement s'il est inactif. Si on


a besoin de supprimer le groupe courant, en premier, on force un switch log ;

• s'assurer que le groupe de fichiers redo est bien archivé (si l'archivage est
activé) avant de le supprimer.

• Pour voir ce qui se passe, utilisez la vue V$LOG.

22
ADMINISTRATION GROUPE (LISTER)

• Affichez les informations des groupes existants

SELECT GROUP#, STATUS, MEMBER FROM V$LOGFILE;

23
ADMINISTRATION GROUPE
(SUPPRESSION)
• Pour voir ce qui se passe, utilisez la vue V$LOG.
SQL> SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;
GROUP# ARC STATUS
1 YES ACTIVE
2 NO CURRENT
3 YES INACTIVE
4 YES INACTIVE

ALTER DATABASE DROP LOGFILE GROUP 3;

24
CRÉATION ET VÉRIFICATION D’UN
MEMBRE

Dans certains cas, il n'est pas nécessaire de créer complètement un groupe de fichiers
redo. Le groupe peut déjà exister, car un ou plusieurs membres ont été supprimés (par
exemple, suite à une panne d'un disque). Dans ce cas, on peut ajouter de nouveaux
membres dans le groupe existant.
ALTER DATABASE ADD LOGFILE MEMBER '/oracle/dbs/log2b.rdo' TO GROUP 2;

• La base peut avoir au maximum MAXLOGMEMBERS membres


ALTER DATABASE ADD LOGFILE
MEMBER '/oracle/dbs/log2c.rdo' TO
('/oracle/dbs/log2a.rdo', '/oracle/dbs/log2b.rdo');
• Vérification des membres
SELECT GROUP#, MEMBER FROM V$LOGFILE;
Sql> SELECT GROUP#, STATUS, MEMBERS, BYTES/1024/1024 AS
SIZE_MB FROM V$LOG;
25
SUPPRESSION D’UN MEMBRE
• Pour supprimer un membre d'un fichier redo, on doit avoir le
privilège système ALTER DATABASE.

• Pour supprimer un membre d’un groupe inactif on utilise la


commande ALTER DATABASE avec la clause DROP LOGFILE
MEMBER.
ALTER DATABASE DROP LOGFILE MEMBER '/oracle/dbs/log3c.rdo';

Pour supprimer un membre d'un groupe actif, on doit forcer en


premier le log switch.

26
LE LOG SWITCH
• Le log switch se produit quand LGWR s'arrête d'écrire
dans un groupe de journaux et commence à écrire dans
un autre.
• Par défaut, un log switch se produit automatiquement
quand le groupe du fichier redo en cours est rempli.

27
FORCER UN LOG SWITCH
• On peut forcer un log switch pour que le groupe courant soit
inactif et disponible pour des opérations de maintenance sur les
fichiers redo.
• Par exemple, on veut supprimer le groupe actuellement actif, mais
on est incapable de le supprimer tant qu'il est actif.
• On doit aussi obliger un switch log si le groupe actuellement actif a
besoin d'être archivé à un moment spécifique avant que les membres
du groupe soient complètement remplis.
• Cette option est utile dans des configurations où les fichiers redo
sont assez larges et prennent plus de temps pour se remplir.

28
FORCER UN LOG SWITCH
• Pour forcer un log switch, on doit avoir le privilège ALTER
SYSTEM. Utilisez la commande ALTER SYSTEM avec la
clause SWITCH LOGFILE.

• La commande suivante force un log switch:


ALTER SYSTEM SWITCH LOGFILE;

29
INFORMATIONS SUR LES FICHIERS

REDO
Les vues V$THREAD, V$LOG, V$LOGFILE et V$LOG_HISTORY fournissent des
informations sur les fichiers Redo.

La vue V$THREAD donne les informations sur le fichier redo en cours.

30
31
La vue V$LOG_HISTORY contient des informations concernant
l'historique des fichiers redo à partir du fichier de contrôle. Le
maximum que peut retenir la vue dépend du paramètre
MAXLOGHISTORY.

32
Pour voir les noms des membres d'un groupe on utilise la
vue V$LOGFILE

GROUP# est le numéro du groupe Redo Log.


STATUS prend la valeur INVALID si le fichier est inaccessible, STALE si le fichier
est incomplet , DELETED si le fichier n'est plus utilisé et vide si le fichier est en
cours d'utilisation. 33
MEMBER est le nom du membre Redo Log
L’ARCHIVAGE

• L’archivage des groupes redo log dans Oracle est un


processus qui copie les redo logs pleins vers des fichiers
d’archive avant qu’ils ne soient écrasés.
• Cela garantit que les journaux sont conservés pour une
récupération avancée, notamment dans le cadre de la
journalisation ARCHIVELOG

34
MODE D'ARCHIVAGE : ARCHIVELOG

• Pour que les groupes redo log soient archivés, la base de


données doit être en mode ARCHIVELOG.
• Dans ce mode, Oracle copie le contenu des groupes redo
logs pleins vers des fichiers d’archive log avant qu’ils ne
soient réutilisés.

35
PROCESSUS D'ARCHIVAGE
a) Déclenchement de l'archivage
1.Lorsqu’un groupe redo log est plein, Oracle bascule vers le groupe
suivant disponible.
2.Le processus ARCH (Archiver) est automatiquement déclenché pour
copier le groupe plein dans un fichier d’archive.
b) Emplacement des fichiers archivés
• Les fichiers archivés sont stockés dans des emplacements définis par
l’administrateur.
• Exemple de configuration de l’emplacement
ALTER SYSTEM SET
LOG_ARCHIVE_DEST_1='LOCATION=/u01/oracle/archivelogs';
36
GESTION DU MODE ARCHIVELOG
• Activer le mode ARCHIVELOG :
1. SHUTDOWN IMMEDIATE;
2. STARTUP MOUNT;
3. ALTER DATABASE ARCHIVELOG;
4. ALTER DATABASE OPEN;
• Vérifier les redo logs archivés :
SELECT NAME, STATUS FROM V$ARCHIVED_LOG;

37
POINTS CLÉS À RETENIR
• - Adaptez la taille des redo logs à la charge de travail.
• - Utilisez plusieurs membres pour chaque groupe pour
garantir la redondance.
• - Activez le mode ARCHIVELOG pour une récupération
optimale des données.
• - Surveillez les redo logs avec les vues dynamiques
(V$LOG, V$ARCHIVED_LOG).

38

Vous aimerez peut-être aussi