4 dba journalisation

12
1 Copyright © Oracle Corporation, 2002. Tous droits réservés. Administration de BD Gérer 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 réservés. Plan Rôle 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

Upload: student

Post on 04-Jan-2016

7 views

Category:

Documents


0 download

DESCRIPTION

BD

TRANSCRIPT

Page 1: 4 DBA Journalisation

1

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Administration de BD

Gérer les fichiers de journalisation

en ligne

Nour-eddine EL FADDOULILaila BENHLIMA

2011/2012

Source : Oracle9 i Database : DBA I

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Plan

• Rôle 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

Page 2: 4 DBA Journalisation

2

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Fichiers de journalisation en ligne (online redo logs)

• Enregistrent toutes les modifications apportées aux

données:

– Transaction écrite de manière synchrone dans le tampon

de journalisation puis transférée dans les fichiers de

journalisation en ligne.

• Utilisés pour la récupération en cas de défaillance

physique (cas d'échec d'instance pour récupérer les

données validées qui n'ont pas été écrites dans les

fichiers de données)

• Peuvent être organisés en groupes

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Structure des fichiers de journalisation en ligne

Disque 1

Disque 2

Groupe 1

Membre

Membre

Groupe 2

Membre

Membre

Groupe 3

Membre

Membre

• Sont structurés en groupes

• Un groupe est un ensemble de copies (membres)

identiques de fichiers de journalisation en ligne.

• LGWR écrit simultanément les mêmes informations dans

tous les fichiers membres d'un groupe.

• Deux groupes au moins sont requis

Page 3: 4 DBA Journalisation

3

Copyright © Oracle Corporation, 2002. Tous droits réservés.

•Les groupes et les membres initiaux sont créés en même

temps que la BD.

• Il est possible d’ajouter des groupes ou des membres dans

la limite des paramètres de la commande CREATE

DATABASE:

• MAXLOGFILES = le nombre maximal absolu de groupes.

• MAXLOGMEMBERS = nombre maximal de membres par

groupe.

Structure des fichiers de journalisation en ligne

Copyright © Oracle Corporation, 2002. Tous droits réservés.

• Les membres d'un groupe ont tous la même taille et

portent tous le même numéro de séquence 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 numéro de séquence du journal.

• Ce No est remplacé à chaque nouvelle utilisation du groupe

• Le numéro en cours est stocké dans le fichier de contrôle et

dans l'en-tête de tous les fichiers de données.

Structure des fichiers de journalisation en ligne

Page 4: 4 DBA Journalisation

4

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Mode de fonctionnement des fichiers de journalisation en ligne

• Les fichiers de journalisation en ligne sont utilisés de

façon 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 opération de point de reprise (checkpoint) se

produit également.

– Les informations sont écrites dans le fichier de

contrôle.

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Mode de fonctionnement des fichiers de journalisation en ligne

Au cours d'un point de reprise :

� Plusieurs blocks "dirty" dans le tampon de données

faisant l'objet d'un point de reprise sont écrits par DBWn

dans les fichiers de données.

� Le processus CKPT met à jour le fichier de contrôle

pour indiquer qu'il s'est exécuté correctement. Si le point

de reprise est lancé par un changement de fichier de

journalisation, ce processus met également à jour les en-

têtes des fichiers de données.

Page 5: 4 DBA Journalisation

5

Copyright © Oracle Corporation, 2002. Tous droits réservés.

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 l’arrêt de la BD (shutdown) avec l'option Normal,Transactional ou Immediate

– lorsque son exécution est forcée par le paramètre d'initialisationFAST_START_MTTR_TARGET (durée max de récupération d'instance)

– lorsque le DBA l'exécute manuellement (alter system checkpoint ),

• Des informations sur chaque point de reprise sont enregistréesdans le fichier alert_SID.log si le paramètre d'initialisationLOG_CHECKPOINTS_TO_ALERT possède la valeur TRUE. (Sa Lavaleur par défaut est FALSE)

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Forcer des changements de fichier de journalisation

• En général, le changement de fichier se fait

automatiquement

• Il est possible de forcer un changement de fichier de

journalisation pour des opérations de maintenance :

ALTER SYSTEM SWITCH LOGFILE;

Page 6: 4 DBA Journalisation

6

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Ajouter des groupes de fichiers de journalisation en ligne

