Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/11/2011, 15h31   #1
Futur Membre du Club
 
Inscription : octobre 2003
Messages : 54
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 54
Points : 19
Points : 19
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 :
1
2
GRANT DELETE ON T1 FOR toto;
GRANT ALTER ON T1 FOR toto;
En tant que TOTO
Code :
1
2
SELECT * FROM T1;
DELETE FROM T1;
fonctionnent.

Mais truncate et delete ne fonctionne pas
Code :
1
2
TRUNCATE TABLE T1;
ORA-00942: TABLE ou vue inexistante
et
Code :
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
olivier] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2011, 16h54   #2
Futur Membre du Club
 
Inscription : octobre 2003
Messages : 54
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 54
Points : 19
Points : 19
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 :
1
2
TRUNCATE TABLE T1;
ORA-00942: TABLE ou vue inexistante
par contre
Code :
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.
olivier] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2011, 17h08   #3
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 313
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
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 : 3 313
Points : 5 819
Points : 5 819
Je trouve que la doc est claire
Citation:


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
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h43.


 
 
 
 
Partenaires

Hébergement Web