Pode haver vários motivos pelos quais uma conta Oracle pode ser bloqueada. Quando uma conta é bloqueada e os usuários solicitam nossa ajuda, a seguinte pode ser a causa possível do bloqueio da conta:
- Um usuário com privilégios apropriados bloqueia uma conta manualmente (aka
ALTER USER user_name ACCOUNT LOCK
) - Parâmetros de senha do perfil
- O usuário excede
FAILED_LOGIN_ATTEMPTS
PASSWORD_LIFE_TIME
é excedido, ou ambos ePASSWORD_GRACE_TIME
é excedido.
- O usuário excede
Existem outros lugares que devemos ver ou outras maneiras pelas quais uma conta pode ser bloqueada?
Desde que a trilha de auditoria esteja ativada, prefiro usar o seguinte para ajudar a rastrear falhas de login (que geralmente são a causa de contas bloqueadas):
returncode é o erro ORA que seria retornado do banco de dados: 1017 é "código de usuário ou senha inválido" e 28000 é "conta bloqueada".
Essa exibição fornece informações valiosas, como a hora em que ocorreram as falhas de login, o computador de origem do erro e o usuário do sistema operacional.
Se você não tiver audit_trail ativado, verifique com:
então, obviamente, a consulta acima não ajudará com falhas de login anteriores, mas você pode querer considerar ativá-la para ajudar com falhas futuras. Além disso, lembre-se de que essa alteração requer uma devolução do banco de dados para entrar em vigor.
Você pode consultar este documento para definir esta variável de ambiente com um valor apropriado para seu ambiente: http://docs.oracle.com/cd/B28359_01/server.111/b28320/initparams017.htm
Você definiria esse parâmetro da seguinte maneira:
Lembre-se de que, se você ativar audit_trail, considere limpar periodicamente os registros mais antigos da tabela de auditoria ou a tabela pode se tornar bastante pesada. Existe um blog informativo que fala sobre isso aqui: http://www.oradba.ch/2011/05/database-audit-and-audit-trail-purging/
Quanto a outra possível causa:
Se você estiver executando em um ambiente distribuído (vários bancos de dados conectados por links de banco de dados), os links de banco de dados de proxy (usuário/senha nulos) podem ser o seu problema, pois esses links de banco de dados tentam fazer login no banco de dados de destino com as credenciais que são passadas do banco de dados de origem.
Se as credenciais forem diferentes entre a origem e o destino, é retornado ORA-1017, que conta nas tentativas de login no banco de dados de destino (desde que o código de usuário seja o mesmo e apenas as senhas sejam diferentes).
Além disso, se o usuário do banco de dados de origem estiver conectado por meio de um usuário proxy, os links do banco de dados proxy SEMPRE falharão com ORA-1017, independentemente de as senhas corresponderem ou não.
O
CONNECT
privilégio pode ser revogadoé outra forma de bloquear a conta de um usuário. Está bem explicado aqui .