IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

SCN et RBA


Sujet :

Oracle

  1. #1
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut SCN et RBA
    Bonjour ,
    J'ai lu avec intérêt l'article de Bouyao trés technique : Le SCN ,
    Justement j'aurai voulu savoir comment à partir d'information sur le fichier trace de bases de données récupéres de quel(s) fichier(s) ils s'agit :

    Completed checkpoint up to RBA [0x421.2.10], SCN: 0x0000.1f74a4ce
    Cela suite à un shutdown immediate qui n'a pu se faire.

    Oracle 8174
    Hp UX

    Jaouad

  2. #2
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Bonjour Jaouad,

    RBA : Adresse du bloc journal (redo)

    Les entrées recentes dans le redo thread d'une instance oracle ont une adresse appelé RBA (Redo Byte Adsress) qui est constitué de trois parties :

    Le numéro de séquence du fichier journal (4 bits)
    Le numéro du bloc du fichier journal (4 bits)
    Offset de ce bloc (2 bits)

    L'emplacement de chaque entrée redo log est identifié par le RBA. Ils sont tres utiles pour les blocs modifiés dans le buffer cache.

    Les RBA ne sont pas nécessairement unique dans leurs thread, puisque le numéro de sequence du fichier journal peut être mis à 1 dans tous les thread si la base est ouverte avec l'option RESETLOGS.

    Dans ton exemple : RBA = 421.2.10

    Donc le numéro de sequence du fichier journal est 421

    Il suffit de voir dans la vue V$LOG_HISTORY

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL> select sequence#,first_change#,next_change#,resetlogs_change# from v$log_history;
    Comme j'ai dit avant si il y'a un resetlog le numéro de sequence s'initialise à 1

  3. #3
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Merci Bouyao pour cette réponse ,
    j'ai donc indentifié le fichier REDO ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select sequence#,first_change#,next_change#, from v$log_history
    where sequence#=421;
    J'ai donc obtenu le RECID et je pensais ainsi que je pourrais retrouver le fichier d'achive en question ,
    mais le probléme c'est que ce fichier est antérieur (08/2005) au probléme ( hier )

    Est ce que je me suis trompé dans la méthodo.


    Jaouad,

  4. #4
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Peut être le fichier log n'est pas encore archivé ou (encore dans le buffer redo log)

    Essaye de voir dans le fichier log non encore archivé
    c'est quoi la denière sequence des tes fichiers logs ?

    Si ca date de 8/2005 veut dire que tu a fait un resetlog entre temps

  5. #5
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Erreur de ma part :
    142 est en hexa il faut le convertir en décimal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SQL> select to_number('142','xxxx') from dual;
     
    TO_NUMBER('142','XXXX')
    -----------------------
                        322
     
    SQL>
    donc numéro de sequence est 322

  6. #6
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Oui mais le resetlogs s'accompagne de la re création de fichiers de contrôle afin de purger la vue v$archived_logs notamment .

    D'ailleurs cela se vérifie si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT COUNT (*)  FROM v$archived_log
    WHERE SEQUENCE#=1
    La réponse est 1 est non pas deux ou plus .

    L'identifant unique est dans ce cas RECID

  7. #7
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SQL> select to_number('421','xxxx') from dual;
     
    TO_NUMBER('421','XXXX')
    -----------------------
                       1057
     
    SQL>
    Je suis un peu fatigué aujourd'huit

    DONC c'est 1057

    Citation Envoyé par Jaouad
    Oui mais le resetlogs s'accompagne de la re création de fichiers de contrôle afin de purger la vue v$archived_logs notamment
    Je pense pas, car on peut faire un restlog sans recréer le fichier de contrôle

  8. #8
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Effectivement c'est le bon fichier ,

    Merci pour la réponse et

    tu voit t'es pas aussi fatigué que ca

    Jaouad

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème SCN
    Par 79Charles dans le forum Administration
    Réponses: 10
    Dernier message: 31/05/2009, 16h07
  2. connaitre le scn en cours
    Par lecharcutierdelinux dans le forum Administration
    Réponses: 1
    Dernier message: 23/05/2007, 15h29
  3. différence entre sequence number et SCN
    Par lecharcutierdelinux dans le forum Import/Export
    Réponses: 7
    Dernier message: 16/05/2007, 15h40
  4. Question technique: SCN et CKPT
    Par lecharcutierdelinux dans le forum Administration
    Réponses: 6
    Dernier message: 25/04/2007, 15h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo