Créer un nouvel utilisateur dans Oracle 12c
Oracle 12c introduit l’architecture multi‑locataire CDB/PDB. Si vous créez un utilisateur classique directement dans la base de données conteneur (CDB), une erreur survient. Les utilisateurs communs créés dans la CDB doivent obligatoirement avoir le préfixe c## / C##.
Connexion
- Ouvrez l’invite de commande Windows cmd et lancez sqlplus
sqlplus
- Connectez‑vous à la base de données avec le compte super‑administrateur
Entrez le nom d'utilisateur: sys as sysdba
Entrez le mot de passe: 【Saisissez le mot de passe sys défini lors de l'installation】Langage du code : PHP (php)
Message de réussite de connexion:Connecté à: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
Créer l’utilisateur
Syntaxe incorrecte
Objectif : créer l’utilisateur cat avec le mot de passe 123456
Exécutez le SQL :
CREATE USER cat IDENTIFIED BY 123456;
ORA-65096: nom d'utilisateur ou de rôle commun non valideLangage du code : HTTP (http)
Cause de l’erreur : vous vous trouvez dans le conteneur racine CDB. Les utilisateurs communs doivent porter le préfixe c##. Le nom cat ne respecte pas cette règle de nommage.
Bon moyen de créer un utilisateur commun
Exécutez le SQL :
CREATE USER c##cat IDENTIFIED BY Bm123321;Langage du code : CSS (css)
Résultat de l’exécution:Utilisateur créé.
Attribuer des privilèges à l’utilisateur
Instruction d’octroi erronée
GRANT CONNECT, RESOURCE, DBA TO cat;
ORA-01917: l'utilisateur ou le rôle 'CAT' n'existe pasLangage du code : JavaScript (javascript)
L’utilisateur est c##cat. Lors de l’attribution des droits, vous devez utiliser exactement le même nom qu’à la création, ne pas l’abréger en cat.
Instruction d’octroi correcte
GRANT CONNECT, RESOURCE, DBA TO c##cat;Langage du code : CSS (css)
Description des privilèges :
CONNECT: privilège de connexion de baseRESOURCE: rôle de développement courant, autorise la création de tables, index et autres objetsDBA: privilèges complets d’administrateur base de données (réservé aux environnements de test, évitez de l’attribuer en production)
Vérifier la connexion du nouvel utilisateur
- Exécutez
exitpour fermer la session administrateur sys, puis relancez sqlplus
SQL> exitLangage du code : PHP (php)
- Tenter une connexion erronée
Entrez le nom d'utilisateur: cat
Entrez le mot de passe: 123456
Erreur:ORA-01017: nom d'utilisateur/mot de passe non valide ; connexion refusée
- Méthode de connexion correcte
Entrez le nom d'utilisateur: c##cat
Entrez le mot de passe: 123456
Connexion réussie à la base de données.
Créer un utilisateur