Como obter uma lista de contas bloqueadas / verificar se a conta está bloqueada?

16

Posso usar a seguinte declaração para desbloquear uma conta:

ALTER USER username ACCOUNT UNLOCK

Mas qual extrato posso usar para verificar se a conta está bloqueada no momento?

Mikhail
fonte

Respostas:

22

Como a resposta do Dba já mostra, as informações de status da conta são acessíveis através da dba_usersvisualização. Conectado a um usuário com as concessões apropriadas, isso também pode ser usado para identificar "usuários inativos":

SELECT username, account_status, created, lock_date, expiry_date
  FROM dba_users
 WHERE account_status != 'OPEN';

informa sobre cada conta bloqueada / expirada quando foi criada, em que estado está (bloqueada, expirada, expirada e bloqueada, expirada (graça)) e a que horas foi bloqueada ou expirada. Útil para uma "limpeza"; mas você deve considerar que algumas contas podem ser apenas "detentores de dados" aos quais nunca estão conectados por motivos de segurança, mas exigidos pelo próprio Oracle ou pelos aplicativos. Um bom exemplo para isso é a conta do sistema OUTLN. Portanto, tome cuidado para "limpar" as contas que você sabe que não são usadas / necessárias :)

Izzy
fonte
5

Use o modo de DBA_USERSexibição.

SELECT username, account_status
FROM dba_users;
Dba
fonte
1

Você pode consultar isso especificando também o nome de usuário:

select username, account_status
from dba_users
where username = 'your_user_name';
Mohammed Nouh
fonte