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 :

Calculs statistiques (message erreur)


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Juin 2005
    Messages : 17
    Par défaut Calculs statistiques (message erreur)
    Bonjour,
    J'ai recherché les post sur le sujet, et j'en ai trouvé, mais les recettes données n'ont pas résolu mon problème :
    Connecté System sur une base Oracle 9.2, via Sql*plus ou dans Entreprise Manager, lorsque je lance les statistiques via le package DBMS_STATS, sur certains index, j'ai le message :
    ORA-00933 : la commande SQL ne se termine pas corectement
    ORA-06512 : à "SYS.DMBS_STATS" ligne 7807 ....
    Un grand nombre de tables ou d'index sont calculés, mais il se plante systématiquement sur certains index.
    J'ai ajouté à SYSTEM les droits 'analyze any' et 'select any table' (!!)
    Sur une même table, certains index marchent et d'autres pas, j'ai supprimé ceux qui déconnaient et les ai refaits, mais le problème reste entier.
    Donc pour l'instant pour pouvoir passer, j'ai abandonné le packagedbms_stat, et lance les stats via des commandes :
    ANALYZE INDEX "nom_Index" COMPUTE STATISTICS;
    Merci pour toute aide

    jm

  2. #2
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Il faut normalement abandonner le "analyze" au profit du package "DBMS_STATS"
    Quel commande ou block PL/SQL tapes-tu avec DBMS_STATS ?
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  3. #3
    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
    et bien entendu on doit deviner la commande qui pose problème

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Juin 2005
    Messages : 17
    Par défaut Commande lancée
    Oups ! excusez mon imprécision.
    Dans Oracle Enterprise Manager, dans mon schéma, au niveau de la table, puis du conteneur 'index', je fais click droit, puis analyser, et au final, la commande lancée est celle-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    begin
    dbms_stats.gather_index_stats(ownname=> 'LP', indname=> 'FACENT_DATE_CLIENT', partname=> NULL);
    end;
    Le message d'erreur est immédiat

    si toujours au niveau d'enterprise manager, je lance la calcul sur tout le schéma, la commande est celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    begin
    dbms_stats.gather_schema_stats(ownname=> 'LP' , cascade=> TRUE);
    end;
    Dans ce cas, une quinzaine de tables sont traitées sans erreur, puis plantage sur un index.
    Auparavant, j'avais essayé également via SQL*Plus, mais même problème évidemment.

  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
    partname=> NULL pose probablement problème

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Juin 2005
    Messages : 17
    Par défaut
    Merci pour ta réponse, qui amène d'autres questions :

    - dans Oracle Enterprise Manager, on n'a absolument pas la main sur 'partname=> NULL ', c'est l'interface qui génère la commande.

    - j'ai indiqué qu'en lançant la stat sur tout le schéma, on a la même erreur, et la syntaxe ne contient pas 'partname=> NULL ' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    begin
    dbms_stats.gather_schema_stats(ownname=> 'LP' , cascade=> TRUE);
    end;
    Ce qui en passant dans SQL*Plus se traduit par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    exec dbms_stats.gather_schema_stats(ownname=> 'LP' , cascade=> TRUE);
    au niveau de mon fichier SQL.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/03/2012, 10h13
  2. Message Erreur dans calcul
    Par mulanzia2003 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 11/06/2008, 09h10
  3. Message "#Erreur" pour calculs dans formulaire
    Par tieuphuong dans le forum IHM
    Réponses: 10
    Dernier message: 09/08/2007, 12h27
  4. [FLASH MX 2004] message erreur de classe
    Par matN59 dans le forum Flash
    Réponses: 3
    Dernier message: 14/06/2004, 08h59
  5. [Kylix] message erreur à l'ex
    Par JlouisI dans le forum EDI
    Réponses: 5
    Dernier message: 08/03/2003, 17h47

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