Possibilité d’ajouter plusieurs groupes à la fois

Groupe 1 Groupe 2 Groupe 3

ALTER DATABASE ADD LOGFILE GROUP 3

('$HOME/ORADATA/u01 /redo3a.log',

'$HOME/ORADATA/u02 /redo3b.log') SIZE 1M;

redo3b.log

redo3a.logredo1a.log

redo1b.log

redo2a.log

redo2b.log

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Ajouter des membres à des fichiers de journalisation en ligne

Si le fichier membre existe déjà, il doit être de même taille et il faut indiquer l'option REUSE

ALTER DATABASE ADD LOGFILE MEMBER

'$HOME/ORADATA/u04/redo1c.log' TO GROUP

1,

'$HOME/ORADATA/u04/redo2c.log' TO GROUP

2,

'$HOME/ORADATA/u04/redo3c.log' TO GROUP

3;

Groupe 1 Groupe 2 Groupe 3

redo1a.log

redo1b.log

redo2a.log

redo2b.log

redo1c.log redo2c.log

redo3a.log

redo3b.log

redo3c.log

Page 7: 4 DBA Journalisation

7

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Supprimer des groupes de fichiers de journalisation en ligne

• Une instance nécessite au moins deux groupes de fichiersde journalisation en ligne.

• Il n’est pas possible de supprimer un groupe actif ou encours (status = Active ou Current ).

• A la suppression d’un groupe de fichiers de journalisationen ligne, les fichiers du système d'exploitation sontconservés.

ALTER DATABASE DROP LOGFILE GROUP 3;

redo1a.log redo2a.log redo3alogoGroupe 1 Groupe 2 Groupe 3

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Supprimer des membres de fichiers de journalisation en ligne

• S'il s'agit du groupe en cours, il faut forcer un changement defichier de journalisation pour supprimer le membre ou legroupe.

• Si la BD fonctionne en mode ARCHIVELOG et que le groupede fichiers de journalisation du membre n'est pas archivé, iln’est pas possible de supprimer le membre ou le groupe.

• Lorsque cette commande est exécutée, le fichier de l’OSn'est pas supprimé

ALTER DATABASE DROP LOGFILE MEMBER '$HOME/ORADATA/u04/redo3c.log';

Groupe 1 Groupe 2

redo1b.logRedo1c.log

redo1a.log

redo1b.rdoredo2c.log

redo1a.log

Page 8: 4 DBA Journalisation

8

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Transférer ou renommer des fichiers de journalisation en ligne

On utilise l'une des méthodes suivantes :• Commande ALTER DATABASE:

– Arrêter la base de données.– Copier les fichiers de journalisation en ligne dans un nouvel

emplacement.

– Placer la base de données en mode MOUNT.– Exécuter la commande.

– Ouvrir la base de données pour un fonctionnement normal.

• Ajouter de nouveaux membres et supprimer les anciens.

ALTER DATABASE RENAME FILE

'$HOME/ORADATA/u01/redo2a.log'

TO '$HOME/ORADATA/u02/redo1c.log';

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Annuler des fichiers de journalisation en ligne

• Si le fichier de journalisation en ligne est endommagé, lacommande ALTER DATABASE CLEAR LOGFILE permetde le réinitialiser.

• le mot-clé UNARCHIVED est utilisé pour ne pas archiver le fichier de journalisation en ligne endommagé.

• Utile lorsque la suppression de fichier log n’est pas

possible (Ex. 2 groupes)

ALTER DATABASE CLEAR UNARCHIVED

LOGFILE GROUP 2;

ALTER DATABASE CLEAR LOGFILE GROUP 2;

Page 9: 4 DBA Journalisation

9

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Configuration des fichiers de journalisation

• Combien de groupes ? :– en général 2 groupes mais si des messages du fichier trace

LGWR ou du fichier d'alertes indiquent que le processus LGWRdoit souvent attendre la fin d'un point de reprise ou l'archivaged'un groupe pour accéder à un groupe, il faut ajouter desgroupes.

• Combien de membres ? :– Le même nombre dans chaque groupe m si pas de contraintes

• Où les placer ?– Les membres d’un groupe doivent être placés sur des disques

différents (en cas de pb sur un disque, les autres membres sontdisponibles)

– Mettre les fichiers en ligne et les fichiers archivés dans desdisques différents (réduire concurrence entre ARCn et LGWR etlimiter le risque de perte de ces fichiers en cas de défaillance)

