web-dev-qa-db-fra.com

Oracle 12c créer un utilisateur

J'ai un problème avec la création d'un utilisateur dans Enterprise Oracle Database System. Un utilisateur ne pouvait pas créer en utilisant une commande comme

create user name identified by password;

à cause de l'exception:

ORA-65096: nom d'utilisateur ou de rôle commun non valide

J'ai donc trouvé une solution sur Google:

alter session set container=PDBORCL;

et après cela - c'est le travail. L'utilisateur a été créé.

Mais je ne peux pas me connecter à ce compte. Qu'est-ce qui ne va pas? J'ajoute tous les privilèges à ce compte (CRÉER UNE SESSION bien sûr aussi). J'ai eu une erreur:

ORA-01017: nom d'utilisateur/mot de passe invalide; connexion refusée.

Que diable se passe-t-il?

10
Wojciech Szymski

Si vous souhaitez créer un utilisateur pouvant administrer n'importe quelle base de données enfichable, préfixez le nom d'utilisateur avec C##.

Par exemple:

create user c##name identified by password;
8
Philᵀᴹ

Veuillez lire ce qui suit pour comprendre le problème

enter image description here

Ainsi, même si vous êtes connecté avec SYSTEM utilisateur à la pdb, lorsque vous émettez une connexion sans spécifier la pdb, il essaiera de se connecter au conteneur et l'utilisateur n'y sera pas défini.

4
Tamas

Vous pouvez également préfixer votre script avec

alter session set "_Oracle_SCRIPT"=true;

http://www.dba-Oracle.com/t_ora_65096_create_user_12c_without_c_prefix.htm

4
mistapink

Il s'agit d'une nouvelle fonctionnalité de l'architecture 12c - Multitenant:

http://docs.Oracle.com/cd/E16655_01/server.121/e17633/cdblogic.htm#CNCPT89248

Vous avez essayé de créer un utilisateur dans la base de données de conteneurs racine (CDB) qui est destinée à l'administration d'une ou plusieurs bases de données enfichables (PDB).

3
Andrew Brennan

Vous avez créé un utilisateur dans une pdb. Vous devez vous connecter à cette pdb pour pouvoir vous connecter avec l'utilisateur nouvellement créé car l'utilisateur n'est connu de cette pdb que s'il n'est pas un utilisateur commun. Pour vous connecter à la pdb correcte, vous devez spécifier le nom de service correct dans la chaîne de connexion.

2
steve

Avez-vous besoin d'accorder la subvention pour créer une session à côté de la ligne:

GRANT CREATE SESSION TO USERNAME WITH ADMIN OPTION;
0
Angel