Vous êtes sur la page 1sur 12

Administration de BD

Grer les fichiers de journalisation


en ligne
Nour-eddine EL FADDOULI
Laila BENHLIMA

2011/2012
Source : Oracle9i Database : DBA I
Copyright Oracle Corporation, 2002. Tous droits rservs.

Plan
Rle des fichiers de journalisation en ligne
Structure des fichiers de journalisation en ligne
Gestion

des

changements

de

fichiers

de

journalisation et les points de reprise (checkpoints)


Multiplexage et mise jour des fichiers de
journalisation en ligne
Recherche des

informations sur les fichiers de

journalisation en ligne

Copyright Oracle Corporation, 2002. Tous droits rservs.

Fichiers de journalisation en ligne (online redo logs)


Enregistrent toutes les modifications apportes aux
donnes:

Transaction crite de manire synchrone dans le tampon


de journalisation puis transfre dans les fichiers de
journalisation en ligne.

Utiliss pour la rcupration en cas de dfaillance


physique (cas d'chec d'instance pour rcuprer les
donnes valides qui n'ont pas t crites dans les
fichiers de donnes)
Peuvent tre organiss en groupes
Copyright Oracle Corporation, 2002. Tous droits rservs.

Structure des fichiers de journalisation en ligne


Sont

structurs en groupes

Un groupe est un ensemble de copies (membres)


identiques de fichiers de journalisation en ligne.
LGWR crit simultanment les mmes informations dans
tous les fichiers membres d'un groupe.
Deux groupes au moins sont requis

Disque 1

Groupe 1

Groupe 2

Groupe 3

Membre

Membre

Membre

Membre

Membre

Membre

Disque 2

Copyright Oracle Corporation, 2002. Tous droits rservs.

Structure des fichiers de journalisation en ligne


Les groupes et les membres initiaux sont crs en mme
temps que la BD.
Il est possible dajouter des groupes ou des membres dans
la limite des

paramtres de la commande CREATE

DATABASE:
MAXLOGFILES = le nombre maximal absolu de groupes.
MAXLOGMEMBERS = nombre maximal de membres par
groupe.

Copyright Oracle Corporation, 2002. Tous droits rservs.

Structure des fichiers de journalisation en ligne


Les membres d'un groupe ont tous la mme taille et
portent tous le mme numro de squence de journal
(identifiant fichier de journalisation ).
Il est attribu lorsque le serveur Oracle crit dans un
groupe de fichiers .
Quand oracle archive les fichiers de journalisation, le fichier
archiv garde le numro de squence du journal.
Ce No est remplac chaque nouvelle utilisation du groupe
Le numro en cours est stock dans le fichier de contrle et
dans l'en-tte de tous les fichiers de donnes.
Copyright Oracle Corporation, 2002. Tous droits rservs.

Mode de fonctionnement des fichiers de


journalisation en ligne
Les fichiers de journalisation en ligne sont utiliss de
faon cyclique. Lorsqu'un fichier de ce type est rempli, le
processus LGWR passe au groupe de fichiers de
journalisation

suivant:

changement de fichier de

journalisation (basculement ou switch).


Au changement de fichier de journalisation :
Une opration de point de reprise (checkpoint) se
produit galement.
Les informations sont crites dans le fichier de
contrle.
Copyright Oracle Corporation, 2002. Tous droits rservs.

Mode de fonctionnement des fichiers de


journalisation en ligne
Au cours d'un point de reprise :
Plusieurs blocks "dirty" dans le tampon de donnes
faisant l'objet d'un point de reprise sont crits par DBWn
dans les fichiers de donnes.
Le processus CKPT met jour le fichier de contrle
pour indiquer qu'il s'est excut correctement. Si le point
de reprise est lanc par un changement de fichier de
journalisation, ce processus met galement jour les enttes des fichiers de donnes.
Copyright Oracle Corporation, 2002. Tous droits rservs.

Mode de fonctionnement des fichiers de


