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 :

ORA-20000 et ORA-06512 sur SYS.DBMS_UTILITY


Sujet :

Administration Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 209
    Points : 95
    Points
    95
    Par défaut ORA-20000 et ORA-06512 sur SYS.DBMS_UTILITY
    Bonjour,

    Utilisant oracle8i, j'essaye d'exécuter une procédure 'ma_procedure' mais je me fais rejeter à la compile avec les messages suivants:

    ORA-20000 You have insufficient privileges for an object in this shema
    ORA-06512: à SYS.DBMS_UTILITY à ligne ....
    ORA-06512: à ligne 1
    J'ai essayé de faire un grant execute on 'dbms_utility to public' sous le user sys (qu'il a accepté) mais ça ne résout pas le problème.

    D'avance merci pour vos réponses.

    Thomas

  2. #2
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2012
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mai 2012
    Messages : 127
    Points : 339
    Points
    339
    Par défaut
    Bonjour,

    Si c'est pour être utilisé à l'intérieur d'une procédure, alors il faut que vous accordiez ce privilège directement à l'utilisateur qui possède la procédure et non à travers le rôle public, les rôles n'étant pas pris en compte durant la compilation. (Tom Kyte donne plus de détail sur ce sujet sur cette page)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par Baldrick Voir le message
    Bonjour,

    Si c'est pour être utilisé à l'intérieur d'une procédure, alors il faut que vous accordiez ce privilège directement à l'utilisateur qui possède la procédure et non à travers le rôle public, les rôles n'étant pas pris en compte durant la compilation. (Tom Kyte donne plus de détail sur ce sujet sur cette page)
    Bonjour,

    C'est ce dont j'ai essayé également en faisant 'grant create procedure to user' ou bien 'grant execute on dbms_utility to user' mais rien n'y fait (bien qu'en me connectant sys/manager@base)

    Je tiens à préciser que le user en question comme 2 autres ont le privilege 'EXECUTE' sur dbms_utility dans la table dba_tab_privs.

    Je pense demain reéxecuter l'outil dbmsutil.sql d'oracle qui n'a peut-être pas été lancé au départ.

  4. #4
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2012
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mai 2012
    Messages : 127
    Points : 339
    Points
    339
    Par défaut
    Alors tout est bon de ce coté-là. D'ailleurs, je crois que j'ai lu le message d'erreur un peu trop vite...

    Vous faites appel à quelle procédure/fonction de dbms_utility, exactement ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par Baldrick Voir le message
    Alors tout est bon de ce coté-là. D'ailleurs, je crois que j'ai lu le message d'erreur un peu trop vite...

    Vous faites appel à quelle procédure/fonction de dbms_utility, exactement ?
    En fait dans le user en question j'exécute un package du genre 'CREATE OR REPLACE PACKAGE nom_du_package' et c'est à la compilation sous Toad (Compile Invalid Objects) que j'ai le message relatif au manque de privileges pour SYS.DBMS_UTILITY.

    Je pense reéxecuter l'outil d'oracle dbmsutil.sql qui a peut-être été oublié au départ.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    Bonjour,

    Je relance la discussion vu que mon problème n'est pas résolu mais non sans avoir constaté un problème sur le package dbms_utility dans le user sys/manager avec une erreur PLS-00801 erreur interne (56106). Donc le problème viendrait bien de la procédure qui ne fonctionne pas.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    Finalement j'ai relancé les procédures suivantes dans l'ordre qui suit et selon le lien pour lequel le problème a été résolu (https://community.oracle.com/thread/2447302?tstart=0)

    catalogue.sql
    utlrp.sql
    catproc.sql
    utlrp.sql (à nouveau une seconde fois)

    Les 3 premières ont fonctionné mais la dernière est hyper-longue (lancé à 12h et toujours en cours). Parait-il cela serait normal...

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    Pour compléter, je dirais qu'il semble pas nécessaire de compiler ce fameux package système (dbms_utility) car les choses peuvent tourner sans. En effet, le message relatif à cette procédure étant plus lié aux requêtes Sql ci-dessus qu'il est nécessaire de lancer sans se soucier du message d'anomalie lors de la compilation du package en question. Et depuis mes bases fonctionnent sans problème.

    Attention néanmoins à respecter l'ordre des requêtes au moment de la recréation de votre schéma:

    catalog.sql
    catexp7.sql
    catproc.sql
    caths.sql
    pupbld.sql
    utlsampl.sql

    L'essentiel de ces requêtes se situant dans le chemin d'Oracle_Home\rdbms\admin de votre base. Ensuite vous n'avez plus à vous soucier des packages de sys hormis ceux de vos user ainsi que des triggers, procédures ou DBLinks que vous devez recréer ou compiler.

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

Discussions similaires

  1. ORA-06512: at "SYS.XML_SCHEMA_NAME_PRESENT" line 17
    Par Gabrielly dans le forum Oracle
    Réponses: 4
    Dernier message: 13/12/2012, 18h24
  2. Réponses: 0
    Dernier message: 19/11/2009, 14h17
  3. ORA-06512 de SYS
    Par lady701 dans le forum Administration
    Réponses: 67
    Dernier message: 22/09/2008, 10h55
  4. ORA-20000 sur export de stats
    Par genio dans le forum Oracle
    Réponses: 8
    Dernier message: 19/11/2007, 14h54
  5. ORA-20000 : SYS.DBMS_OUTPUT : line length overflow,
    Par bilalove dans le forum Oracle
    Réponses: 5
    Dernier message: 12/05/2006, 23h30

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