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 :

system change number


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 144
    Par défaut system change number
    Version : Oracle9iR2
    OS : Windows

    bonjour !

    Je ne comprend pas comment fonctionne les SCN.
    Dans la doc Oracle, il est dit qu'une sauvegarde est consistente quand les SCN sont les mêmes dans les entêtes de fichiers de données et dans le fichier de contrôle, et inconsistente quand les SCN sont différents.
    Ce que je ne comprend pas, c'est qu'on entend bien par SCN le numéro de séquence attribuer à au groupe de Redo log en cours (ou alors chaque commit)?
    Je ne vois pas comment il pourrait y avoir des SCN différents dans les entêtes de fichiers de données et dans le fichier de contrôle si le processus CKPT est le seul à pouvoir écrire dedans (lors s'un checkpoint ou d'un logswitch) ?
    Une sauvegarde consistente serait donc par exemple, un SCN de 95 dans tous les fichiers de données et dans le fichier de contrôle ?

    je suis perdu ! help !

    merci !

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    il suffit que tu fasses un shutdown abort (ou une copie) alors qu'Oracle est en train de changer les SCN... si tu as beaucoup de datafile c'est assez fréquent

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 144
    Par défaut
    Ah dans ce cas la d'accord !

    Mais le SCN qui est écrit c'est bien le numéro de séquence du groupe de redo log en cours ?

    Une dernière question, les commandes suivantes sont elles identiques ? (car en lisant le tuto Pense bête du DBA, ma foi très bien fait , je ne comprend pas bien la différence)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER SYSTEM SWITCH LOGFILE;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER SYSTEM CHECKPOINT;
    merci pour ta réponse !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 144
    Par défaut
    Bon j'ai trouvé ca sur le net :

    Oracle Checkpoint

    A checkpoint performs the following three operations:

    1. Every dirty block in the buffer cache is written to the data files. That is, it synchronizes the datablocks in the buffer cache with the datafiles on disk.
    It's the DBWR that writes all modified databaseblocks back to the datafiles.
    2. The latest SCN is written (updated) into the datafile header.
    3. The latest SCN is also written to the controlfiles.
    Donc, le SCN est relatif à un commit et non à une séquence de redo log si je comprend bien...
    CKPT prend le dernier commit, et l'inscrit dans tous les fichiers de données et dans le fichier de contrôle... c'est bien ca ?
    En fait, le changement de groupe de Redo log implique un checkpoint, d'où ma confusion entre les 2... mais ca demande confirmation auprès de vous

  5. #5
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    SCN n'est pas égal à REDOLOG sequence number :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    SYS@LSC01> select sequence# from v$log where status='CURRENT';
     SEQUENCE#
    ----------
             4
     
    SYS@LSC01> alter system switch logfile;
     
    System altered.
     
    SYS@LSC01> select sequence# from v$log where status='CURRENT';
     SEQUENCE#
    ----------
             5
     
    SYS@LSC01> select DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER from dual;
    GET_SYSTEM_CHANGE_NUMBER
    ------------------------
                      157166
     
    SYS@LSC01> select DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER from dual;
    GET_SYSTEM_CHANGE_NUMBER
    ------------------------
                      157167
    le SCN change tout le temps, même quand tu ne fais "rien"

    J'espère que ça te clarifie la différence!

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 144
    Par défaut
    C'est clair ! Merci beaucoup !

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

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