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
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
GRANT SELECT sur toutes les tables du premier schéma pour le deuxième
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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}
surement il y a un autre moyen ?
Merci d'avance
J'ai pas testé mais ça doit être proche de ça...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; /
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.
Partager