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

Administration Oracle Discussion :

Base Standby : Max(sequence#) trop différents


Sujet :

Administration Oracle

  1. #1
    Membre habitué Avatar de ilalaina
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 187
    Points
    187
    Par défaut Base Standby : Max(sequence#) trop différents
    Bonjour à tous.
    J'ai un souci avec ma base Standby. Je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select max(sequence#) from v$archived_log
    Ca donne 3293 sur la base primaire, et 2025 sur la base standby. Trop de différence évidemment.
    Voici un extrait des alrt.log :
    Sur la base primaire :

    Sun Apr 20 16:27:38 2008
    starting up 1 shared server(s) ...
    starting up 2 dispatcher(s) for network address '(ADDRESS=(PROTOCOL=TCP)(HOST=db5.ais-mada.lan)(PORT=1521))'...
    ARCH: STARTING ARCH PROCESSES
    ARC0 started with pid=21
    ARC0: Archival started
    Sun Apr 20 16:27:39 2008
    ARCH: STARTING ARCH PROCESSES COMPLETE
    Sun Apr 20 16:27:40 2008
    alter database mount
    Sun Apr 20 16:27:44 2008
    Successful mount of redo thread 1, with mount id 1525635904.
    Sun Apr 20 16:27:44 2008
    Database mounted in Exclusive Mode.
    Completed: alter database mount
    Sun Apr 20 16:27:44 2008
    alter database open
    Sun Apr 20 16:27:48 2008
    Thread 1 opened at log sequence 2025
    Current log# 4 seq# 2025 mem# 0: E:\ORACLE\ORADATA\ORACLE\REDO04.LOG
    Current log# 4 seq# 2025 mem# 1: F:\ORACLE\ORADATA\ORACLE\REDO04.LOG
    Successful open of redo thread 1.
    Sun Apr 20 16:27:49 2008
    SMON: enabling cache recovery
    SMON: enabling tx recovery
    Sun Apr 20 16:28:06 2008
    Completed: alter database open
    Sun Apr 20 16:29:30 2008
    Thread 1 advanced to log sequence 2026
    Current log# 6 seq# 2026 mem# 0: E:\ORACLE\ORADATA\ORACLE\REDO06.LOG
    Current log# 6 seq# 2026 mem# 1: F:\ORACLE\ORADATA\ORACLE\REDO06.LOG
    Sun Apr 20 16:29:30 2008
    ARC0: Beginning to archive log# 4 seq# 2025
    ARC0: Completed archiving log# 4 seq# 2025
    Et sur la Standby :
    Sun Apr 20 16:26:39 2008
    alter database mount standby database
    Sun Apr 20 16:26:46 2008
    Successful mount of redo thread 1, with mount id 1525629958.
    Sun Apr 20 16:26:46 2008
    Standby Database mounted.
    Completed: alter database mount standby database
    Sun Apr 20 16:26:46 2008
    ALTER DATABASE RECOVER managed standby database
    Media Recovery Start: Managed Standby Recovery
    Media Recovery Log
    Media Recovery Waiting for thread 1 seq# 2025
    Sun Apr 20 16:29:38 2008
    Media Recovery Log F:\ORACLE\ORADATA\ORACLE\STDBY_ARCHIVE\ARC02025.001
    Media Recovery Waiting for thread 1 seq# 2026
    Je ne comprends pas pourquoi le log de la base primaire indique Current log# 6 seq# 2026 mem# alors que max(sequence#) donne 3293.
    Quelqu'un pourrait-il m'aider?
    Merci d'avance.
    " ... On naît, on vit, on meurt, mais exister est un honneur ... "

  2. #2
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 357
    Points : 280
    Points
    280
    Par défaut
    essaie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT max(sequence#) from v$archived_log where applied = 'YES'

  3. #3
    Membre habitué Avatar de ilalaina
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 187
    Points
    187
    Par défaut
    Désolé, j'aurais dû mentionner que je suis sur Oracle 8. Il n'y a pas de colonne applied dans la vue v$archived_log.
    " ... On naît, on vit, on meurt, mais exister est un honneur ... "

  4. #4
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 357
    Points : 280
    Points
    280
    Par défaut
    mmm malheureusement j ai pas de base oracle 8 sious la main mais tu devrai faire une desc v$archived_log et regarder les differents parametres en dessous de 2025 et au dela de 2027 pour voir si il n y a pas quelques indices. Par exemple il est possible que tu ai fait un recover qui ai creer une nouvelle incarnation de ta base et reseter la numerotation des AL.

  5. #5
    Membre éclairé Avatar de philcero
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 528
    Points : 773
    Points
    773
    Par défaut
    Ca sent effectivement le resetlog à plein nez. On voie bien que les séquences sont en phase dans les ALERT_LOGs. D'ailleur la primaire ne devrait pas donner de séquence supérieure à celle mentionnée dans son ALERT_LOG. Comment une base peut-elle avoir connaissance d'un objet qui n'existe pas encore si ce n'est que la mention de celui-ci est un résidu d'un lointain passé ?
    Philippe CEROU,

    Architecte Systèmes & Bases de données.

  6. #6
    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
    Points : 4 926
    Points
    4 926
    Par défaut
    bon, d'après ce que je vois le numéro courant est 2025 sur prod. sans doute que ton 3293 vient d'une ancienne incarnation.


    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select resetlogs_change#, max(sequence#) 
    from v$archived_log 
    group by resetlogs_change#;

  7. #7
    Membre habitué Avatar de ilalaina
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 187
    Points
    187
    Par défaut
    Sur la base primaire :
    SQL> SELECT resetlogs_change#, max(sequence#)
    2 FROM v$archived_log
    3 GROUP BY resetlogs_change#;

    RESETLOGS_CHANGE# MAX(SEQUENCE#)
    ----------------- --------------
    383666233 60
    384550373 3293
    484019677 2037
    Et sur la Standby :
    SQL> SELECT resetlogs_change#, max(sequence#)
    2 FROM v$archived_log
    3 GROUP BY resetlogs_change#;

    RESETLOGS_CHANGE# MAX(SEQUENCE#)
    ----------------- --------------
    484019677 2037
    Ca fait quoi exactement cette requête?
    " ... On naît, on vit, on meurt, mais exister est un honneur ... "

  8. #8
    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
    Points : 4 926
    Points
    4 926
    Par défaut
    dès que la base est ouverte avec un ALTER DATABASE OPEN RESETLOGS; le numéro de séquence est remis à zéro (à un). Cela arrive par exemple après un RECOVER UNTIL TIME.

    pour savoir la date de ton SCN 384550373 tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select resetlogs_change#, resetlogs_time, max(sequence#) 
    from v$archived_log 
    group by resetlogs_time,resetlogs_change#;
    mais d'après ta requête tout va bien pour toi

  9. #9
    Membre habitué Avatar de ilalaina
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 187
    Points
    187
    Par défaut
    Merci bien de votre réponse, c'est très claire. Effectivement :
    SQL> SELECT resetlogs_change#, resetlogs_time, MAX(sequence#)
    2 FROM v$archived_log
    3 GROUP BY resetlogs_time, resetlogs_change#;

    RESETLOGS_CHANGE# RESETLOGS_TIME MAX(SEQUENCE#)
    ----------------- -------------- --------------
    383666233 28/07/2007 02: 60
    384550373 01/08/2007 16: 3293
    484019677 02/01/2008 17: 2076
    Mais avant de mettre le tag résolu j'aimerais bien savoir s'il existe un moyen de "nettoyer" ces données, c'est à dire faire en sorte que quand je lance la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT max(sequence#) from v$archived_log;
    cela me donne 2076 .
    " ... On naît, on vit, on meurt, mais exister est un honneur ... "

  10. #10
    Membre éclairé Avatar de philcero
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 528
    Points : 773
    Points
    773
    Par défaut
    Il faut faire une requête combinée avec le numéro d'incarnation courant de ta base de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SQL> SELECT max(wval.sequence#)
      2  FROM   v$archived_log wval, v$database wvdb
      3  WHERE  wval.resetlogs_change#=wvdb.resetlogs_change#;
     
    MAX(WVAL.SEQUENCE#)
    -------------------
                   7027
    Philippe CEROU,

    Architecte Systèmes & Bases de données.

  11. #11
    Membre habitué Avatar de ilalaina
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 187
    Points
    187
    Par défaut
    Ok. Merci beaucoup de votre aide, c'est exactement ce que je voulais savoir. Visiblement ça prendra des dizaines d'années pour maîtriser les vues dynamiques d'Oracle.
    " ... On naît, on vit, on meurt, mais exister est un honneur ... "

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/10/2009, 14h07
  2. Synchronisation base primaire et base standby
    Par fanah dans le forum Administration
    Réponses: 0
    Dernier message: 22/10/2009, 11h12
  3. Migration de base Mysql avec des versions différentes
    Par Papouz dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 20/02/2007, 18h20
  4. base multi-utilisateurs et droits différents
    Par spacergirly dans le forum Sécurité
    Réponses: 5
    Dernier message: 12/02/2007, 15h11
  5. [9iR2] Configuration de listener pour une base standby
    Par heffer69 dans le forum Oracle
    Réponses: 1
    Dernier message: 30/01/2006, 16h58

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