Bonjour,
Il y a une requête qui n'a pas marché et j'aurais voulu le voir dans un log, savoir le code erreur.
Comment le savoir?
Où se trouve les logs oracle?
Y'aurait-il une requête qui permettrait de le savoir?
Merci pour votre aide!
Bonjour,
Il y a une requête qui n'a pas marché et j'aurais voulu le voir dans un log, savoir le code erreur.
Comment le savoir?
Où se trouve les logs oracle?
Y'aurait-il une requête qui permettrait de le savoir?
Merci pour votre aide!
Pour info je suis en mode ARCHIVELOG.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SQL> SELECT LOG_MODE FROM SYS.V$DATABASE;LOG_MODE
------------
ARCHIVELOG
et quand je fais:
Mais je n'ai que les requêtes du jour, est-ce parce que la base est redémarrée tous les jours?
Code : Sélectionner tout - Visualiser dans une fenêtre à part SQL> SELECT * FROM v$sql;
Salut,
Tu confonds les logs d'erreurs et les redo logs. Les redo logs sont utilisés par Oracle pour stocker des infos sur les différentes transactions, il ne s'agit pas de log applicatifs.
Le mode archive log te permet de créer des fichier d'archives à partir de tes fichiers redo logs pour pouvoir restaurer la base si nécessaire.
Les logs applicatifs oracle sont stockés dans les répertoires *dumps défini dans ton fichier d'init : interroge la vue v$parameter pour savoir où ils se trouvent. Toutefois, je ne pense pas que tu trouveras de logs pour ta requète SQL qui ne passe pas.
Ce qu'il faut c'est introduire des logs dans ton appli, ça dépend d'où tu lance ta requête. Si tu la lances à partir de Java, ça doit te remonter une sqlexception. Si c'est directement à partir d'un batch, tu peux logger la sortie de sqlplus avec la commande spool, ou faire une redirection c'est un peu comme tu préfères .
Concernant la vue v$sql, elle donne les requêtes présentes dans le (library) cache, c'est à dire parsées par le moteur oracle. Evidemment, c'est une zone mémoire, elle est donc vidée à chaque fois que tu redémarres la base.
merci pour l'eclaircissement.
Dans bdump, j'ai un fichier alert_{nom_db}.logLes logs applicatifs oracle sont stockés dans les répertoires *dumps défini dans ton fichier d'init : interroge la vue v$parameter pour savoir où ils se trouvent.
Effectivement ça ne log pas les erreur sql.
Le répertoire cdump est vide.
et dans udump, j'ai des fichiers .trc sans interêt pour mon cas.
C'est étonnant qu'il n'existe pas/qu'on ne puisse pas activer ce genre de log.
ici ils utilisent Oracle DML error logs
http://www.orafaq.com/node/76
mais ça implique de le faire sur chaque requête.
Y'a pas un moyen de le faire de manière globale dans un fichier de conf?
personne?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager