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 :

Statuts des redo log


Sujet :

Oracle

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Statuts des redo log
    Bonjour,

    Je souhaiterai connaître votre avis sur le cas suivant :

    Via la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select SEQUENCE#, FIRST_CHANGE#, status  from v$log ;
    j'obtiens :

    SEQUENCE# FIRST_CHANGE# STATUS
    ---------------------------------------------------------------
    2662 6633991 INACTIVE
    2663 6638010 ACTIVE
    2664 6642020 CURRENT
    Le fait d'avoir un chevauchement entre le checkpoint 2663 et 2664 veut-il dire que la taille des redo logs n'est pas suffisament grande ?

    Merci de votre retour.

    Cordialement.

    [Modération, Orafrance : Pensez à utiliser les balises [CODE] et [QUOTE] qui améliorent nettement la lisibilité, merci]

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    je ne comprends pas l'histoire de chevauchement

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Je veux dire par chevauchement : le fait qu'il y ait un fichier redo log courant et un autre actif en même temps.

    Merci.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Ca n'a aucun rapport, un log passe de CURRENT à ACTIVE lors d'un switch et de ACTIVE à INACTIVE après le temps indiqué par le paramètre log_checkpoint_timeout

    ACTIVE signifie simplement que le redo est en cours d'archivage ou de switch

  5. #5
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Pour ce genre de question, un seul réflexe : la doc !!!

    http://download-west.oracle.com/docs...98.htm#1094295

    * UNUSED - Online redo log has never been written to. This is the state of a redo log that was just added, or just after a RESETLOGS, when it is not the current redo log.
    * CURRENT - Current redo log. This implies that the redo log is active. The redo log could be open or closed.
    * ACTIVE - Log is active but is not the current log. It is needed for crash recovery. It may be in use for block recovery. It might or might not be archived.
    * CLEARING - Log is being re-created as an empty log after an ALTER DATABASE CLEAR LOGFILE statement. After the log is cleared, the status changes to UNUSED.
    * CLEARING_CURRENT - Current log is being cleared of a closed thread. The log can stay in this status if there is some failure in the switch such as an I/O error writing the new log header.
    * INACTIVE - Log is no longer needed for instance recovery. It may be in use for media recovery. It might or might not be archived.


    Pas d'inquiétude, votre situation est parfaitement normale.

    Par contre Orafrance, je ne suis pas d'accord avec ce que tu dis sur l'état ACTIVE. Cet état est indépendant de l'archivage éventuel, et n'est possible qu'après un basculement de log.
    Il indique uniquement que si le serveur plante subitement, le log en question sera nécessaire pour le redémarrage, en plus de celui qui était en CURRENT évidemment.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  6. #6
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 97
    Points : 110
    Points
    110
    Par défaut
    Citation Envoyé par orafrance
    ACTIVE signifie simplement que le redo est en cours d'archivage ou de switch
    Pour completer, meme lorsque le switch est terminé, la mise a jour du Statut ACTIVE->INACTIVE du control file (et donc de la vue V$LOG) par le Process LGWR peut intervenir avec un certain delai car c'est une operation de faible priorité.

  7. #7
    Candidat au Club
    Inscrit en
    Janvier 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Taille des redo logs
    Merci à tous pour ces précions.

    Bonne journée.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Pomalaix le problème de la soc dans ce cas c'est qu'elle dit : le status active indique que le redo est actif

    Pour le status active, je le tiens de ce message : http://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=FOR&p_id=481037.996

    So active doesn't necessarily mean its archived or not, but means some process is using it or the log file is waiting for some process to access it.

    c'est donc bien que l'archivage PEUT être en cours ou simplement un checkpoint

    PS : j'avoue que ce status est assez mal documenté

  9. #9
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par orafrance
    Pour le status active, je le tiens de ce message : http://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=FOR&p_id=481037.996

    So active doesn't necessarily mean its archived or not, but means some process is using it or the log file is waiting for some process to access it.
    c'est donc bien que l'archivage PEUT être en cours ou simplement un checkpoint
    L'archivage peut être un cours, certes, tout comme je peux être en train de manger de la sole : ça n'a pas d'influence sur l'état ACTIVE.

    Le contenu du lien que tu cites me paraît douteux.
    Je crois qu'il ne faut pas chercher dans V$LOG d'autres informations que les suivantes :
    - quel est le fichier log qui reçoit actuellement les écritures (statut CURRENT)
    - quels sont les fichiers log qui sont nécessaires en cas de plantage d'instance (statut ACTIVE), indépendamment des considérations d'archivage qui sont tout à fait indépendantes

    Notre maître à tous confirme d'ailleurs les dires de la doc :
    http://asktom.oracle.com/pls/ask/f?p=4950:8:15870124340228858758::NO::F4950_P8_DISPLAYID,F4950_P8_CRITERIA:346817516082

    active -- has stuff in it that is needed for instance recovery if we crashed right now.

    current -- where stuff is being written to right now

    inactive -- was used at some point, but isn't needed for instance recovery anymore (all blocks it was protecting have been flushed to disk by a checkpoint) and isn't the current redo log file...

    All other status would be "not normal" and after some period of activity would become "normal"
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    oui oui, on est complétement d'accord, en fait ACTIVE = utiliser par un process mais pas par les instructions courantes... donc toutes autres choses qui se passent sur le redo DONT l'archivage qui utilise le fichier de redo à archiver évidemment

    EDIT : l'archivage n'est donc pas complétement indépendant puisque tant qu'il n'est pas fini, le redo est actif et est donc nécessaire en cas de recover

  11. #11
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par orafrance
    ...ACTIVE = utiliser par un process...
    Justement, je suis convaincu que c'est une fausse interprétation (les gars du support Oracle ne disent pas que des exactitudes), mais je n'ai rien pour le prouver davantage.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    bah moi ça ne me semble pas illogique de dire que tant que l'archivage est en cours, le redo nécessite d'être présent pour un recover... m'enfin... si tu trouves une doc qui léve le mystère sur ce point je suis preneur

    Si ça c'est pas du chipotage de gros drogués d'Oracle

  13. #13
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    active -- has stuff in it that is needed for instance recovery if we crashed right now.
    Pour moi, uniquement le redo en status CURRENT est nécessaire en cas d'instance recovery car lors du switch logfile précédent, il y a eu un checkpoint et tout ce qui était dans le buffer cache protégé par ce redo est sur disque dans les datafiles. Ce redo n'est plus nécessaire pour l'instance recovery, Oracle ne le considère plus sauf pour l'archivage éventuel amha.


    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Bah non, si c'est dans le redo c'est que c'est plus dans le buffer cache... et puis de toute façon t'es pas sûr que les datafiles sont synchro alors moi je pense plutôt que c'est nécessaire tant l'archive n'est pas OK ou le checkpoint en cours (bon là faut pas avoir de bol )

  15. #15
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Citation Envoyé par orafrance
    si c'est dans le redo c'est que c'est plus dans le buffer cache


    Un bloc peut très bien être dans le redo log file mais rester "dirty" dans le buffer cache (suite à un commit par exemple).


    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    mais dans le redo t'as pas les blocs, les blocs sont dans le UNDO si je ne m'abuse ???

    Houla, tu me fais salement douter

  17. #17
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Dans le redo tu as la version du bloc après modif, dans le undo avant modif. Du coup moi aussi je doute, dans le redo, c'est l'image du bloc entier, ou bien un delta entre le bloc avant et le bloc après ?


    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Pour moi, le redo c'est la commande + ancienne valeur + nouvelle valeur... sinon, comment fait logminer pour s'y retrouver, il ne dépouille pas les blocs quand même

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96521/onlineredo.htm#3848

    For example, if you change a salary value in an employee table, you generate a redo record containing change vectors that describe changes to the data segment block for the table, the rollback segment data block, and the transaction table of the rollback segments.
    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96521/onlineredo.htm#3873

    Online redo log files that are required for instance recovery are called active online redo log files.
    etc... etc... voila qui nous éclaire d'avantage

  20. #20
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 97
    Points : 110
    Points
    110
    Par défaut
    Pour moi, uniquement le redo en status CURRENT est nécessaire en cas d'instance recovery car lors du switch logfile précédent, il y a eu un checkpoint et tout ce qui était dans le buffer cache protégé par ce redo est sur disque dans les datafiles. Ce redo n'est plus nécessaire pour l'instance recovery, Oracle ne le considère plus sauf pour l'archivage éventuel amha.
    En cas de Crash, le recover de l'instance se fait a partir du dernier Checkpoint. Le Redolog en ACTIVE est donc aussi necessaire car le checkpoint est en cours, et le checkpoint SCN dans le fichier de controle et les Fichiers de base ne sont pas encore mis a jour.

    A mon avis pomalaix a raison. lors du switch le redolog est marque en Active. Pendant le switch le redolog est marque ACTIVE, le Checkpoint est realise par le Process DBW. Lorsque le Checkpoint est fini, les fichiers de base sont synchrone et le redolog est marque Inactive. Il n'est plus necessaire pour un Instance recovery.
    Tout ca est completement independant du fait que la base est en mode ARCHIVELOG ou PAS.
    Pendant le switch, si la base est en ARCHIVELOG, le process ARC est lance par le LGWR et archive le redolog. l'archivge peut continuer apres que le redolog soit marqué INACTIVE

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Liste des REDO LOGS de la base
    Par SheikYerbouti dans le forum Contribuez
    Réponses: 0
    Dernier message: 30/12/2011, 14h18
  2. Forcer le checkpoint des redo logs
    Par ledub10 dans le forum Administration
    Réponses: 8
    Dernier message: 09/02/2011, 11h39
  3. [Oracle 10g]Trou dans les séquences des redo logs
    Par Christophe P. dans le forum Administration
    Réponses: 11
    Dernier message: 07/11/2008, 20h13
  4. Gestion des redo log archivés
    Par phil4444 dans le forum Administration
    Réponses: 16
    Dernier message: 12/05/2008, 21h20
  5. [Redo log] : augmenter la taille des fichiers
    Par user_oracle dans le forum Oracle
    Réponses: 3
    Dernier message: 29/11/2005, 19h49

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