journalisation en ligne
Un point de reprise se produit, par exemple:
chaque changement de fichier de journalisation
lors de larrt de la BD (shutdown) avec l'option Normal,
Transactional ou Immediate
lorsque son excution est force par le paramtre d'initialisation
FAST_START_MTTR_TARGET(dure max de rcupration d'instance)
lorsque le DBA l'excute manuellement (alter system checkpoint),
Des informations sur chaque point de reprise sont enregistres
dans le fichier alert_SID.log si le paramtre d'initialisation
LOG_CHECKPOINTS_TO_ALERT possde la valeur TRUE. (Sa La
valeur par dfaut est FALSE)
Copyright Oracle Corporation, 2002. Tous droits rservs.

Forcer des changements de fichier de


journalisation

En

gnral,

le

changement

de

fichier

se

fait

automatiquement
Il est possible de forcer un changement de fichier de
journalisation pour des oprations de maintenance :

ALTER SYSTEM SWITCH LOGFILE;

Copyright Oracle Corporation, 2002. Tous droits rservs.

Ajouter des groupes de fichiers de


journalisation en ligne
ALTER DATABASE ADD LOGFILE GROUP 3
('$HOME/ORADATA/u01/redo3a.log',
'$HOME/ORADATA/u02/redo3b.log') SIZE 1M;
redo1a.log

redo2a.log

redo1b.log

Groupe 1

redo2b.log

redo3a.log
redo3b.log

Groupe 2

Groupe 3

Possibilit dajouter plusieurs groupes la fois


Copyright Oracle Corporation, 2002. Tous droits rservs.

Ajouter des membres des fichiers de


journalisation en ligne
ALTER DATABASE ADD LOGFILE MEMBER
'$HOME/ORADATA/u04/redo1c.log' TO GROUP
1,
'$HOME/ORADATA/u04/redo2c.log' TO GROUP
2,le fichier membre existe dj, il doit tre de mme taille et
Si
il faut indiquer l'option REUSE
'$HOME/ORADATA/u04/redo3c.log' TO GROUP

redo1a.log

redo2a.log

3;

redo1b.log

redo3a.log

redo2b.log

redo1c.log

Groupe 1

redo3b.log

redo2c.log

Groupe 2

redo3c.log

Groupe 3

Copyright Oracle Corporation, 2002. Tous droits rservs.

Supprimer des groupes de fichiers


de journalisation en ligne
ALTER DATABASE DROP LOGFILE GROUP 3;

Une instance ncessite au moins deux groupes de fichiers


de journalisation en ligne.
Il nest pas possible de supprimer un groupe actif ou en
cours (status = Active ou Current ).
A la suppression dun groupe de fichiers de journalisation
en ligne, les fichiers du systme d'exploitation sont
conservs.

redo1a.log
Groupe 1

redo2a.log

redo3alog
o
Groupe
3

Groupe 2

Copyright Oracle Corporation, 2002. Tous droits rservs.

Supprimer des membres de fichiers


de journalisation en ligne
ALTER DATABASE DROP LOGFILE MEMBER
'$HOME/ORADATA/u04/redo3c.log';

S'il s'agit du groupe en cours, il faut forcer un changement de


fichier de journalisation pour supprimer le membre ou le
groupe.
Si la BD fonctionne en mode ARCHIVELOG et que le groupe
de fichiers de journalisation du membre n'est pas archiv, il
nest pas possible de supprimer le membre ou le groupe.
Lorsque cette commande est excute, le fichier de lOS
n'est pas supprim
redo1a.log
redo1a.log
redo1b.log
redo1b.rdo
Redo1c.log
redo2c.log

Groupe 1

Groupe 2

Copyright Oracle Corporation, 2002. Tous droits rservs.

Transfrer ou renommer des


fichiers de journalisation en ligne
On utilise l'une des mthodes suivantes :
Commande ALTER DATABASE:
Arrter la base de donnes.
Copier les fichiers de journalisation en ligne dans un nouvel
emplacement.
Placer la base de donnes en mode MOUNT.
Excuter la commande.
ALTER DATABASE RENAME FILE
'$HOME/ORADATA/u01/redo2a.log'
TO '$HOME/ORADATA/u02/redo1c.log';

Ouvrir la base de donnes pour un fonctionnement normal.

Ajouter de nouveaux membres et supprimer les anciens.


Copyright Oracle Corporation, 2002. Tous droits rservs.

Annuler des fichiers de journalisation en ligne


Si le fichier de journalisation en ligne est endommag, la
commande ALTER DATABASE CLEAR LOGFILE permet
de le rinitialiser.
ALTER DATABASE CLEAR LOGFILE GROUP 2;

le mot-cl UNARCHIVED est utilis pour ne pas archiver le


fichier de journalisation en ligne endommag.
ALTER DATABASE CLEAR UNARCHIVED
LOGFILE GROUP 2;

Utile lorsque la suppression de fichier log nest pas


possible (Ex. 2 groupes)
Copyright Oracle Corporation, 2002. Tous droits rservs.

Configuration des fichiers de journalisation


Combien de groupes ? :
en gnral 2 groupes mais si des messages du fichier trace
LGWR ou du fichier d'alertes indiquent que le processus LGWR
doit souvent attendre la fin d'un point de reprise ou l'archivage
d'un groupe pour accder un groupe, il faut ajouter des
groupes.

Combien de membres ? :
Le mme nombre dans chaque groupe m si pas de contraintes

O les placer ?
Les membres dun groupe doivent tre placs sur des disques
diffrents (en cas de pb sur un disque, les autres membres sont
disponibles)
Mettre les fichiers en ligne et les fichiers archivs dans des
disques diffrents (rduire concurrence entre ARCn et LGWR et
limiter le risque de perte de ces fichiers en cas de dfaillance)
Copyright Oracle Corporation, 2002. Tous droits rservs.

Configuration des fichiers de


journalisation - suite

Taille minimale est de 50 ko et taille maximale dpend du

systme d'exploitation.
Les membres de diffrents groupes peuvent avoir des tailles
diffrentes mais ceci ne doit tre que temporaire.
Plusieurs facteurspeuvent influer sur la taille des fichiers de
journalisation en ligne :
nombre de changements de fichier de journalisation,

d'entres de journalisation et leur volume,


l'espace de stockage disponible sur le support (une bande,
par exemple, si l'archivage est activ),
Etc.
Copyright Oracle Corporation, 2002. Tous droits rservs.

Grer les fichiers de journalisation en ligne


l'aide d'Oracle Managed Files (OMF)
Dfinir le paramtre DB_CREATE_ONLINE_LOG_DEST_n :
DB_CREATE_ONLINE_LOG_DEST_1
DB_CREATE_ONLINE_LOG_DEST_2
Cration de deux groupes (numro 1 et 2) dont chacun contient
deux membres de 100M (par dfaut). Les noms des membres sont
donns automatiquement (voir le fichier alertSID.log).

On peut ajouter un groupe sans spcification de fichier :


ALTER DATABASE ADD LOGFILE;

Supprimer un groupe
ALTER DATABASE DROP LOGFILE GROUP 3;

Copyright Oracle Corporation, 2002. Tous droits rservs.

Obtenir des informations sur les groupes


et les membres
En utilisant V$LOG et $VLOGFILE
Les valeurs les plus courantes de la colonne STATUS de
V$LOG
UNUSED : aucune criture n'a encore t effectue dans ce
groupe de fichiers de journalisation (nouveaux fichiers)
CURRENT : cest le groupe de fichiers de journalisation en
ligne en cours. Ce statut implique que ce groupe est actif.
ACTIVE : Ce groupe de fichiers de journalisation est actif, mais
il ne s'agit pas du groupe en cours (Il peut tre en cours
d'utilisation pour la rcupration d'un bloc)
INACTIVE indique que le groupe de fichiers de journalisation en
ligne n'est plus utile la rcupration d'instance
CLEARING indique que le journal est recr sous la forme d'un
fichier
Copyright Oracle Corporation, 2002. Tous droits rservs.

