Bonjour,
j'ai 2 schema U1 et U2 je veux que U1 possede tous les droits sur le shema U2.
dans le shema U2 on peut rajouter des objet dynamiquement
y at-il un moyen pour faire une affectation dynamique des privilèges sur tout le schema U2 ?
Bonjour,
j'ai 2 schema U1 et U2 je veux que U1 possede tous les droits sur le shema U2.
dans le shema U2 on peut rajouter des objet dynamiquement
y at-il un moyen pour faire une affectation dynamique des privilèges sur tout le schema U2 ?
Soit mettre des droits ANY, mais c'est la porte ouverte à tous les accès car on ne peut pas le donner sur un schéma en particulier, du moment que le schéma en question n'est pas le nôtre propre.
Soit faire une moulinette qui donne le droit à la volés sur tous les objets du schéma en question. Moulinette à lancer via un scheduler quelconque (à la limite, celui d'Oracle)
Exemple eh Shell script
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 #!/bin/ksh # Nom du script : Droits.ksh # Date : 17.7.2006 # Auteur : Fabien Celaia # Syntaxe : Droits.ksh -S SERVICE -O Owner -U Utilisateur # Paramètres : # Code retour : 0 = ok # -1 = mauvaise syntaxe # # Modifications : Visa Date Description # ---- ------- -------------------------------------- # while getopts "S:O:U:h" opt do case $opt in S) SERVICE=$OPTARG;; O) OWNER=$OPTARG;; U) UTILISATEUR=$OPTARG;; h) echo "Syntaxe : ${SYNTAX}" ; exit ;; esac done # Test du nombre de paramètres minimum if [[ $# < 4 ]] then echo Pas asez de paramètre : $# echo "Syntaxe : ${SYNTAX}" exit -1 fi sqlplus -s system/***@${SERVICE} << EOF set pagesize 0 set linesize 1000 spool $$.sql select 'GRANT ALL ON '||owner||'.'||object_name|| ' TO ${UTILISATEUR} ; ' from dba_objects where owner='${OWNER}' and object_type in ('TABLE','VIEW') ; spool off @$$.sql exit ; EOF rm $$.sql exit 0
Merci pour cette réponse.
mon grand soucis c'est que il y a une application qui va créer des objets sur le schema U2 donc U1 n'aura pas de privilèges sur ces nouveaux objets. l'affectation des privilèges dois ce faire juste aprés la création pour cela je ne peux pas utiliser le scheduler. lje dois implementer une solutin sur la base puisque je ne peux pas modifier l'application !
je n'ai pas trouvé de réel solution à ce pb donc si qq à une autres solution c'est la bienvenue
Merci
donc pourquoi pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 grant select any table to u2;
bonjour,
pour les privilèges sytème il faut éviter vu qu'il ya d'autres Schema
Vous pouvez essayer de créer un trigger sur l'événement CREATE et exécuter le GRANT concerné avec du SQL dynamique dans le corps du trigger.
Voir: http://download-uk.oracle.com/docs/c...evt.htm#999437
un TRIGGER AFTER CREATE, excellente idée, je ne connaissais pas
pifor> ça maaaaaaarche waw super génila ces trigger système je connaissais pas du tout
Merci pifor
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager