Hurriyet

19 Aralık 2013 Perşembe

Oracle Veritabanı: Veritabanına Olan Bağlantının Uzatılması - Kullanıcı Profilleri - Sql*Net Dead Connection Detection and User Profiles

Veritabanına olan bağlantılarımızı uzatmak ya da kısaltmak istiyorsak bununla ilgili bir parametre bulunmaktadır. $ORACLE_HOME/network/admin/ altında bulunan sqlnet.expire_time parametresii 10 dakikaya ayarlarsak eğer sistem her 10 dakikada bir session'ı kontrol edip aktivite olup olmadığına bakar ve bunun sonucuna göre session'ı disconnect eder.



Ancak yukarıda bahsettiğimiz konu veritabanı bağlantısıyla ilgilidir.Veritabanına bir kere bağlandıktan sonra veritabanına bağlanan kullanıcının profilinde idle_time set edildiyse o süre sonunda time out olur. Yani bağlantının uzun olması bir işe yaramaz. Buradaki sorguyla "idle_time" konusuyla ilgili profil bilgileri yer alır.

SELECT PROFILE, LIMIT FROM DBA_PROFILES WHERE RESOURCE_NAME = 'IDLE_TIME';

Hangi kullanıcının hangi profili olduğunu görmek için ise aşağıdaki sorguyu kullanabiliriz.

select profile from dba_users where username='kullanıcının_ismi';

Bir kullanıcıya profil atamak için:

 alter user kullanıcı_ismi profile profil_ismi  

Profil yaratmak için:

Profil yaratabilmek için "create profile" yetkisine sahip olmak gerekir. Bu şekilde kullanıcılar için kaynak kısıtlamaları koyabiliriz. Profil yaratmak için "resource manager" kullanılması tavsiye edilir; ama dediğimiz gibi eğer elle yapacaksak profil yaratma işini  synatax aşağıdaki gibidir.

"Create profile profil_ismi limit resource_parameters;"

ya da

"Create profile profil_ismi limit password_parameters;"

Resource_parameters olarak belirtilen parametreler:

-sessions_per_user
-cpu_per_session
-cpu_per_call
-connect_time
-idle_time
-logical_reads_per_session
-logical_reads_per_call
-composite_limit
-private_sga

Bunların alabileceği değerler ise belirli bir sayı olabilir, "unlimited" veya "default" olabilir.

Password_parameters olarak belirttiğimiz parametreler:

-failed_login_attempts
-password_life_time
-password_reuse_time
-password_reuse_max
-password_lock_time
-password_grace_time
-password_verify_function

Bunların alabileceği değerler: değer,unlimited,default.

Örnek profil yaratma script'i:

 DROP PROFILE "DEFAULT" CASCADE;  
   
 CREATE PROFILE "DEFAULT" LIMIT  
  SESSIONS_PER_USER UNLIMITED  
  CPU_PER_SESSION UNLIMITED  
  CPU_PER_CALL UNLIMITED  
  CONNECT_TIME UNLIMITED  
  IDLE_TIME UNLIMITED  
  LOGICAL_READS_PER_SESSION UNLIMITED  
  LOGICAL_READS_PER_CALL UNLIMITED  
  COMPOSITE_LIMIT UNLIMITED  
  PRIVATE_SGA UNLIMITED  
  FAILED_LOGIN_ATTEMPTS 10  
  PASSWORD_LIFE_TIME UNLIMITED  
  PASSWORD_REUSE_TIME UNLIMITED  
  PASSWORD_REUSE_MAX UNLIMITED  
  PASSWORD_LOCK_TIME UNLIMITED  
  PASSWORD_GRACE_TIME UNLIMITED  
  PASSWORD_VERIFY_FUNCTION NULL;  

Profillerle ilgili  doküman: http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_6010.htm#SQLRF54211



Hiç yorum yok:

Yorum Gönder