Oracle 11g password expire
Bardzo się zdziwiłem gdy próbując się zalogować na mojego Oracla zobaczyłem komunikat: „Password of the following user(s) has already expired or will expire soon.”, przecież nie ustawiałem limitu życia hasła ???
Okazało się że w Oracle 11G na hasła są nałożone z góry pewne ograniczenia. Wyglądają one następująco:

Opis parametrów:
- failed_login_attempts – liczba nieudanych prób podłączenia się przed zablokowaniem konta (nieudanych prób logowania)
- password_grace_time – czas liczony w dniach przeznaczony na zmianę hasła, odlicza się po pierwszym pomyślnym zalogowaniu po wyczerpaniu hasła.
- password_life_time – czas życia hasła w dniach, po którym hasło się wyczerpuje.
- password_lock_time – liczba dni przez które konto jest zablokowane po automatycznym założeniu blokady.
- password_reuse_max – liczba zmian haseł po których można zastosować je ponownie.
- password_reuse_time – liczba dni przed umożliwieniem ponownego zastosowania hasła.
- password_verify_function – funkcja PL/SQL badająca złożoność hasła przed jego zastosowaniem.
Sposób 1: W związku z czym po 180 dniach wszytkie hasła wymagają zmiany. Można to obejść choć nie jest to zalecane.
1) Sprawdzamy do jakiego profilu należy dany user:
SELECT profile FROM dba_users WHERE username = 'DBF'
2) Sprawdzanie jakie są ograniczenia na tym profilu:
SELECT resource_name,liMit from dba_profiles where profile='DEFAULT';
3) Zmiana parametrów na ulimited:
ALTER PROFILE DEFAULT LIMIT
FAILED_LOGIN_ATTEMPTS UNLIMITED
PASSWORD_LIFE_TIME UNLIMITED;
Sposób 2: Można też utworzyć nowy profil z innymi parametrami i przepisać do niego użytkowników:
create profile
nowy_profil
limit
PASSWORD_LIFE_TIME 365
PASSWORD_GRACE_TIME 10
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX 0
FAILED_LOGIN_ATTEMPTS 3
PASSWORD_LOCK_TIME UNLIMITED;
ALTER USER kowalski profile nowy_profil;
lub odrazu przy tworzeniu:
create user kowalski identified by flintstone profile nowy_profil;
Zmiana parametrów w profilu:
alter profile noway_profil set failed_login_attempts = 4;
Przydatne:
Informacje o limitach dla haseł i zasobów systemowych dla danego USERA:
– dba_users
– dba_profiles
select
username,
account_status,
to_char(lock_date,'dd-mon-yy') lock_date,
to_char(expiry_date,'dd-mon-yy') expiry_date,
profile
from
dba_users
where
username = 'DBF';