Criar usuário

Criar novo usuário no Oracle 12c

O Oracle 12c traz a arquitetura multitenant CDB/PDB. Se você criar um usuário comum diretamente dentro do banco de dados contêiner (CDB), ocorrerá um erro. Usuários comuns criados no CDB precisam obrigatoriamente ter o prefixo c## / C##.

Fazer login

  1. Abra o prompt de comando do Windows cmd e inicie o sqlplus
sqlplus
  1. Acesse o banco de dados com a conta de superadministrador
Digite nome de usuário: sys as sysdba
Digite senha: 【Informe a senha sys definida durante a instalação】Code language: JavaScript (javascript)

Mensagem de login com sucesso:Conectado a: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

Criar usuário

Forma incorreta

Objetivo: criar usuário cat com senha 123456
Execute o SQL:

CREATE USER cat IDENTIFIED BY 123456;
ORA-65096: nome de usuário ou função comum inválidoCode language: HTTP (http)

Motivo do erro: você está no contêiner raiz do CDB. Usuários comuns exigem o prefixo c##, o nome cat não segue as regras de nomenclatura.

Forma correta de criar usuário comum

Execute o SQL:

CREATE USER c##cat IDENTIFIED BY Bm123321;Code language: CSS (css)

Resultado da execução:Usuário criado.

Conceder permissões ao usuário

Comando de concessão incorreto
GRANT CONNECT, RESOURCE, DBA TO cat;
ORA-01917: usuário ou função 'CAT' não existeCode language: JavaScript (javascript)

O nome do usuário é c##cat. Ao conceder permissões, use exatamente o mesmo nome usado na criação, não use a abreviação cat.

Comando de concessão correto
GRANT CONNECT, RESOURCE, DBA TO c##cat;Code language: CSS (css)

Explicação das permissões:

  1. CONNECT: permissão básica de login e conexão
  2. RESOURCE: função muito usada no desenvolvimento, permite criar tabelas, índices e outros objetos
  3. DBA: privilégios completos de administrador de banco de dados (use apenas em ambiente de teste, não recomendado para uso livre em produção)

Validar login do novo usuário

  1. Execute exit para encerrar a sessão do administrador sys e abra o sqlplus novamente
SQL> exitCode language: PHP (php)
  1. Tente fazer login com dados incorretos
Digite nome de usuário: cat
Digite senha: 123456

Erro:ORA-01017: nome de usuário/senha inválido; login negado

  1. Método correto
Digite nome de usuário: c##cat
Digite senha: 123456Code language: CSS (css)

Conexão com o banco de dados realizada com sucesso.

Criar usuário

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *