Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur 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 16/09/2007, 12h09   #1
Invité régulier
 
Inscription : novembre 2003
Messages : 149
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 149
Points : 9
Points : 9
Par défaut droits sur un schema

Bonjour,

J'ai un schema IDVIO avec un user v_2007 qui a tous les droits (lecture ecriture suppression), je veux créer un deuxième qui doit voir tous les objets de v_2007 avec des droits en lecture seulement.

Merci d'avance
melmouj est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2007, 12h45   #2
Membre habitué
 
Inscription : mai 2007
Messages : 113
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 113
Points : 106
Points : 106
GRANT SELECT sur toutes les tables du premier schéma pour le deuxième
louping est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2007, 18h57   #3
Invité régulier
 
Inscription : juillet 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 25
Points : 7
Points : 7
Citation:
Envoyé par melmouj Voir le message
Bonjour,

J'ai un schema IDVIO avec un user v_2007 qui a tous les droits (lecture ecriture suppression), je veux créer un deuxième qui doit voir tous les objets de v_2007 avec des droits en lecture seulement.

Merci d'avance
creer un user:CREATE USER login IDENTIFIED BY password;
GRANT CONNECT TO login;//pour que le nouveau user puisse se connecter à la BDD et creer des objets, mais pour executer cette instruction tu doit etre un DBA

pour accorder le privilege SELECT à un autre utilisateur, tu doit specifie sur quelle table car SELECT est un privilege obejet
voila la syntaxe en generale pour accorder un privilege object à lautre:
GRANT object_priv [(columns)]
ON objects
TO {user|role|public}
othman_k86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2007, 21h29   #4
Invité régulier
 
Inscription : novembre 2003
Messages : 149
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 149
Points : 9
Points : 9
Code :
1
2
3
4
5
6
7
8
9
 
creer un user:CREATE USER login IDENTIFIED BY password;
GRANT CONNECT TO login;//pour que le nouveau user puisse se connecter à la BDD et creer des objets, mais pour executer cette instruction tu doit etre un DBA
 
pour accorder le privilege SELECT à un autre utilisateur, tu doit specifie sur quelle TABLE car SELECT est un privilege obejet
voila la syntaxe en generale pour accorder un privilege object à lautre:
GRANT object_priv [(COLUMNS)]
ON objects
TO {user|role|public}
non c'est pas ça; j'ai plus de 1000 tables je vais pas passer pour chacune des tables la fct Grant.
surement il y a un autre moyen ?

Merci d'avance
melmouj est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2007, 21h53   #5
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 523
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 523
Points : 3 972
Points : 3 972
Citation:
Envoyé par melmouj Voir le message
non c'est pas ça; j'ai plus de 1000 tables je vais pas passer pour chacune des tables la fct Grant.
Roooo...
Tu fais du mauvais esprit.
La solution : SQL Dynamique avec la vue USER_TABLES, ça marche très bien !
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2007, 21h57   #6
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 523
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 523
Points : 3 972
Points : 3 972
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
DECLARE
  CURSOR C_TABLE IS
    SELECT TABLE_NAME
    FROM ALL_TABLES
    WHERE OWNER = 'TOTO';
 
BEGIN
 
  FOR RC_TABLE IN C_TABLE LOOP
    req := 'grant select on ' || rc_table || ' to USER';
    execute immediate (req);
  END LOOP;
end;
/
J'ai pas testé mais ça doit être proche de ça...
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2007, 22h39   #7
Invité régulier
 
Inscription : novembre 2003
Messages : 149
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 149
Points : 9
Points : 9
je veux créer deux user INN001 et INN001_bis pour un même schema IDVO
le user INN001 a tout les droits
le user INN001_bis n'a que les droits en lecture sur les objets crée par INN001
il peut pas ni créer des tables ni supprimé des tables du INN001
il faut qu'il accède simultanément à tous les objets du user INN001.
j'ai pas envie de passer la requette 'grant select on' pour chaque table créer.

je crois que c'est plus clair mnt.
melmouj est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2007, 13h12   #8
Invité de passage
 
Inscription : septembre 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 4
Points : 4
Points : 4
Bonjour,
Jerome_Mtl a raison. Tu dois donner les grant (ds ton cas select) à ton user pour chacune des tables du user source.

Il n'y a pas moyen de donner les droits select à tous les objets en une seule commande à ma connaissance. Soit tu fais toutes les commandes grant à la min ou soit par le script précédant qui doit marcher.

Cdlt

Hieraklion
hieraklion est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h08.


 
 
 
 
Partenaires

Hébergement Web