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 :

ORA 07445 pendant passage des statistiques


Sujet :

Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 20
    Points : 8
    Points
    8
    Par défaut ORA 07445 pendant passage des statistiques
    Bonjour,
    je possède une base sur un serveur SUnOS en version 8.1.7.4.
    Lorsque je passe les statistiques sur un schéma via le package dbms_stats des erreurs ORA-07445 sont générées dans le fichier alerte de la base de données.
    Est-ce dû à un bug du package ?

    Merci d'avance

  2. #2
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    ORA-07445 veut dire plusieurs choses, il faut nous donner le fichier trace.

    par exemple : ORA-07445: exception encountered: core dump [kglpnp()+102] [SIGSEGV]

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Le fichier de trace est en pièce jointe
    Fichiers attachés Fichiers attachés

  4. #4
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    cette erreur arrive seulement quand tu lance DBMS_STATS sur une certaine table ?
    Si oui, est ce que tu a fait des modif (supprimer une colonne par exemple) sur cette table ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Les stats sont calculées sur l'ensemble du schéma.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    on dirait bien ce cas :
    * fact: Oracle Server Enterprise Edtion 9.0.1.0.1
    * symptom: Errors selecting from a table
    * symptom: ORA-7445: exception encountered: core dump [evaopn2()+1104] [SIGSEGV] [Address not mapped to object] [0X0] [] []
    * symptom: DBMS_STATS have been gathered for the table
    * symptom: Optimizer mode set to cost based
    * symptom: Column constraint of UPPER used in table
    * cause: Bug 1956826 ORA-7445: [EVAOPN2()+1104] error reported when select statement using cost based optimizer and statistics is also on the table



    fix:

    Fixed in RDBMS 9.2

    Workarounds:
    Use Rule based optimizer
    or
    Set parameter optimizer_features_enable=8.1.7
    or
    Set parameter compatible="8.1.7"
    or
    Set the numeric EVENT 10195

    ALTER SESSION SET EVENTS '10195 trace name context forever,level 10';
    or
    ALTER SYSTEM SET EVENTS '10195 trace name context forever,level 10';

    Note that if using the event as a workaround, please flush the shared pool
    (alter system flush shared_pool) or restart the instance to ensure that the
    SQL statement is reloaded.

    Failure to do so will result in the same error.

  7. #7
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Dans la table Vehicule, est ce que quelqu'un à supprimé une colonne ?

    Il faut tester ca, si ca cause le même problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    exec dbms_stats.gather_table_stats(ownname=>user,tabname=>'VEHICULE'',
    estimate_percent=>20, method_opt=>'for all indexed columns',cascade=>TRUE) ;
    avec user le nom de ton utilisateur, je pense que c'est INFO10.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Aucune colonne n'a été supprimée de ma table Véhicule.
    J'ai changé le paramètre compatible de ma base (8.1.6->8.1.7), j'ai relancé les stats mais j'ai le même symptome.

  9. #9
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    D'après l'analyse de ton fichier trace, le problème vient du paramètre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Cursor_Sharing = FORCE
    Il faut le modifier en SIMILAR par exemple.

    C'est un bug.

    L'erreur exacte est ORA-7445 (kkslhib)
    la cause est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select NVL(VEH_Possede_Ardoise,:"SYS_B_0") into :b0  from Vehicule where 
    VEH_Immatriculation=:b1
    Ton problème n'a aucun rapport avec DBMS_STATS

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Le paramètre cursor_sharing est positionné à force pour le binding des requêtes SQL.
    Est-ce qu'en modifiant la méthode de calcul des statistiques, j'aurais toujours cette erreur ?

  11. #11
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Il faut mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CURSOR_SHARING = EXACT
    Oui, tu aura toujours le même erreur.

    C'est le BUG : 2508702

    Cursor_Sharing = FORCE may fail with ORA=7445 [kkslhib]
    when the statement contains an INTO clause and it gets aged
    out of the shared pool.
    Soit tu patch vers une nouvelle version ou tu modifie la valeur de CURSOR_SHARIN à EXACT.

  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 : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Pour être moins radical tu peux mettre SIMILAR

  13. #13
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut
    Citation Envoyé par Fred_D
    Pour être moins radical tu peux mettre SIMILAR
    sauf que ça existe pas en 8i....

    http://download-west.oracle.com/docs...h126.htm#72489

    Très très embêtant ce bug....

    Etant donné que ce paramètre est modifiable dans une session, tu peux éventuellement le passer à EXACT au niveau base, et le modifier à FORCE au début des travaux ou tu en a vraiment besoin....

  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 : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    ou laisser tel quel et modifier la session avant le calcul des stats plutôt

  15. #15
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut
    Citation Envoyé par Fred_D
    ou laisser tel quel et modifier la session avant le calcul des stats plutôt
    Ah oui, si l'erreur ne survient que pendant les stats, c'est clair...

  16. #16
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Dans son fichier trace, je ne vois aucune relation avec les stats.

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    J'ai essayé de modifier le cursor sharing pour la session qui lance le calcul des stats mais j'ai toujours les erreurs qui sont générés dans le fichier alerte de la base de données

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/07/2005, 12h12
  2. [EJB] Passage des paramètres par référence
    Par salome dans le forum Java EE
    Réponses: 2
    Dernier message: 05/07/2005, 12h25
  3. Passage des chaînes de caractères à une application CGI
    Par Thom@s dans le forum Composants VCL
    Réponses: 10
    Dernier message: 03/12/2004, 01h13
  4. [DBA] Calcul des Statistiques sans privilèges DBA
    Par Krashtest dans le forum Administration
    Réponses: 14
    Dernier message: 06/05/2004, 17h08

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