Wie erhalte ich eine Liste der gesperrten Konten / überprüfe, ob das Konto gesperrt ist?

16

Ich kann die folgende Anweisung verwenden, um ein Konto zu entsperren:

ALTER USER username ACCOUNT UNLOCK

Aber mit welcher Anweisung kann ich überprüfen, ob das Konto derzeit gesperrt ist?

Mikhail
quelle

Antworten:

22

Wie die Antwort von Dba bereits zeigt, kann über die dba_usersAnsicht auf Kontostatusinformationen zugegriffen werden . Verbunden mit einem Benutzer mit den entsprechenden Berechtigungen kann dies auch verwendet werden, um "inaktive Benutzer" zu identifizieren:

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

gibt für jedes gesperrte / abgelaufene Konto an, wann es erstellt wurde, in welchem ​​Zustand es sich befindet (gesperrt, abgelaufen, abgelaufen und gesperrt, abgelaufen (Kulanz)) und wann es gesperrt oder abgelaufen ist. Nützlich für eine "Bereinigung"; Sie sollten jedoch berücksichtigen, dass einige Konten möglicherweise nur "Dateninhaber" sind, mit denen aus Sicherheitsgründen keine Verbindung besteht, die jedoch entweder von Oracle selbst oder von Ihren Anwendungen benötigt werden. Ein gutes Beispiel dafür ist das Systemkonto OUTLN. Achten Sie also darauf, nur Konten zu "bereinigen", von denen Sie wissen, dass sie nicht verwendet / benötigt werden :)

Izzy
quelle
5

Verwenden Sie DBA_USERSAnsicht.

SELECT username, account_status
FROM dba_users;
Dba
quelle
1

Sie können dies abfragen, indem Sie auch den Benutzernamen angeben:

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