Profillerdeki password verify function limitinin FROM ROOT sorunu

12 Kas by Ahmet Duruöz

Profillerdeki password verify function limitinin FROM ROOT sorunu

Oracle veritabanlarında bir profilin password_verify_function limitinin değiştirilmesine rağmen , istenilen şekilde değişmeyip FROM ROOT şekline dönüşmektedir. Bu sorunun sebebi , profname$ data dictionary görüntüsündeki FLAGS değerinin ilgili profile için 1 (bir) olmasıdır. Bu değeri 0 (sıfır) olarak güncellendiğinde , profile limiti sorunsuz değiştirilebilecektir.

Aşağıdaki gibi profil limiti değiştirilmesine rağmen değişim istenilen gibi olmamaktadır.

SQL> alter profile users limit password_verify_function custom_verify_function;

İlgili profil limiti kontrol edildiğinde FROM ROOT şeklinde görülecektir.

SQL> select * from dba_profiles where resource_name='PASSWORD_VERIFY_FUNCTION';

PROFILE              RESOURCE_NAME             RESOURCE        LIMIT           COM 
--------             -------------------------  -------------- ---------------- ---- 
DEFAULT              PASSWORD_VERIFY_FUNCTION   PASSWORD        NULL            NO 
USERS                PASSWORD_VERIFY_FUNCTION   PASSWORD        FROM ROOT       YES 

İlgili profilin flags değerini kontrol etttiğimizde 1 olduğunu görülmektedir.

select * from profname$; 

PROFILE#   NAME                     FLAGS 
---------- ------------------------- ---------- 
0         DEFAULT                    0 
1         USERS                      1 

Aşağıdaki gibi profilin flags değeri güncellendiğinde sorun giderilmiş olacaktır.

SQL> update profname$ set flags=0; 
SQL> commit;

Tekrar kontrol ettiğimizde güncellendiğini görmemiz gerekiyor.

select * from profname$; 

PROFILE#   NAME                      FLAGS 
---------- ------------------------ ---------- 
0         DEFAULT                   0 
1         USERS                      0 

Sonrasında profili değiştirdiğimizde sorunsuz şekilde limiti değişecektir.

SQL> alter profile users limit password_verify_function custom_verify_function;

Profili kontrol ettiğimizde değiştiğini görebiliriz.

Select * from dba_profiles where resource_name='PASSWORD_VERIFY_FUNCTION';

PROFILE              RESOURCE_NAME             RESOURCE        LIMIT                         COM 
--------             -------------------------  -------------- ----------------              ---- 
DEFAULT              PASSWORD_VERIFY_FUNCTION   PASSWORD        NULL                         NO 
USERS                PASSWORD_VERIFY_FUNCTION   PASSWORD        CUSTOM_VERIFY_FUNCTION       YES 

 

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir