Criei um usuário oracle 19c
e concedi privilégios, mas não consigo fazer login usando esse usuário e recebo um erro de logon negado.
Eu fiz login no prompt de comando sqlplus / as sysdba
então eu criei o usuário
create user "c##keyan" identified by "keyan123";
Eu concedo os seguintes privilégios
grant connect to "c##keyan";
grant dba to "c##keyan";
grant resource to "c##keyan";
grant create session to "c##keyan";
meu ouvinte.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = ORCL)
(ORACLE_HOME = H:\WINDOWS.X64_193000_db_home)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = ORCL)
(ORACLE_HOME = H:\WINDOWS.X64_193000_db_home)
)
)
meu tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
depois disso eu saio do prompt do sql e entro novamente no prompt de comando sqlplus c##keyan/keyan123@//localhost:1521/orcl
Estou recebendo este erro ERRO:
ORA-01017: invalid username/password; logon denied
Eu perdi alguma coisa? Por favor, me aconselhe.
O nome de usuário tem '##', então acho que você não sabia que é um banco de dados de contêiner multitenant (cdb). Você tem que especificar contêiner(es) ao criar o usuário e os direitos de acesso, seja ao conectar-se ao db. Oracle Doc
Remova as aspas do nome de usuário para evitar criar um nome de usuário que diferencie maiúsculas de minúsculas. Senhas que diferenciam maiúsculas de minúsculas são boas, mas nomes de usuário que diferenciam maiúsculas de minúsculas criam vários problemas.
Se você realmente precisa de um nome de usuário que diferencie maiúsculas de minúsculas, você deve sempre usá-lo com aspas. E no Windows, você precisa escapar dessas aspas e fazer login assim:
Além disso, você tem certeza de que quer usar o CDB em vez do PDB? Você provavelmente quer fazer quase todo o seu trabalho dentro de um PDB em vez de um CDB. (Ou reinstalar com a arquitetura "tradicional" e evitar toda essa complexidade desnecessária de multitenant.)