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 :

LOGMINER : Questions de débutant


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 111
    Par défaut LOGMINER : Questions de débutant
    Bonjour,

    En avant propos, je rappelle que je suis en auto-formation sur une plateforme de production. Certaines questions peuvent paraitre naïves, voire débiles, mais elles montrent juste que les livres et Internet ne remplacent pas une bonne vieille formation par l'humain (à moins que cela soit soit mon cerveau qui doive être changé )

    Je travaille sur 10.2.0.3, en RAC et en ASM.

    Des erreurs ont eu lieu ce WE lors de traitement (Fetch too old) et je souhaite vérifier les logs pour connaitre les instructions SQL qui déclenchent ces erreurs.

    LOGMINER semble être l'outil fait pour ça.

    Questions :

    1. Ma base est en NOARCHIVELOG. LOGMINER est il tout de même utilisable ? (NON dans le dossier sur LOGMINER et la 9i présent sur ce site mais dans le livre "Oracle 10g Guide du DBA" de LONEY et BRYLA, ce n'est pas précisé)

    2. LOGMINER serait accessible par OEM. d'accord mais lequel ? la version serveur par navigateur (pas trouvé) ou la version client (pas trouvé non plus) ?

    3. Ne découvrant la question 1 que tout récemment, j'ai tenté d'utiliser le LOGMINER et je suis bloqué par une erreur que je n'arrive pas à résoudre.
    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
    SQL> SELECT group#, type, member, status FROM v$logfile order by GROUP#;
        GROUP# TYPE    MEMBER                                                  STATUS
    ---------- ------- ------------------------------------------------------- -------
             1 ONLINE  +ASM/bdd/onlinelog/group_1.460.654878235
             1 ONLINE  +ASM/bdd/onlinelog/group_1.459.654878235
             2 ONLINE  +ASM/bdd/onlinelog/group_2.462.654878283
             2 ONLINE  +ASM/bdd/onlinelog/group_2.461.654878283
             3 ONLINE  +ASM/bdd/onlinelog/group_3.463.654878359
             3 ONLINE  +ASM/bdd/onlinelog/group_3.464.654878361
             4 ONLINE  +ASM/bdd/onlinelog/group_4.458.654878179
             4 ONLINE  +ASM/bdd/onlinelog/group_4.457.654878179
             5 ONLINE  +ASM/bdd/onlinelog/group_5.465.654883569
             5 ONLINE  +ASM/bdd/onlinelog/group_5.455.654883569
             6 ONLINE  +ASM/bdd/onlinelog/group_6.466.654883583
             6 ONLINE  +ASM/bdd/onlinelog/group_6.467.654883583
             7 ONLINE  +ASM/bdd/onlinelog/group_7.468.654883593
             7 ONLINE  +ASM/bdd/onlinelog/group_7.469.654883593
             8 ONLINE  +ASM/bdd/onlinelog/group_8.471.654883599
             8 ONLINE  +ASM/bdd/onlinelog/group_8.470.654883599
    Après avoir ajouter tous ces fichiers (1 seul possible par groupe) dans le logminer, j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SQL> SELECT FILENAME, LOW_TIME, HIGH_TIME, LOW_SCN, NEXT_SCN FROM V$LOGMNR_LOGS;
     
    FILENAME                                                LOW_TIME            HIGH_TIME              LOW_SCN   NEXT_SCN
    ------------------------------------------------------- ------------------- ------------------- ---------- ----------
    +ASM/bdd/onlinelog/group_2.462.654878283     22/02/2010 12:00:06 22/02/2010 13:06:31 1180235462 1180252951
    +ASM/bdd/onlinelog/group_4.458.654878179     22/02/2010 13:06:31 22/02/2010 13:57:04 1180252951 1180275797
    +ASM/bdd/onlinelog/group_1.460.654878235     22/02/2010 13:57:04 22/02/2010 14:00:24 1180275797 1180280440
    +ASM/bdd/onlinelog/group_3.463.654878359     22/02/2010 14:00:24 01/01/1988 00:00:00 1180280440 2.8147E+14
    +ASM/bdd/onlinelog/group_8.471.654883599     22/02/2010 13:40:58 22/02/2010 13:59:47 1180264785 1180278484
    +ASM/bdd/onlinelog/group_5.465.654883569     22/02/2010 13:59:47 22/02/2010 14:10:23 1180278484 1180288205
    +ASM/bdd/onlinelog/group_6.466.654883583     22/02/2010 14:10:23 22/02/2010 14:16:05 1180288205 1180296396
    +ASM/bdd/onlinelog/group_7.468.654883593     22/02/2010 14:16:05 01/01/1988 00:00:00 1180296396 2.8147E+14
    Mes erreurs étant survenues avant le 22/02/2010, dois-je (puis-je) uniquement travailler sur les fichiers 3 et 7 ?
    Je "démarre" le LOGMINER :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXECUTE DBMS_LOGMNR.START_LOGMNR(options=>DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG +DBMS_LOGMNR.NO_ROWID_IN_STMT +DBMS_LOGMNR.NO_SQL_DELIMITER);
    Ensuite, je souhaite travailler sur une période de temps et je dois donc utiliser les instructions STARTTIME et ENDTIME. A chaque fois, j'obtiens une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ORA-01291: missing logfile
    ORA-06512: at "SYS.DBMS_LOGMNR", line 58
    J'ai mis la totalité des fichiers log. Quel logfile manque-t-il ? J'ai essayé de préciser le dictionnaire en le sortant dans un fichier plat.
    Je suis bloqué.

    4. J'ai des fichiers alertXXX.log. Sont-ils utiles à explorer dans mon cas et que dois-je y chercher ?

    Merci d'avance de votre aide.

    PS : Je n'ose pas passer la base en ARCHIVELOG car je ne maitrise pas l'impact que cela pourrait avoir sur la création de fichiers (place prise).

  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
    1. logminer permet de lire les archives logs... donc sans archive logminer ne sert à rien.

    3. bah oui... pas d'archives donc pas de log file. En plus tu peux pas voir les SELECT

    4. oui, les ORA- notamment ceux de ton erreur qui doit être snapshot too old plutôt non ?

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 111
    Par défaut
    Merci beaucoup pour les réponses.

    1. Bon bah comme ça c'est réglé
    Quel est le principal impact de basculer en ARCHIVELOG ? Est ce que cela va créer beaucoup de fichiers ? un ordre d'idées de la place necessaire ? un calcul d'estimation ?

    2. J'ai réussi à lancer le LogMiner par l'OEM du client avec ORACLE_HOME\bin\oemapp.bat lmviewer. Je suis cependant bloqué par la 2° identification pour accéder au référentiel. Pour la première j'ai utilisé SYS. J'ai essayé SYS pour la deuxième, cela ne fonctionne pas. Quand j'essaye il me demande de préciser le rôle SYSDBA. Mais je n'ai pas de champ pour le saisir (nom d'utilisateur, mot de passe, service). Est ce dû au fait que le LogMiner ne pourra pas fonctionner car cf. Q1 ?

    4. Oui, bien sûr, tu as raison. c'est un snapshot too old.
    Existe-t-il une différence entre un alertXXXX.log et un XXX.trc ? Le 1° est une concaténation des seconds ? ils se complètent ? Je vais fouiller par là et je reviens.

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 111
    Par défaut
    1.
    Citation Envoyé par Orafrance
    logminer permet de lire les archives logs... donc sans archive logminer ne sert à rien.
    Peut-on visualiser les logfiles (listés dans le premier post) d'une quelconque autre manière ?

    4.les informations dans le AlertXXX.log sont les suivantes (rien dans les fichiers *.trc à cette heure là (normal ou bizarre ?):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sun Feb 21 14:49:26 2010
    ORA-01555 caused by SQL statement below (SQL ID: 6j4jzuhfk7ctv, Query Duration=46166 sec, SCN: 0x0000.4651a16f):
    Sun Feb 21 14:49:26 2010
    select ligne from V_Fon_Proj
    Quelles sont les informations utiles ? Quelles sont les pistes à suivre ?



    Merci d'avance pour vos réponses et/ou conseils

  5. #5
    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
    Citation Envoyé par korian Voir le message
    4.les informations dans le AlertXXX.log sont les suivantes (rien dans les fichiers *.trc à cette heure là (normal ou bizarre ?):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sun Feb 21 14:49:26 2010
    ORA-01555 caused by SQL statement below (SQL ID: 6j4jzuhfk7ctv, Query Duration=46166 sec, SCN: 0x0000.4651a16f):
    Sun Feb 21 14:49:26 2010
    select ligne from V_Fon_Proj
    Quelles sont les informations utiles ? Quelles sont les pistes à suivre ?
    Il n'y a pas de clause WHERE dans le SELECT, c'est probablement trop long ou juste pas tombé au bon moment. Fait une recherche sur cette erreur dans le forum pour comprendre quand ça arrive.

  6. #6
    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
    Citation Envoyé par korian Voir le message
    Merci beaucoup pour les réponses.

    1. Bon bah comme ça c'est réglé
    Quel est le principal impact de basculer en ARCHIVELOG ? Est ce que cela va créer beaucoup de fichiers ? un ordre d'idées de la place necessaire ? un calcul d'estimation ?

    2. J'ai réussi à lancer le LogMiner par l'OEM du client avec ORACLE_HOME\bin\oemapp.bat lmviewer. Je suis cependant bloqué par la 2° identification pour accéder au référentiel. Pour la première j'ai utilisé SYS. J'ai essayé SYS pour la deuxième, cela ne fonctionne pas. Quand j'essaye il me demande de préciser le rôle SYSDBA. Mais je n'ai pas de champ pour le saisir (nom d'utilisateur, mot de passe, service). Est ce dû au fait que le LogMiner ne pourra pas fonctionner car cf. Q1 ?

    4. Oui, bien sûr, tu as raison. c'est un snapshot too old.
    Existe-t-il une différence entre un alertXXXX.log et un XXX.trc ? Le 1° est une concaténation des seconds ? ils se complètent ? Je vais fouiller par là et je reviens.
    1. non ça dépend de l'activité. Pour mesurer faut voir le nombre de checkpoint dans v$log_history
    4. alert.log c'est les logs de la bases, les autres c'est sur une session. Snapshot too old c'est soit le UNDO trop petit soit le undo_retention pas assez long soit une requête trop longue... dans tous les cas, logminer ne te sera d'aucun secours. fais une recherche sur le forum.

  7. #7
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 111
    Par défaut
    Encore merci de passer du temps à m'aider
    Citation Envoyé par orafrance Voir le message
    1. non ça dépend de l'activité. Pour mesurer faut voir le nombre de checkpoint dans v$log_history
    8180. C'est beaucoup ?
    Citation Envoyé par orafrance Voir le message
    4. Snapshot too old c'est soit le UNDO trop petit soit le undo_retention pas assez long soit une requête trop longue...
    Le TBS UNDO fait 30Go, UNDO_RETENTION = 900 (soit 15 min) et la durée de la requete est de 14h49min26sec avant plantage.

    Ce traitement avait fonctionné précédemment 1 fois alors que le nombre d'occurrences traité était équivalent.
    L'erreur ORA-01555 s'était déjà produite mais il y avait eu 2 traitements concurrents dont un de mise à jour. J'ai trouvé une explication de l'ORA-01555 qui correspond assez bien à mon cas : un traitement1 fait une "photo" des données sur lequel il va travailler (initialisation d'un curseur par exemple) et le traitement commence. Un traitement2 commence (il peut être un select) et va travailler sur les mêmes données. Le système ne connait qu'un état cohérent pour l'ensemble des données visées et donc il va le chercher dans le UNDO. Seulement entre temps, le traitement1 fait des commit pour chacune de ces mises à jour libérant l'image stockée dans le UNDO. Le système n'est alors plus capable de reconstituer l'ensemble complet et provoque une erreur 1555. C'est schématique mais je crois que c'est ça.

    Dans ce cas présent, le chevauchement a eu lieu entre deux traitements de select uniquement (il utilise des curseurs tout de même). Je n'ai pas un accès au détail de ces traitements là de suite. Est ce que le chevauchement pourrait expliquer la reproduction de l'erreur ? ou faut il chercher plutot vers les capacités ?

    1. Peut-on visualiser les logfiles (listés dans le premier post) d'une quelconque autre manière ?

  8. #8
    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
    la requête dure 15h alors que les blocs de l'undo ne doivent rester que 15 minutes... forcément, y'a un souci. Comment on peut accepter d'avoir une requête aussi longue ?

    Citation Envoyé par korian Voir le message
    Encore merci de passer du temps à m'aider
    8180. C'est beaucoup ?
    C'est la fréquence qui compte. On supprime les archives en faisant une sauvegarde. Si tu fais des sauvegardes tous les 24h, l'espace disque nécessaire sera : nombre de swith en 24h * taille des redologs.

    Citation Envoyé par korian Voir le message
    1. Peut-on visualiser les logfiles (listés dans le premier post) d'une quelconque autre manière ?
    non

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/06/2005, 10h56
  2. question de débutant sur les objets
    Par boucher_emilie dans le forum ASP
    Réponses: 3
    Dernier message: 06/08/2004, 10h51
  3. [MFC] Quelques questions de débutant...
    Par Sephi dans le forum MFC
    Réponses: 4
    Dernier message: 20/02/2004, 17h25
  4. Questions de débutant
    Par J-P-B dans le forum XMLRAD
    Réponses: 12
    Dernier message: 24/07/2003, 15h19
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

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