Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
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 15/02/2011, 17h17   #1
Membre chevronné
 
Avatar de Z3phur
 
Homme loic
Administrateur de base de données
Inscription : décembre 2007
Messages : 673
Détails du profil
Informations personnelles :
Nom : Homme loic
Âge : 37
Localisation : France, Val de Marne (Île de France)

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

Informations forums :
Inscription : décembre 2007
Messages : 673
Points : 773
Points : 773
Par défaut Erreur insufficient privilège

Bonjour,

je suis sous Oracle 10.2.0.4 et sous Hp-UX itanium 64.

J'ai une erreur insufficient privilège lorsque j'exécute une procédure stocké que voici :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
create or replace procedure prc_grant_to_other_username is

sql_txt varchar2(20000);

cursor c_table is
    select owner, table_name 
    from all_tables
    where owner in ('USERNAME');

begin

for i in c_table loop
        sql_txt := 'grant select, insert, update, delete on ' || i.owner || '.' || i.table_name || ' to OTHER_USERNAME';
        
        execute immediate sql_txt;
        
end loop;

end;
j'exécute cette procédure en SYSTEM, quelqu'un a une idée car je ne vois vraiment pas ce que c'est. Il me manque peut-être un droit???? mais lequel????

Merci d'avance
__________________
==========================================
La justice sans la force est impuissante, la force sans la justice est tyrannique...
Z3phur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 17h45   #2
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
Salut,

Même problème que la discussion ci-dessous.

http://www.developpez.net/forums/d10...tir-forms-10g/
__________________
Publications: http://schelabi.developpez.com/
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 18h01   #3
Membre chevronné
 
Avatar de Z3phur
 
Homme loic
Administrateur de base de données
Inscription : décembre 2007
Messages : 673
Détails du profil
Informations personnelles :
Nom : Homme loic
Âge : 37
Localisation : France, Val de Marne (Île de France)

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

Informations forums :
Inscription : décembre 2007
Messages : 673
Points : 773
Points : 773
Merci pour la réponse. Je vais donc faire autrement
__________________
==========================================
La justice sans la force est impuissante, la force sans la justice est tyrannique...
Z3phur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 18h13   #4
Rédacteur
 
Inscription : décembre 2002
Messages : 2 385
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 385
Points : 3 261
Points : 3 261
Citation:
Envoyé par salim11 Voir le message
Salut,

Même problème que la discussion ci-dessous.

http://www.developpez.net/forums/d10...tir-forms-10g/
Tout à fait !
AUTHID CURRENT_USER a l'air séduisant et élégant, mais doit être utilisé avec précaution, en connaissance de cause.
Le fait qu'il ne désactive pas les rôles est à mon sens uniquement un effet secondaire (bien appréciable ici).
L'effet principal, c'est que quand on fait référence à un objet X, cet objet sera recherché soit dans le schéma du créateur de la procédure, soit dans le schéma de celui qui appelle la procédure, selon des règles un peu délicates que je n'arrive pas à retrouver dans la doc.

La solution qui me paraît sans risque, c'est bien de donner les droits nécessaires directement, et non à travers un rôle.

Dans le cas présent, SYSTEM peut se faire à lui-même :
Code :
GRANT GRANT ANY OBJECT PRIVILEGE TO SYSTEM;
(Non, je n'ai pas picolé : c'est bien GRANT GRANT ...)

Ce privilège "GRANT ANY OBJECT PRIVILEGE", SYSTEM l'avait déjà, mais à travers le rôle DBA, donc inactif en AUTHID DEFINER.
__________________
Consultant / formateur Oracle indépendant
Certifié OCP 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 16/02/2011, 14h56   #5
Membre chevronné
 
Avatar de Z3phur
 
Homme loic
Administrateur de base de données
Inscription : décembre 2007
Messages : 673
Détails du profil
Informations personnelles :
Nom : Homme loic
Âge : 37
Localisation : France, Val de Marne (Île de France)

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

Informations forums :
Inscription : décembre 2007
Messages : 673
Points : 773
Points : 773
Bonjour,

J'ai contourné le problème en faisant un script sh qui me génère un sql avec tous les grant.

Je lance après le script sh via le grid contrôle.
__________________
==========================================
La justice sans la force est impuissante, la force sans la justice est tyrannique...
Z3phur est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web