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-00942 lors d'un truncate sur une table qui existe


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Inscrit en
    Octobre 2003
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 188
    Par défaut ora-00942 lors d'un truncate sur une table qui existe
    Bonjour.

    Sur une base 10g, l'utilisateur dba est propriétaire de toutes les tables.
    Toutes les tables ont un synonyme pour public.
    L'utilisateur toto doit pouvoir exécuter un truncate sur la table T1.

    En tant que DBA, j'ai exécuté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    grant DELETE on T1 for toto;
    grant ALTER on T1 for toto;
    En tant que TOTO
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select * from T1;
    delete from T1;
    fonctionnent.

    Mais truncate et delete ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    truncate table T1;
    ORA-00942: Table ou vue inexistante
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    truncate table DBA.T1;
    ORA-01031: Privilèges insuffisants
    Quelqu'un peut-il m'expliquer pourquoi j'ai cette erreur et comment la résoudre?

    Merci d'avance

  2. #2
    Membre confirmé

    Inscrit en
    Octobre 2003
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 188
    Par défaut
    J'ai poussé un peu mes recherches et j'ai trouvé qu'un utilisateur ne peut exécuter un truncate sur une table qui ne lui appartient pas que s'il dispose du privilège DROP ANY TABLE.

    J'ai donc attribué ce droit et voici ce qui arrive
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TRUNCATE TABLE T1;
    ORA-00942: TABLE ou vue inexistante
    par contre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TRUNCATE TABLE DAB.T1;
    Table tronquée
    Résolution partielle donc.
    Mais si quelqu'un sait comment se passer de la précision DBA., je suis preneur.

  3. #3
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Je trouve que la doc est claire


    To truncate a table or cluster, the table or cluster must be in your schema or you must have DROP ANY TABLE system privilege

    ...
    Specify the schema and name of the table to be truncated. This table cannot be part of a cluster. If you omit schema, then Oracle Database assumes the table is in your own cluster

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/02/2014, 14h06
  2. Select sur une table qui existe dans 2 BDD
    Par Jinkas dans le forum Accès aux données
    Réponses: 7
    Dernier message: 26/06/2013, 19h43
  3. [AC-2010] Problème lors d'un "UPDATE" sur une table
    Par Walric dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 09/04/2012, 20h33
  4. Erreur lors d'un INSERT sur une table dans Firebird via dbExpress
    Par matou7 dans le forum Bases de données
    Réponses: 4
    Dernier message: 03/04/2012, 16h40
  5. Requete sur une table qui pointe 2 fois sur une autre
    Par Satch dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/01/2006, 08h48

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