Oracle 12c criar usuário

10

Estou com algum problema ao criar usuário no Enterprise Oracle Database System. Um usuário não pôde criar usando um comando como

create user name identified by password;

por causa da exceção:

ORA-65096: nome de usuário ou função comum inválido

Então eu encontrei solução no Google:

alter session set container=PDBORCL;

e depois disso - é trabalho. Usuário foi criado.

Mas não consigo fazer login nesta conta. O que está errado? Eu adiciono todos os privilégios a essa conta (CREATE SESSION, é claro também). Eu recebi um erro:

ORA-01017: nome de usuário / senha inválidos; login negado.

O que diabos está acontecendo?

Steve
fonte

Respostas:

8

Se você deseja criar um usuário que possa administrar qualquer um dos bancos de dados conectáveis, prefixe o nome de usuário C##.

Por exemplo:

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

Consulte o seguinte para entender o problema

insira a descrição da imagem aqui

Portanto, mesmo que você esteja conectado com o usuário SYSTEM no pdb, ao emitir connect sem especificar o pdb, ele tentará se conectar ao contêiner e o usuário não estará definido lá.

Tamas
fonte
2

Você criou um usuário em um pdb. Você precisa se conectar a esse pdb para poder se conectar com o usuário recém-criado, pois o usuário só é conhecido por esse pdb se não for um usuário comum. Para conectar-se ao pdb correto, é necessário especificar o nome do serviço correto na cadeia de conexão.

Steve
fonte
0

Você precisa conceder a concessão para criar uma sessão ao lado da linha:

GRANT CREATE SESSION TO USERNAME WITH ADMIN OPTION;
Anjo
fonte
Eu acho que você quer dizer "Você precisa conceder criar sessão", ou algo assim.
Max Vernon