Bonjour,
J'essaie de créer un procédure qui crée un utilisateur et donner le donner privilège nécèssaire pour les utilisateurs céés:
Se connecter en utilisateur de profil DBA et crée la
Procédure
]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 CREATE OR REPLACE PROCEDURE cree_user(vUserCreate VARCHAR2) IS vReq1 varchar2(200):='CREATE USER '||vUserCreate||' identified by '||vUserCreate; BEGIN execute immediate vReq1; execute immediate('GRANT CONNECT,RESOURCE,DBA TO '||vUserCreate||' IDENTIFIED BY '||vUserCreate); execute immediate('ALTER USER '||vUserCreate||' IDENTIFIED BY '||vUserCreate) ; Exception WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('3'||SQLERRM); END cree_user;
Je donne un grant pour faire l'éxecution,
création d'un public synonym
Losque j'execute le procédure on a l'error
par exemple
sql> execute cree_user('tim');
ORA-01031: privilèges insuffisants
Procédure PL/SQL terminée avec succès.
Question: quel est le privilège que je doit pour que je puisse lancer ce procédure autre que dba
Remarque si je crée tout simplement en lancant create user ... les utilisateur est bien créé
Merci pour votre aide.
Partager