Copyright © Oracle Corporation, 2002. Tous droits réservés.

• Taille minimale est de 50 ko et taille maximale dépend du

système d'exploitation.

• Les membres de différents groupes peuvent avoir des tailles

différentes 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'entrées de journalisation et leur volume,

– l'espace de stockage disponible sur le support (une bande,

par exemple, si l'archivage est activé),

–Etc.

Configuration des fichiers de journalisation - suite

Page 10: 4 DBA Journalisation

10

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Gérer les fichiers de journalisation en ligne à l'aide d'Oracle Managed Files (OMF)

• Définir le paramètre DB_CREATE_ONLINE_LOG_DEST_n :

Création de deux groupes (numéro 1 et 2) dont chacun contientdeux membres de 100M (par défaut). Les noms des membres sontdonnés automatiquement (voir le fichier alertSID.log).

• On peut ajouter un groupe sans spécification de fichier :

• Supprimer un groupe

DB_CREATE_ONLINE_LOG_DEST_1DB_CREATE_ONLINE_LOG_DEST_2

ALTER DATABASE DROP LOGFILE GROUP 3;

ALTER DATABASE ADD LOGFILE;

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Obtenir des informations sur les groupes et les membres

• En utilisant V$LOG et $VLOGFILE

• Les valeurs les plus courantes de la colonne STATUS deV$LOG– UNUSED : aucune écriture n'a encore été effectuée dans ce

groupe de fichiers de journalisation (nouveaux fichiers)– CURRENT : c’est 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 coursd'utilisation pour la récupération d'un bloc)

– INACTIVE indique que le groupe de fichiers de journalisation enligne n'est plus utile à la récupération d'instance

– CLEARING indique que le journal est recréé sous la forme d'unfichier

Page 11: 4 DBA Journalisation

11

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Fichiers de journalisation archivés

• L'archivage des fichiers de journalisation en ligne (mode

ARCHIVELOG) présente deux avantages :

– Récupération : la sauvegarde de la BD ainsi que les fichiers

de journalisation en ligne et archivés peuvent garantir la

récupération de toutes les transactions validées

– Exemple : défaillance disque données mais sauvegarde

des données de 8 jours + fichier archivés

– Sauvegarde : celle-ci peut s'effectuer lorsque la BD est

ouverte.

• Par défaut, une base de données est créée en mode

NOARCHIVELOG.

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Le paramètre d'initialisation LOG_ARCHIVE_START indique sil'archivage doit être automatique ou manuel lors du démarragede l'instance:� TRUE indique que l'archivage est automatique. ARCn lancel'archivage du groupe de fichiers de journalisation complet àchaque changement de fichier.� FALSE (par défaut) indique que l'administrateur de base dedonnées archive manuellement les fichiers de journalisation enligne complets. Il doit exécuter manuellement une commande àchaque fois qu'il souhaite en archiver un. Il est possibled'archiver manuellement tous les fichiers journalisation en ligneou uniquement certains d'entre eux.

Fichiers de journalisation archivés

Page 12: 4 DBA Journalisation

12

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Fichiers de journalisation archivés

• Archivage réalisé automatiquement par le processus ARCnou à l'aide d'instructions SQL

• Lorsque les fichiers sont correctement archivés :

– une entrée est générée dans le fichier de contrôle– Enregistrements du nom des fichiers archivés, du numéro de

séquence du journal et du numéro SCN le plus élevé et le plusfaible

• Les fichiers de journalisation en ligne complets ne peuventpas être réutilisés :– tant qu'un point de reprise (checkpoint) n'a pas eu lieu

– tant qu'ils n'ont pas été archivés par ARCn

• Les fichiers archivés peuvent être multiplexés (dupliqués).• Ils sont mis à jour par l'administrateur de base de données.

Copyright © Oracle Corporation, 2002. Tous droits réservés.

Synthèse

Ce chapitre vous a permis d'apprendre à :• expliquer le rôle des fichiers de journalisation en ligne• obtenir des informations sur les fichiers de

journalisation en ligne• gérer les changements de fichier de journalisation• multiplexer et mettre à jour les fichiers de journalisation

en ligne• gérer les fichiers de journalisation en ligne à l'aide

d'Oracle Managed Files (OMF)