IT Consulting Steffes

ORA-01017 ORA-28000 Wer locked den Oracle Account ?


Seit der Oracle DB Version 10g ist im default Profil die Funktion implementiert, dass ein user Account nach 10 erfolglosen Anmeldeversuchen
( z.B. mit falschem Passwort ) gesperrt wird.  Für die erfolglosen Anmeldeversuche erscheint jeweils die Fehlermeldung:

ORA-01017: invalid username/password; logon denied

Nach dem 10.ten Anmeldeversuch erscheint die Fehlermeldung:  "ORA-28000: Account ist gesperrt" und der Account ist gesperrt (timed locked).

 
Es stellen sich nun die beiden Fragen:
  1.     Wie wird der Account wieder entsperrt ?
  2.     Wer führt diese Anmeldeversuche durch ?


Zur ersten Frage:
der user Account kann mittels folgendem SQL-Befehl entsperrt werden:
alter user username account unlock;

Zur zweiten Frage:
Zur Beantwortung dieser Frage gibt es mehrere Möglichkeiten (siehe z.B. My Oracle Support Note: 352389.1)
Eine recht einfache, schnelle Möglichkeit besteht darin einen Event im laufenden Datenbankbetrieb zu setzen, wodurch eine Oracle Fehlermeldung ins alert.log file geschrieben wird und gleichzeitig ein trace file erzeugt wird. Im trace file kann ich die Maschine auslesen, von der der Anmeldeversuch gestartet wurde.
Je nach Verbindungstyp (z.B. SQL-Plus, JDBC, ..) werden zusätzlich user und terminal angegeben.

 

Durchführung:
Event in der Datenbank setzen:
alter system set events '1017 trace name errorstack level 10';

Nach einem erfolglosen Anmeldeversuch wird ein ORA-01017 im alert.log file geschrieben und ein trace file erzeugt.
Im trace file nach der Textstelle:  service name:  suchen.
In der folgenden Zeile findet sich die gesuchten Informationen zu user, term, machine



zurück zur Übersicht: Oracle Database Fehler