ORA 28011 z.B. beim Anmelden mit dem SYSTEM Account
Autor: Tobias Harmes | 29. März 2011
Wenn man sich mit dem SYSTEM Account an eine Oracle DB anmeldet, bekommt man einen ORA-28011. Die Anmeldung funktioniert dann zwar, aber oft wird diese "Fehler" Meldung von Skripten nicht abgefangen, sondern diese brechen ab.
Vorgehen
Zuerst schauen wir uns an, zu welchem Profil der Benutzer gehört:
SQL> select username, profile from dba_users;
USERNAME PROFILE
—————————— ——————————
SAPR3 SAPUPROF
SYS DEFAULT
DBSNMP DEFAULT
OUTLN DEFAULT
OPS$ORAF3D DEFAULT
OPS$F3DADM DEFAULT
DIP DEFAULT
SYSTEM DEFAULT
ORACLE_OCM DEFAULT
APPQOSSYS DEFAULT
10 rows selected.
SQL>
SAP Basis Berater - gesamte Projekte oder Berater auf Zeit
Sie suchen Unterstützung durch SAP Basis Berater? Wir bieten mehr als nur einen gewöhnlichen Berater auf Zeit. Informieren Sie sich über Ihre Vorteile!
Nun schauen wir uns die Beschränkungen für alle User mit dem Profile „DEFAULT“ an:
select LIMIT, RESOURCE_NAME from dba_profiles
where PROFILE = ‚DEFAULT‘
and RESOURCE_NAME in
(‚PASSWORD_GRACE_TIME‘,’PASSWORD_LIFE_TIME‘, ‚PASSWORD_REUSE_MAX‘,’PASSWORD_REUSE_TIME‘);
LIMIT RESOURCE_NAME
—————————————- ——————————–
180 PASSWORD_LIFE_TIME
UNLIMITED PASSWORD_REUSE_TIME
UNLIMITED PASSWORD_REUSE_MAX
UNLIMITED PASSWORD_GRACE_TIME
Und hier sehen wir auch schon das Problem, die Life_Time steht auf 180. Mit dem Kommando:
select ptime,sysdate, floor(sysdate- ptime) from sys.user$ where name= ‚SYSTEM‘ kann man herausfinden, wann das Kennwort zum letzten Mal geändert worden ist.
Nun gibt es zwei Lösungsmöglichkeiten, entweder verändert man die PASSWORD_LIFE_TIME:
alter profile default limit PASSWORD_LIFE_TIME unlimited;
oder man ändert im SQL mit password einfach das Kennwort des Benutzers.