10

Fichiers de journalisation archivs


L'archivage des fichiers de journalisation en ligne (mode
ARCHIVELOG) prsente deux avantages :
Rcupration : la sauvegarde de la BD ainsi que les fichiers
de journalisation en ligne et archivs peuvent garantir la
rcupration de toutes les transactions valides
Exemple : dfaillance disque donnes mais sauvegarde
des donnes de 8 jours + fichier archivs
Sauvegarde : celle-ci peut s'effectuer lorsque la BD est
ouverte.

Par dfaut, une base de donnes est cre en mode


NOARCHIVELOG.
Copyright Oracle Corporation, 2002. Tous droits rservs.

Fichiers de journalisation archivs


Le paramtre d'initialisation LOG_ARCHIVE_START indique si
l'archivage doit tre automatique ou manuel lors du dmarrage
de l'instance:
TRUE indique que l'archivage est automatique. ARCn lance
l'archivage du groupe de fichiers de journalisation complet
chaque changement de fichier.
FALSE (par dfaut) indique que l'administrateur de base de
donnes archive manuellement les fichiers de journalisation en
ligne complets. Il doit excuter manuellement une commande
chaque fois qu'il souhaite en archiver un. Il est possible
d'archiver manuellement tous les fichiers journalisation en ligne
ou uniquement certains d'entre eux.
Copyright Oracle Corporation, 2002. Tous droits rservs.

11

Fichiers de journalisation archivs


Archivage ralis automatiquement par le processus ARCn
ou l'aide d'instructions SQL
Lorsque les fichiers sont correctement archivs :
une entre est gnre dans le fichier de contrle
Enregistrements du nom des fichiers archivs, du numro de
squence du journal et du numro SCN le plus lev et le plus
faible

Les fichiers de journalisation en ligne complets ne peuvent


pas tre rutiliss :
tant qu'un point de reprise (checkpoint) n'a pas eu lieu
tant qu'ils n'ont pas t archivs par ARCn

Les fichiers archivs peuvent tre multiplexs (dupliqus).


Ils sont mis jour par l'administrateur de base de donnes.
Copyright Oracle Corporation, 2002. Tous droits rservs.

Synthse

Ce chapitre vous a permis d'apprendre :


expliquer le rle des fichiers de journalisation en ligne
obtenir des informations sur les fichiers de
journalisation en ligne
grer les changements de fichier de journalisation
multiplexer et mettre jour les fichiers de journalisation
en ligne
grer les fichiers de journalisation en ligne l'aide
d'Oracle Managed Files (OMF)

Copyright Oracle Corporation, 2002. Tous droits rservs.

12