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