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?
Wie die Antwort von Dba bereits zeigt, kann über die dba_users
Ansicht 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 :)
Sie können dies abfragen, indem Sie auch den Benutzernamen angeben:
select username, account_status
from dba_users
where username = 'your_user_name';