Comment créer un USER dans ma base de données Oracle ? .
Rappel :
• Un utilisateur Oracle peut être identifié par le Système d'exploitation ou par Oracle.
• Les droits utilisateurs sont gérés avec des privilèges systèmes (ex : droit de créér une table).
• Les droits utilisateurs sont gérés avec des privilèges objets (ex : droit de mettre à jour une table).
• Privilèges systèmes et Privilèges objets peuvent être regroupés dans un RÔLE.
• Un RÔLE est un regroupement de privilèges systèmes et de privilèges objets.
• On définit à la création du USER le ou les Tablespace (ou aucun) dans lesquels il sera autorisé à créer des objets.
• On définit à la création du USER des Quota d'utilisation dans les Tablespace.
Voici la valeur de mes différents paramètres pour cet article :
Dans SQLNET.ORA --> SQLNET.AUTHENTICATION_SERVICES=(ALL)
Paramètre OS_AUTHENT_PREFIX --> alter system set os_authent_prefix='' scope=spfile sid='*';
Hostname de mon serveur Oracle --> SRV_ORA
Compte OS en cours --> DANIEL
Syntax ordre sql CREATE USER.
CREATE USER user
IDENTIFIED { BY password
| EXTERNALLY [ AS 'certificate_DN' ]
| GLOBALLY [ AS '[ directory_DN ]' ]
}
[ DEFAULT TABLESPACE tablespace
| TEMPORARY TABLESPACE
{ tablespace | tablespace_group_name } ]
[ QUOTA integer [ K | M | G | T | P | E ]
| UNLIMITED
}
ON tablespace ]
| PROFILE profile
| PASSWORD EXPIRE
| ACCOUNT { LOCK | UNLOCK };
|
SQL> CREATE USER "SRV_ORA\DANIEL"
IDENTIFIED EXTERNALLY
DEFAULT TABLESPACE data
TEMPORARY TABLESPACE temp
PROFILE DEFAULT
ACCOUNT UNLOCK;
|
A ce moment précis, aucune connexion possible encore.
SQL> connect /
ERROR:
ORA-01045: l'utilisateur SRV_ORA\DANIEL n'a pas le privilege CREATE SESSION ;
connexion refusee
|
Nous allons donc donner le rôle CONNECT à l'utilisateur Daniel (CREATE SESSION fait parti de ce RÔLE).
SQL> GRANT CONNECT TO "SRV_ORA\DANIEL"; Grant succeeded. |
SQL> CREATE USER sysdan IDENTIFIED BY "sysdan"
DEFAULT TABLESPACE "data"
TEMPORARY TABLESPACE "temp"
PROFILE DEFAULT
QUOTA UNLIMITED ON "data"
QUOTA 30M ON "data_vente"
PASSWORD EXPIRE;
SQL> GRANT "CONNECT" TO sysdan;
|
L'utilisateur SYSDAN devra à la première connexion changer sont mot de passe.
Descriptions de quelques Options.
• IDENTIFIED.
Cette clause indique la manière dont l'utilisateur sera identifié ( par l'OS ou par Oracle).
• DEFAULT TABLESPACE.
Indique le Tablespace dans lequel les objets de l'utilisateur seront crées.
• TEMPORARY TABLESPACE.
Indique le Tablespace dans lequel les tris par exemple seront effectués pour cet utilisateur.
• QUOTA.
Limite d'espace attribué à l'utilisateur sur un Tablespace.
• PASSWORD EXPIRE.
Permet de forcer un changement de mot de passe à la première connexion de l'utilisateur.
• ACCOUNT LOCK / UNLOCK.
Permet de verrouiller ou déverrouiller le compte utilisateur.
| Liens en rapport avec l'article et qui sont susceptibles de vous intéresser |
|
• Oracle Tablespace Annulation (UNDO) • Oracle Tablespace Temporaire (TEMPORARY) • Oracle Tablespace description |