ORACLE SQL Dersleri – Profile Nedir ?

Merhabalar, ORACLE SQL yazılarına devam ediyoruz, bu yazımızda Resource profile nedir, nasıl tanımlanır gibi konulara bakacağız. Bu yazımıza geçmeden önce bir öncekine göz atmanızı tavsiye ederiz.

Resource Profile Nedir :

Bir kullanıcının (user) veritabanında kullanabileceği kaynakların limitlerini belirlememizi sağlar. Örneğin bir kullanıcı kaç kere hatalı giriş yapabilir, veritabanında maksimum ne kadar CPU kullanma hakkı var vs.

Bir kullanıcı oluşturduğumuzda ona ait bir profile hazırlayabiliriz veya her oluşturduğumuz kullanıcı için ortak bir profile dosyası yapabiliriz. Böylece kullanıcı oluştururken profile dosyası belirtmezsek, default olarak bir profile dosyasını baz alır.

PROFILE OLUŞTURMA :

PROFILE oluştururken biden fazla parametre vardır, örnek kullanımına aşağıdaki şekilden bakalım,

Burada ilk 4 kutucuk sabit olup resource_parameters ve password_parameters kısımlarımız değişkendir. Bu alanların parametrelerine bakalım.

Resimlerden anlaşılacağı üzere kaynak parametrelerimiz ve şifre parametrelerimiz vardır.

SYS şemasına ait oluşturulmuş 2 adet profile var. Bunlardan DEFAULT olanı incelediğimizde resimde gördüğünüz parametreleri ve aldıkları değerleri görebilirsiniz. Üst kısımda Users kısmına geldiğinizde bu profile dosyasını kullanan kullanıcıları görebilirsiniz.

Örnek bir PROFILE dosyası oluşturalım.

CREATE PROFILE test_profile LIMIT

SESSIONS_PER_USER 1
CPU_PER_SESSION 30
CPU_PER_CALL UNLIMITED
FAILED_LOGIN_ATTEMPTS 2
PASSWORD_LIFE_TIME 10
PASSWORD_LOCK_TIME 1
PASSWORD_GRACE_TIME 7
PASSWORD_VERIFY_FUNCTION NULL;

CREATE USER test_user identified by oracle profile test_profile;

grant connect to test_profile;

Şimdi TOAD üzerinden birkaç hatalı giriş denemesi yapalım.

 

 

Görüldüğü gibi 2 hatalı girişten sonra kullanıcı kilitlendi, profile dosyamızda belirttiğimiz gibi parametremiz geçerli oldu. LOCK daha sonra daha yetkili bir kullanıcı tarafından kaldırılabilir.

Ayrıca kilitli olan kullanıcıları görmek için,

select * from dba_users where account_status='lock';

sorgusunu kullanabiliriz.

 

Bir başka yazıda görüşmek üzere, hoşçakalın..

Deniz Parlak

I am a technical author on IT Tutorial. I am working on Oracle and Mysql databases, I also work on Datawarehouse and Big Data. If you need help, please contact deniz.parlak@yahoo.com.