[ Oracle ] Rôle et tablespace

Rôle et tablespace [ Oracle ] - SQL/NoSQL - Programmation

Marsh Posté le 27-06-2006 à 17:08:42    

Bonjour,
 
J'essaye de comprendre les droits sous Oracle mais j'ai un peu de mal à trouver les "best practice".
 
Donc pour résumer nous avons :
- les utilisateurs, login + pass pour accéder à la base (create user ...)
- les profils, limitant les accès à la base (create profile ...)
- les rôles, limitant les accès aux objets à l'intérieur de la base (create role ...)
 
Mon problème :
 
J'ai un utilisateur xxx.  
Cet utilisateur doit pouvoir se connecter à la base.
Son profil l'empêche de se connecter plus de 3 fois avec un mot de passe erroné (compte locké 1 journée).
Son rôle "ADMINPROD" doit l'autoriser à accéder au tablespace "PRODUCTION".
L'accès est valable en lecture/écriture/création/suppression sur l'ensemble du tablespace et des objets qu'il contient.
 
Cet exercice doit me permettre de créer un "admin" confiné à son tablespace "PRODUCTION".
 
J'ai donc crée l'utilisateur, le profil et le rôle.
J'ai associé le profil à l'utilisateur.
Lorsque j'essaye d'affecter le tablespace par défaut à mon rôle "ADMINPROD", j'ai une jolie erreur.
 

Code :
  1. ALTER ROLE PRODADMIN DEFAULT TABLESPACE PRODUCTION;
  2. ORA-00922: missing or invalid option


 
Soit j'ai un problème de syntaxe, soit je n'ai rien compris  :whistle:  
 
 
Merci de méclairer :)

Reply

Marsh Posté le 27-06-2006 à 17:08:42   

Reply

Marsh Posté le 27-06-2006 à 17:19:31    

un rôle possède un ensemble de permission. C'est donc pas le rôle qui doit avoir accès à la ressource, mais la permission...

Reply

Marsh Posté le 27-06-2006 à 17:27:35    

Je suis desolé, autant je comprends ta première phrase, autant je ne comprends pas où tu veux en venir avec ce qui suis.
 
Il faut que je spécifie le TABLESPACE par défaut au niveau de l'utilisateur ?

Reply

Marsh Posté le 27-06-2006 à 17:32:27    

oui je suis d'accord, mais pourquoi le mettre sur le ROLE... ça convient plutot de l'utilisateur...  
Le tablespace est spécifié à chaque user... pas à son role...

Reply

Marsh Posté le 27-06-2006 à 17:40:13    

en fait je voulais faire du role ADMINPROD un genre de "groupe d'administrateurs".
 
Tous ont les mêmes droits sur le même tablespace mais un login/pass différent.

Reply

Marsh Posté le 27-06-2006 à 17:44:41    

c'est peut être possible. Faudrait regarder dans les options possibles des ROLES en oracle
Mais la franchement, j'en ai aucune idée
 
essaye ça peut être
ALTER ROLE PRODADMIN SET DEFAULT TABLESPACE PRODUCTION;
 
peut être que ça marchera, on peut tjs espérer :D

Reply

Marsh Posté le 27-06-2006 à 17:49:42    

Bien essayé mais non ;)
 
Le but à terme c'est de faire des groupes (roles) genre :
compta, direction_financiere, production
 
Et d'y associer des comptes utilisateurs.
 
Vous faites comment pour vos applis ?

Reply

Marsh Posté le 30-06-2006 à 09:46:35    

au niveau d'un rôle c'est pas possible. C'est au niveau du shema que cela se définit ou avec les quotas :)

Reply

Marsh Posté le 30-06-2006 à 15:54:24    

schema = user ?
 
EDIT : Visiblement il faut créer un user et oracle crée le schéma associé.
Jusque là je comprends. Par contre comment faire pour partager ce schéma entre plusieurs utilisateurs ?
C'est compliqué Oracle mais je me dis qu'un jour je comprendrais pourquoi :D enfin j'espère :D :D


Message édité par jeoff le 30-06-2006 à 16:09:35
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed