Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

ORA-01017 Dicas de resolução de erros do Oracle


ORA-01017 é um dos erros comuns vistos ao se conectar ao banco de dados oracle.

Aqui está o que a documentação diz sobre este erro

Aqui está a lista de verificação a ser executada para resolver o ORA-01017:nome de usuário/senha inválidos


(1) O principal problema com um ORA-01017 error é uma combinação de ID de usuário e senhas inválidas. Você precisa ter certeza de que está digitando a senha correta

Caso o sistema de destino seja 11g, a senha pode ser sensível a maiúsculas e minúsculas

Você pode verificar o parâmetro no sistema
SQL> SHOW PARAMETER SEC_CASE_SENSITIVE_LOGON
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
sec_case_sensitive_logon             boolean     TRUE
SQL>

Quando o parâmetro acima é definido como verdadeiro, a distinção entre maiúsculas e minúsculas está ativada, você pode desativá-lo e verificar a conexão novamente
SQL> ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;

System altered.

E tente conectar. Se funcionar , você sabe que a diferenciação entre maiúsculas e minúsculas é o problema, convém alterar a senha do usuário  e gravá-la em algum lugar para lembrar a senha que diferencia maiúsculas de minúsculas e, em seguida, ativar novamente o parâmetro do sistema
SQL> ALTER user test identified by TEST1;

User altered.
SQL> ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = TRUE;

System altered.

(2) Pode ser que o ID do usuário seja inválido para o sistema de destino. Verifique se o  user ID existe como a coluna de nome de usuário na visualização dba_users.
select username from dba_users where username ='<user name>';

(3) Verifique seu parâmetro ambiental $ORACLE_SID  ou $TWO_TASK. Se seu $ORACLE_SID estiver configurado para o banco de dados errado, você poderá receber um ORA-01017 erro porque você está se conectando ao banco de dados oracle errado.

(4) Verifique seu tnsnames.ora para garantir que o serviço TNS esteja apontando para o banco de dados correto. Você pode usar o comando tnsping para verificar isso também
TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 22-JUNE-2016 23:01:06

Copyright (c) 1997, 2014, Oracle.  All rights reserved.

Used parameter files:
/oracle/product/11.2.0.4/network/admin/sqlnet.ora

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = techgoeasy.com)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TEST)))
OK (0 msec)

(5) Você pode obter o erro ORA-01017 no ambiente de proteção de dados e no ambiente de espera também

Certifique-se de que a senha do usuário SYS seja a mesma no lado Primário e no lado de espera. Crie o arquivo de senha oracle usando orapwd com a mesma senha no lado principal e no lado de espera

Com o banco de dados Oracle 12c, no caso do banco de dados RAC primário, precisamos ter o arquivo de senha no local compartilhado
orapwd file='+DATA/TEST/PASSWORDFILE/oraTEST' entries=10 dbuniquename=TEST password=<sys pass>

(6) Às vezes, pode haver outro motivo para o erro e ORA-01017 é um erro enganoso.

Você pode rastrear a pilha de chamadas usando o comando truss ou trace
Linux:
strace -o /tmp/strace_user.output -cfT sqlplus Scott/[email protected]

AIX, Solaris:
truss -fea -o /tmp/truss_user.output sqlplus scott/[email protected]

HP-UX:
tusc -afpo /tmp/tusc_user.output -aef sqlplus scott/[email protected]


(7) Este erro pode ser encontrado durante a duplicação ativa do RMAN também
 Cause The SYS password is not the same between the original/source database and auxiliary/duplicate database. 
SOLUTION Perform the following steps:
 1) Copy the password file from the original/source database to the auxiliary/duplicate database. 
 2) Run the following OS command "cksum" to check whether the password files are the same on both the original/source database and auxiliary/duplicate database. 
cksum {password_file_name}

(8) Senhas que não diferenciam maiúsculas de minúsculas e nome de usuário ou senha ORA-1017 inválidos

O protocolo de autenticação padrão do Oracle Database 12c versão 2 (12.2) é 12 (Modo Exclusivo). Este protocolo requer senhas que diferenciam maiúsculas de minúsculas para autenticação. Revise suas opções se você tiver versões de senha de lançamento anteriores.

A partir do Oracle Database 12c versão 2 (12.2), o valor padrão do parâmetro SQLNET.ORA ALLOWED_LOGON_VERSION_SERVER é alterado para 12. Esse parâmetro se refere ao protocolo de autenticação de logon usado para o servidor, não à versão do Oracle Database.

Por padrão, o Oracle não oferece mais suporte à autenticação baseada em senha que não diferencia maiúsculas de minúsculas; apenas as novas versões de senha (11G e 12C) são permitidas. A versão de senha 10G que não diferencia maiúsculas de minúsculas não é mais gerada.

Se você tiver contas que exigem versões de senha de 10G, para evitar que contas que usam essa versão de senha sejam bloqueadas do banco de dados, você pode mudar de um modo exclusivo para um protocolo de autenticação mais permissivo.

A versão da senha pode ser verificada como
select username,password_version from dba_users;

Faça login como administrador.

Edite o arquivo SQLNET.ORA para alterar a configuração SQLNET.ALLOWED_LOGON_VERSION_SERVER do padrão, 12, para 11 ou inferior. Por exemplo:
SQLNET.ALLOWED_LOGON_VERSION_SERVER=11

(9)   ORA-01017 usando “sqlplus / as sysdba”

Isso pode acontecer se o usuário do sistema operacional em que você está tentando usar o comando acima não for membro do grupo dba.

Certifique-se de que o usuário do sistema operacional faça parte do grupo DBA.

Verifique também o sqlnet.ora  .se você tiver  sqlnet.authentication_services=none , também poderá receber este erro

Espero que você goste do conteúdo sobre ORA-01017 nome de usuário/senha inválidos

Artigos relacionados
ORA-00911 :Esta postagem é para causas comuns de ORA-00911:caractere inválido no oracle com exemplos e resolução para ajudá-lo a concluir o trabalho
ORA-29913 :dicas de solução de problemas para os erros ORA como ora- 29913:erro na execução do callout odciexttableopen, ora-29913:erro na execução do callout odciexttablefetch
ORA-00257 :Saiba como solucionar o erro do arquivador ORA-00257. Conectar apenas erro interno.Várias resoluções e exemplos fornecidos passo a passo.
alterar usuário identificado por valores:Aprenda sobre a senha Oracle, armazenada no banco de dados, algoritmo, como fazer login como usuário sem alterar a senha oracle usando alter user identificado por valores
ORA-28000 :ORA-28000 a conta está bloqueada é um erro muito comum. Confira este post sobre como resolvê-lo passo a passo facilmente sem problemas
ORA-00904 :Este post para a descrição e possíveis soluções de ORA-00904:identificador inválido. dicas de solução de problemas também são fornecidas
ORA -28002 :Este post sobre como resolver ORA-28002 a senha expirará. O que pode ser feito para evitá-lo completamente criando um novo perfil
Documentação do Oracle 12.2