IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

Grant sur une PDB


Sujet :

Administration Oracle

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 114
    Points : 158
    Points
    158
    Par défaut Grant sur une PDB
    Bonjour à tout le monde.
    Je viens d'installer Oracle 12c sur une machine Linux et j'ai crée une PDB avec un utilisateur systeme comme ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    -- creation of PDB PEEI 
    create pluggable database PEEI admin user PEEI_SYS identified by PEEI 
    roles = (DBA);
    -- open PDB PEEI 
    alter pluggable database PEEI open read write;
    -- create automatic trigger to start all pluggable database
    create or replace trigger Sys.After_Startup after startup on database
    begin
       execute immediate 'alter pluggable database all open';
    end After_Startup;
    /
    J'ai crée un autre utilisateur PEEI avec des roles. Mon objectif est que les tables soient crée avec PEEI_SYS l'utilisateur systeme et donner des grants pour l'utilsateur PEEI avec les tables crées par PEEI_SYS. Cepedant quand je crée les tables avec PEEI_SYS meme apres les grants l'utilisateur PEEI ne les voit pas. Voici comment j'ai crée l'utilisateur PEEI:
    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
    -- create roles 
    CREATE ROLE ROLE_PEEI_READ NOT IDENTIFIED;
    CREATE ROLE ROLE_PEEI_WRITE NOT IDENTIFIED;
     
    -- create peei user 
    CREATE USER "PEEI" IDENTIFIED BY "PEEI" DEFAULT TABLESPACE PEEI_DATA TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
     
    --grant roles for PEEI 
    GRANT ROLE_PEEI_READ TO PEEI;
    GRANT RESOURCE TO PEEI;
    GRANT ROLE_PEEI_WRITE TO PEEI;
    GRANT CONNECT TO PEEI;
    ALTER USER PEEI DEFAULT ROLE ALL;
     
    --System Privileges for PEEI 
    GRANT UNLIMITED TABLESPACE TO PEEI;
    GRANT GRANT ANY PRIVILEGE TO PEEI;
    GRANT ALTER ANY ROLE TO PEEI;
    GRANT GRANT ANY ROLE TO PEEI;
    Mon objectif est que l'utilisateur PEEI puisse faire des select, delete, insert et update les tables crée par PEEI_SYS mais pas de create table ni de drop table afin de garantir la sécurité.
    Pourriez vous m'aider à comprendre pourquoi quand je crée une table avec PEEI_SYS avec les bons grants pour PEEI, celui-ci ne les voit pas. Voici un exemple de table crée avec PEEI_SYS mais invisible par PEEI
    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
      CREATE TABLE "PEEI_P_TRACKING" 
       ( 
    	"CODE_WORKFLOW" VARCHAR2(30 BYTE), 
    	"STATUS" VARCHAR2(15 BYTE), 
    	"DATE_UPDATE" DATE, 
    	"USER_UPDATE" VARCHAR2(20 BYTE), 
    	"DEB_WORKFLOW" DATE, 
    	"FIN_WORKFLOW" DATE, 
    	"TIME_SECOND" NUMBER
       ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "PEEI_DATA" ;
      GRANT SELECT ON "PEEI_P_TRACKING" TO "ROLE_PEEI_READ";
     
      GRANT DELETE ON "PEEI_P_TRACKING" TO "ROLE_PEEI_WRITE";
     
      GRANT INSERT ON "PEEI_P_TRACKING" TO "ROLE_PEEI_WRITE";
     
      GRANT UPDATE ON "PEEI_P_TRACKING" TO "ROLE_PEEI_WRITE";
    Merci de votre aide

  2. #2
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Quand tu te connectes avec PEEI_SYS, que tu arrives à faire un SELECT sur la table PEEI_P_TRACKING et que tu fais un show con_name, Oracle t'affiche quoi?
    Quand tu te connectes avec PEEI, que tu fais un SELECT sur la table PEEI_P_TRACKING et que tu ne vois rien, quand tu fais un show con_name, Oracle t'affiche quoi?
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 114
    Points : 158
    Points
    158
    Par défaut
    Bonjour,

    Je te remercie de ton message. Quand je fais un show con_name j'ai dans les deux cas PEEI, comme tu peux le voir dans l'écran ci-dessous. L'idée c'est qu'une fois en production ceux qui se connectent avec le user PEEI peuvent modifier des tables mais jamais de DROP table et Create table dans le schema PEEI_SYS et seulement PEEI_SYS peut tout faire. Merci de ton aide encore une fois.
    Images attachées Images attachées  

  4. #4
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Et quand tu es connecté comme PEEI et que tu fais un SELECT dans PEEI_P_TRACKING, quel est le message d'erreur?

    Et que donne ce SELECT pour avoir la liste des rôles donnés à un user? S'il ne renvoie rien, il y a un vrai problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from DBA_ROLE_PRIVS where grantee = 'PEEI';
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 114
    Points : 158
    Points
    158
    Par défaut
    Bonjour,

    Merci de ton message. Quand je me connecte en tant PEEI et que je lance la requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from PEEI_P_TRACKING;
    j'ai l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ORA-00942: Table ou vue inexistante
    00942. 00000 -  "table or view does not exist"
    Quand je me connecte en tant que PEEI_SYS et que le je lance la requete suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select *
    from DBA_ROLE_PRIVS where grantee = 'PEEI'
    je vois bien les roles que j'ai crée (voir l'image). Il y'a quelque chose qui m'echappe. Est que quand je crée la table PEEI_P_TRACKING je dois mettre PEEI_SYS.PEEI_P_TRACKING ?
    Merci beaucoup de ton aide encore une fois
    Images attachées Images attachées  

  6. #6
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Ah mais tudiou... bien sur, ton SELECT doit porter sur PEEI_SYS.PEEI_P_TRACKING.
    Sinon, si tu es connecté comme PEEI, Oracle va chercher la table PEEI_P_TRACKING dans le schéma COURANT qui est, dans 99,99% des cas celui du user connecté, donc PEEI pour toi.

    Si tu es connecté comme PEEI et que ton ordre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * from PEEI_SYS.PEEI_P_TRACKING;
    échoue encore, drop ton rôle, recrée le en préfixant toujours le nom de la table par le nom du owner.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GRANT SELECT ON "PEEI_SYS"."PEEI_P_TRACKING" TO "ROLE_PEEI_READ";
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 114
    Points : 158
    Points
    158
    Par défaut
    Bonjour,

    Je te remercie de ta réponse. C'est résolu maintenant. Je me disais bien que c'etait une erreur bête :-).

    Merci encore une fois de ton aide, c'est vraiment sympa.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/09/2014, 16h44
  2. Problème de grant sur une vue utilisant un db_link
    Par squallJ dans le forum Administration
    Réponses: 2
    Dernier message: 04/09/2007, 11h33
  3. Grant sur une séquence...
    Par jesus144 dans le forum Oracle
    Réponses: 4
    Dernier message: 16/01/2006, 10h28
  4. Pb d'auto-incrément sur une table v7
    Par Nivux dans le forum Paradox
    Réponses: 9
    Dernier message: 26/12/2002, 12h05
  5. Effet Fade In / Fade Out sur une surface DirectDraw
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 08/09/2002, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo