poniedziałek, 2 lipca 2012

Profile




Podstawowe informacje o profilach

Aby włączyć możliwość modyfikowania przez nas profili musimy zacząć od wydania polecenia:

ALTER SYSTEM SET RESOURCE_LIMIT=TRUE;

Reguły dotyczące systemu:


SESSIONS_PER_USER – liczba określająca maksymalną ilość sesji użytkownika,

CPU_PER_CALL – liczba (setnych sekund) określająca maksymalny czas CPU przydzielony sesji,

CONNECT_TIME – określa maksymalną długość sesji użytkownika, czas ten wyrażony jest w minutach,

IDLE_TIME – maksymalny czas bezczynności wyrażony w minutach, (jeżeli użytkownik czeka "bezczynnie" na
wykonanie długiego zapytania to czas ten nie wlicza się do IDLE_TIME),

LOGICAL_READS_PER_SESSION – maksymalna ilość bloków (znajdujących się w pamięci RAM i na dysku
twardym) jaka może być wykorzystana na potrzeby jednego zapytania (gdzie zapytanie dzieli się na parsowanie,
wykonanie, zwrócenie wyników),

LOGICAL_READS_PER_CALL – maksymalna ilość bloków potrzeban na jedno zapytanie (gdzie zapytanie dzieli
się na parsowanie, wykonanie, zwrócenie wyników),

PRIVATE_SGA – maksymalna liczba pamięci (w bajtach) jaką sesja może wykorzystać z ang. shared pool z SGA
(ang. System Globar Area), można dodać przedrostek „K” lub „M” aby liczbę tą wyrazić w kilo lub megabajtach,
Reguły dotyczące haseł:

FAILED_LOGIN_ATTEMPTS – maksymalna ilość nieudanych prób zalogowania, po jej przekroczeniu konto
zostanie zablokowane,

PASSWORD_LIFE_TIME – maksymalny czas życia hasła, po jego upływie zalogowanie jest niemożliwe dopóki
hasło nie zostanie zmienione,

PASSWORD_REUSE_TIME – czas w dniach po którym hasło może być powtórnie wykorzystane, (przy zmianie
hasła),

PASSWORD_REUSE_MAX – minimalna ilość zmian haseł po którym hasło może być powtórnie wykorzystane, po przypisaniu tej opcji dowolnej liczby, opcji PASSWORD_REUSE_TIME należy przypisać wartość „unlimited”,

PASSWORD_LOCK_TIME – liczba dni po jakich konto zostanie odblokowane, po maksymalnej liczbie nieudanych zalogowań,

PASSWORD_GRACE_TIME – maksymalny czas życia hasła, w dniach,

PASSWORD_VERIFY_FUNCTION – skrypt weryfikujący poprawność hasła, co ciekawe można tu umieścić każdy program napisany w języku PL/SQL, a to daje ogromne możliwości weryfikacji. Przykładowe scenariusze „użytkownik może się zalogować tylko od godziny 8 – 16”, lub „jeżeli login użytkownika jest inny niż Bartek to zwróć losowy wyjątek i przerwij sesje”;

Profil DEFAULT

Każda baza ma profil o nazwie DEFAULT jest on domyślnie powiązany z każdym użytkownikiem. Każdy kolejny profil dziedziczy z profilu DEFAULT. Np. jeżeli nowy profil nie ma zdefiniowanego parametru IDLE_TIME, to przyjmuje wartość UNLIMITED z profilu DEFAULT. Profil DEFAULT każdej regule przypisuje wartość UNLIMITED, co oznacza parametr niezdefiniowany, czyli barak ograniczeń. Profil DEFAULT jest domyślnie przydzielany każdemu użytkownikowi. Polecenie zwracające listę profilów zainstalowanych w bazie danych Oracle wygląda następująco:

SELECT * FROM DBA_PROFILES;





Tworzenie profili


Profil może być utworzony, powiązany z użytkownikiem, jak i odebrany użytkownikowi w dowolnej chwili. Zmienione lub nowe profile obowiązują od chwili nawiązania nowej sesji. Przykładowa komenda tworząca nowy profil o nazwie „profil1” wygląda następująco:


CREATE PROFILE profil1 LIMIT
SESSIONS_PER_USER 3
FAILED_LOGIN_ATTEMPTS 3
IDLE_TIME 30;









Po stworzeniu profilu można go powiązać z użytkownikiem, a będzie on obowiązywać po rozpoczęciu nowej sesji. Użytkownik w danej chwili może mieć przypisany tylko jeden profil. Każdy kolejny nadpisuje poprzedni. Poniżej przedstawiono komendę, która przypisuje profil użytkownikowi:


ALTER USER PROFILE ;




Usuwanie profilu


Profil można usunąć (pod warunkiem, że nie jest powiązany z użytkownikiem), za pomocą komendy:

DROP PROFILE ;





Chcąc usunąć profil powiązany z użytkownikiem należy dodać opcję CASCADE:


DROP PROFILE CASCADE;



Po odebraniu użytkownikowi profilu, np. przez jego usunięcie, automatycznie przydzielony mu zostaje profil DEFAULT, który zacznie obowiązywać po ustanowieniu nowej sesji. Profilu DEFAULT nie można usunąć.




Brak komentarzy:

Prześlij komentarz