Dump des fichiers RedoDate de publication : le 26 Septembre 2005
Dans cet Article
I. Introduction II. Dump basé sur le DBA (Data Block Address) III. Dump basé sur le RBA (Redo Block Address) IV. Dump basé sur le temps V. Dump basé sur la couche et l'opcode. VI. Dump des informations de l'entête du fichier VII. Dump du fichier redo en entier I. Introduction
Les informations dans les fichiers redo sont souvent très utile pour diagnostiquer les problèmes de corruption.
On utilise les commandes suivantes :
Cette commande nécessite le privilège système ALTER SYSTEM. La base peut être en mode mount, nomount ou open quand la commande est lancé. Un fichier redo en ligne ou archivé peut être déchargé. Il est possible de faire un dump d'un fichier d'une autre base, tant que l'OS est le même.
La sortie de la commande est mise dans le fichier trace de la session.
Les differents façons pour faire un dump du fichier redo sont :
II. Dump basé sur le DBA (Data Block Address)Cela, déchargera tous les enregistrements redo dans un rangée de
blocs de données specifié par file# et bloc#..
A partir de SQL, en lance la commande suivante :
Exemple:
III. Dump basé sur le RBA (Redo Block Address)
Ici, on décharge tous les enregistrements redo entre deux adresses redo spécifiés par
un numéro de séquence et un numéro de bloc.
Example:
IV. Dump basé sur le temps
Cette option devrait provoquer la décharge des enregistrements redo crées entre
deux dates.
Pour décharger le fichier redo suivant les dates, on utilise la commande suivante :
Par exemple:
time = (((((yyyy - 1988)) * 12 + mm - 1) * 31 + dd - 1) * 24 + hh) * 60 + mi) * 60 + ss;
V. Dump basé sur la couche et l'opcode.
LAYER et OPCODE sont utilisés pour décharger tous les enregistrements d'un type particulier.
Depuis la commande SQL :
Par exemple:
VI. Dump des informations de l'entête du fichier
Cette commande décharge les informations des entêtes de tous les fichiers redo en ligne.
A partir de SQL :
La commande décharge les entêtes de tous les fichiers journaux
* DUMP OF LOG FILES: 3 logs in database
La ligne suivante montre que la base à 3 fichiers de journalisation.
* LOG FILE #1: (name #3) D:\ORACLE\PRODUCT\10.2.0\ORADATA\B10G2\REDO01.LOG
C'est le nom du fichier de journalisation avec le chemin complet.
* Thread 1 redo log links: forward: 2 backward: 0
siz: 0x19000 seq: 0x00000053 hws: 0x4 bsz: 512 nab: 0xffffffff flg: 0x8 dup: 1
Archive links: fwrd: 0 back: 0 Prev scn: 0x0000.00315ef2
Low scn: 0x0000.0031b9a8 10/23/2005 00:40:37
Next scn: 0xffff.ffffffff 01/01/1988 00:00:00
Ces informations se trouve dans le fichier de contrôle.
Ici on'a deux informations intéressantes pour calculer la taille du fichier redo : siz et bsz.
Bsz est la taille d'un bloc et siz est le nombre de blocs dans le fichier redo.
Dans cette exemple la taille du fichier redo exacte est 52429312 (taille OS, on peut le verifier par les commandes OS comme ls sous unix ou dir sous dos).
D'après le fichier trace la taille du fichier redo est egale à siz x bsz = 102400 x 512 = 52428800 (car 0x19000 est égale à 102400 en décimal). Et on remarque qu'il manque un bloc 52429312 - 52428800 = 512 . Tout simplement le bloc manquant est celui de l'entête du fichier redo qui contient des informations OS. Enfin, la taille exacte du fichier est (siz + 1) x bsz.
seq: 0x00000053 c'est le numéro de sequence du fichier redo, en décimal c'est 83=5*16+3.
hws: 0x4 c'est header write seq#
nab: 0xffffffff le prochain bloc disponible (next available block)
flg: 0x8 c'est le type de fichier (ici un fichier redo en ligne). Le drapeau peut prendre les valeurs suivantes :
Low scn: 0x0000.0031b9a8 10/23/2005 00:40:37 c'est le SCN quand le fichier redo à commuter en Next scn: 0xffff.ffffffff 01/01/1988 00:00:00 . next scn est soit égale à low scn du prochain fichier redo ou 0xffff.ffffffff s'il est encore en ligne.
Dans la section FILE HEADER on'a :
Compatibility Vsn = 169869568=0xa200100 veut dire une base en 10.2.01
Db ID=1483236283=0x586863bb
Control Seq=2084=0x824, c'est le numéro de séquence du fichier de contrôle, ce numéro est nécessaire pour trouver le bon fichier de contrôle suite à une restauration.
File Type=2 LOG c'est le type du fichier, le type 2 veut dire un fichier redo.
descrip:"Thread 0001, Seq# 0000000083, SCN 0x00000031b9a8-0xffffffffffff" C'est un texte en ASCII juste une aide pour le deboguage.
thread: 1 nab: 0xffffffff seq: 0x00000053 hws: 0x4 eot: 1 dis: 0
thread : le numéro de thread pour ce fichier redo nab : prochain bloc disponible seq : le numéro de sequence du fichier redo eot : indique si c'est le dernier log (End Of Thread). Il prend les valeurs suivantes :
dis : DISabled - Vrai si le thread est désactivé à la fin de ce log.
VII. Dump du fichier redo en entier
A partir de SQL on peut lancer la commande suivante :
Par exemple:
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur.
La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
|