———————-PROFİL OLUŞTURMA———————-

CREATE PROFILE ahmet_profile LIMIT
FAILED_LOGIN_ATTEMPTS 1
password_lock_time 1/1440;

// yalnış girişten sonra bir daha bağlanmaya çalışırsak user’i kilitler.(1 defa yalnış girme hakkı tanır.)
// 1 dakika(1/1440) boyunca kilitli kalır.

ALTER USER ahmet PROFILE ahmet_profile;

SELECT ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME=’AHMET’;

conn ahmet
asdds
conn ahmet
o
ORA-28000: the account is locked // kilitlendi.

conn sys / as sysdba

SELECT ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME=’AHMET’;

conn ahmet
o
connected. // 1 dakika sonra bağlandı.

SELECT ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME=’AHMET’;

—–ayarların eski haline gelmesi için ‘default’ kullanılır—–
conn sys / as sysdba
alter profile default limit password_lock_time 1;
alter profile default LIMIT failed_login_attempts 3;

————-profil silme————————————–

drop profile ahmet_profile; // sadece oluşturulmuş bu profili siler.

drop profile ahmet_profile cascade; // bu profile tanıtılmış user’ların profil ayarlarını da siler.

—-şifreyi fonksiyonumuzdaki koda göre değiştirme——

conn sys / as sysdba

CREATE OR REPLACE FUNCTION password_function (
username VARCHAR2,
password VARCHAR2,
old_password VARCHAR2)
RETURN BOOLEAN AS
BEGIN
IF LENGTH(password) < 8 THEN
RETURN FALSE;
ELSE
RETURN TRUE;
END IF;
END password_function;
/

ALTER PROFILE ahmet_profile LIMIT
PASSWORD_VERIFY_FUNCTION password_function;

ALTER USER ahmet PROFILE ahmet_profile;

conn ahmet
o
connected.

alter user ahmet identified by a;
// ‘ORA-28003: password verification for the specified password failed’ hatasını verir.

ama

alter user ahmet identified by ahmetahmet;
//’ahmetahmet’ gibi 8 karakterden fazla şifre girersek kabül eder.