Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » referate » informatica » oracle
Autorizarea: privilegii, roluri, profiluri, limitari ale resurselor

Autorizarea: privilegii, roluri, profiluri, limitari ale resurselor


Autorizarea: privilegii, roluri, profiluri, limitari ale resurselor

Autorizare utilizatorilor realizeaza doua obiecte principale:

permite doar unor anumiti utilizatori sa acceseze, proceseze si sa modifice datele;

aplica diverse limitari asupra accesului si actiunilor utilizatorilor. Aceste limitari se pot referi la obiectele bazei de date, cum ar fi scheme, tabele, inregistrari,etc., sau la resursele sistemului.

Pentru atingerea acestor obiective, Oracle asigura modalitati de administrare a conturilor de utilizatori si schemelor asociate, privilegii, roluri, setari de memorare si cote, limitari de resurse (prin folosirea profilelor).

O schema este o colectie de obiecte disponibile unui utilizator. Obiectele schemei sunt structuri logice ce se refera efectiv la datele unei baze de date precum tabele, vederi, secvente, indecsi, etc.

Oracle utilizeaza un sistem de securitate descentralizat, unde utilizatorii sunt ei insisi responsabili pentru acordarea drepturilor de acces pentru obiectele pe care le detin celorlalti utilizatori. Pentru a realiza insa acest lucru, un utilizator va avea nevoie de drepturile importante ale sistemului care permit actiuni precum conectarea la o baza de date sau crearea de obiecte.



Cand administratorul bazei de date creaza un nou utilizator, un numar de drepturi pot fi atribuite pentru a defini tipurile de activitati disponibile pentru fiecare utilizator. Este mult mai convenabil pentru administrator sa grupeze combinatiile obisnuite de drepturi in roluri acestea fiind apoi asignate utilizatorilor.

Odata autentificat in sistemul bazei de date in urma furnizarii numelui de utilizator si a parolei, unui utilizator i se asociaza un domeniu de securitate, adica un set de proprietati care determina actiunile (privilegiile si rolurile) disponibile, spatiul disponibil (tablespace) pentru acesta si limitele in care utilizatorul respectiv poate dispune de resursele sistemului, ca de exemplu timpul de procesare.

Privilegiile

Un privilegiu este permisiunea de a executa o anumita actiune sau de a accesa un obiect apartinand unui alt utilizator.

De exemplu, conectarea la o baza de date (creare unei sesiuni), crearea unui tabel, selectarea inregistrarilor dintr-un tabel apartinand unui alt utilizator, executarea unei proceduri stocate in schema unui alt utilizator sunt numai cateva din multiplele privilegii pe care Oracle le pune la dispozitie.

Privilegiile trebuie acordate utilizatorilor pentru ca acestia sa poata beneficia de drepturile cuprinse in respectivele privilegii. Pentru a nu aparea brese in securitatea bazei de date, trebuie avut grija ca fiecarui utilizator sa nu i se acorde mai multe privilegii decat ii sunt necesare.

Acordarea unui privilegiu se poate realiza in doua feluri:

Explicit, de exemplu se poate acorda utilizatorului predefinit SCOTT dreptul de a adauga inregistrari in tabelul employees;

Prin intermediul rolurilor , adica se creaza un grup de privilegii cu un nume comun si apoi acest grup (rol) este acordat unuia sau mai multor utilizatori.

Acordarea privilegiilor se poate face fie folosind diverse utilitare pentru Administrarea Oracle (cum ar fi Oracle Enterprise Manager 10g Database Control), fie prin intructiunile SQL GRANT si REVOKE

In Oracle exista doua mari categorii de privilegii: privilegii de sistem si privilegii asupra obiectelor schemelor bazei de date (cu subcategoriile:privilegii asupra tabelelor, vederilor, tipurilor si procedurilor).

Privilegii de sistem

Actiunile pe care un utilizator le poate efectua asupra bazei de date sunt administrate prin privilegiile de sistem acordate acestuia. Ele variaza de la permisiunea de a se conecta la o baza de date (CREATE SESSION) la dreptul de a crea un tabel (CREATE ANY TABLE) sau index (CREATE ANY INDEX) sau de a distruge un tabel (DROP ANY TABLE) sau index (DROP ANY INDEX) din schema oricarui utilizator.

In Oracle exista peste 100 de privilegii de sistem, denumirea lor fiind inspirata de actiunile pe care acestea le permit.

Aceste privilegii pot fi acordate sau revocate utilizatorilor sau.

In general, acest tip de privilegii se acorda doar personalului administrativ si dezvoltatorilor de aplicatii. Utilizatorii finali nu au nevoie si nu ar trebui sa li se acorde acces la drepturile oferite prin acordarea acestor privilegii. Acordarea privilegiilor poate fi realizata de doua tipuri de utilizatori: de cei carora le-a fost acordat un privilegiu de sistem cu optiunea ADMIN sau de utilizatorii care au privilegiul de sistem GRANT ANY PRIVILEGE.

Privilegiile de sistem se impart in doua categorii:

privilegii care nu se refera la un anumit obiect al bazei de date, ci mai degraba la toate obectele de un anumit tip. Acestea sunt privilegiile "ANY" si se aplica nu numai obiectelorexistente in baza de date, ci si celor care vor fi create ulterior. De aceea trebuie acordate cu multa atentie. Atata timp cat parametrul de initializare O7_DICTIONARY_ACCESSIBILITY = FALSE, aceste privilegii nu se aplica si anumitor obiecte SYS;

privilegii specifice care afecteaza starea bazei de date sau permit executarea anumitor procese asupra bazei de date. Exemple de astfel de privilegii ALTER DATABASE, ALTER SYSTEM, ALTER USER sau CREATE SESSION;

Privilegii asupra obiectelor schemei

Sunt acele privilegii care permit executarea unei anumite actiuni asupra unui anumit obiect al unei scheme. Exista divere drepturi pentru diverse tipuri de obiecte. Un exemplu de astfel de privilegiu este dreptul de a sterge inregistrari dintr-un anumit tabel.

Anumite obiecte ale schemei, cum ar fi clusterele,triggerele si linkurile la baze de date nu au privilegii obiect asociate, folosirea acestor obiecte fiind controlata cu ajutorul privilegiilor de sistem. De exemplu un utilizator poate modifica un cluster doar daca acesta se afla in schema proprie sau daca are privilegiul sistem ALTER ANY CLUSTER

Acordarea sau revocarea drepturilor obiect se poate realiza de asemenea pentru utilizatori, sau pentru roluri si poate fi facuta de utilizatorii care detin obiectele respective in schema proprie sau de cei carora li s-a acordat dreptul GRANT ANY OBJECT PRIVILEGE.

Privilegiile asupra obiectelor se impart in citeva subcategorii, in functie de tipul obiectului afectat:

Privilegii asupra tabelelor

Se refera la drepturi asupra tabelelor in ceea ce priveste executarea operatiilor la nivel DML (Data Manipulation Language) sau DDL (Data Definition Language) .

Exemple de operatii la nivel DML sunt: DELETE, INSERT, SELECT, UPDATE asupra unui tabel sau vedere. Privilegiile INSERT si UPDATE pot fi si mai mult rafinate, putandu-se acorda doar pentru anumite coloane din tabel sau vedere.

Drepturile asupra peratiile DDL trebuie acordate cu multa atentie, permitand utilizatorului sa modifice sau sa creeze dependinte ale unui tabel: ALTER, INDEX, REFERENCES, CREATE TRIGGER.

Privilegii asupra vederilor

O vedere este un "tabel logic" fiind organizata in randuri si coloane ca si un tabel. O vedere poate fi construita din unul sau mai multe tabele sau chiar alte vederi si permite ca datele din mai multe tabele sa fie rearanjate, reunite logic sau ca noi date sa fie calculate pe baza acestora. Vederea nu stocheaza date si nici nu are alocat vreun spatiu de stocare. Datele dintr-o vedere pot fi modificate, sterse, noi informatii pot fi adaugate. Aceste operatii modifica in mod direct tabelele aflate la baza respective vederi si se conformeaza constrangerilor de integritate si triggerelor definite pentru respectivele tabele.

Aceleasi privilegii obiect care pot fi acordate pentru operatiile DML pentru tabele sunt aplicabile in mod similar si vederilor.

Pentru a putea crea o vedere, un utilizator trebuie sa indeplineasca urmatoarele cerinte:

sa detina unul din urmatoarele privilegii de sistem, fie acordate explicit, fie prin intermediul unui rol: CREATE VIEW pentru a crea o vedere in schema proprie sau CREATE ANY VIEW pentru a crea o vedere in schema oricarui utilizator;


sa i se fi acordat in mod explicit fie privilegiile: SELECT, INSERT, UPDATE sau DELETE asupra tuturor obiectelor pe care se bazeaza vederea, fie privilegiile de sistem: SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, sau
DELETE ANY TABLE;

in plus, pentru a putea acorda acces altor utilizatori la vederea creata, trebuie sa fi avut drepturile asupa obiectelor aflate la baza vederii acordate cu optiunea GRANT OPTION sau drepturile de sistem acordate cu optiunea ADMIN OPTION.

Folosirea vederilor poate ajuta la sporirea securitatii asupra tabelelor. Pentru a utiliza o vedere, un utilizator nu necesita decat privilegii asupra respective vederi, nu si asupra obiectelor pe baza carora aceasta este construita.

Vederile pot adauga inca doua nivele de securitate: securitatea la nivel de coloana si securitatea bazata pe valori:

o vedere acorda accesul doar asupra coloanelor selectate din tabelele de la care aceasta porneste;

CREATE VIEW v_angajati AS SELECT nume, adresa, telefon FROM tbl_angajati;

de asemenea poate realiza o securitate bazata pe valorile care se regasesc in tabele, adica se poate folosi clauza WHERE in definirea unei vederi pentru a selecta doar anumite inregistrarile care indeplinesc anumite conditii.

CREATE VIEW v_sal_mic AS SELECT * FROM tbl_angajati WHERE salariu < 10000;

Privilegii asupra procedurilor

Singurul privilegiu la nivel de obiect al schemei pentru proceduri si functii de sine statatoare sau pachete intregi de functii si proceduri este privilegiul EXECUTE. Acest drept trebuie acordat doar acelor utilizatori care au nevoie sa poata executa o anumita procedura sau sa compileze o procedura care o apeleaza.

Cel care este detinatorul procedurii trebuie sa aiba toate privilegiile necesare asupra obiectelor referite in cadrul procedurii. Daca acesta acorda ulterior altui utilzator dreptul de a folosi respectiva procedura, privilegiile proprietarului procedurii asupra obiectelor referite se aplica si acestui utilizator pe durata executiei procedurii, nefiind necesara acoradrea de drepturi auxiliare asupra obiectelor referite.

Astfel se poate realiza un control sporit asupra anumitor obiecte, oferindu-se totusi anumitor utilizatori dreptul de a le accesa prin intermediul unei proceduri si acordarea utilizatorilor respectivi doar privilegiul EXECUTE asupra respectivei proceduri. Astfel, acesti utilizatori pot accesa obiectele referite doar prin intermediul procedurii, fiind limitati la a efectua doar actiunile definite in cadrul acesteia.

Pentru a putea crea o procedura, un utilizator trebuie sa aiba privilegiile CREATE PROCEDURE sau CREATE ANY PROCEDURE, iar pentru modificarea acesteia, adica pentru recompilarea ei, trebuie fie sa detina procedura respectiva, fie sa aiba privilegiul de sistem ALTER ANY PROCEDURE. De asemenea, utilizatorul trebuie sa aiba si drepturi asupra obiectelor referite in cadrul procedurii, drepturi acordate explicit si nu prin intermediul rolurilor, inclusiv privilegiul EXECUTE asupra tuturor procedurilor care ar putea fi apelate in cadrul acesteia.

Pachetele. Un utilizator caruia i s-a acordat privilegiul EXECUTE asupra unui pachet poate executa orice procedura sau functie publica re se gaseste in interiorul acestuia si poate accesa si modifica valoarea oricarei variabile publice din pachet. Nu se pot acorda drepturi EXECUTE specifice pentru anumite componente din pachet.

Privilegii asupra tipurilor, metodelor si obiectelor

Privilegiile de sistem pentru tipurile denumite de utilizator (tipuri obiect, VARRAY, tabele imbricate) sunt:

CREATE TYPE - creeaza astfel de tipuri in schema proprie;

CREATE ANY TYPE - creeaza tipuri in price schema a bazei de date;

ALTER ANY TYPE - modifica tipuri din orice schema;

DROP ANY TYPE - anuleaza tipuri din orice schema;

EXECUTE ANY TYPE - un utilizator cu acest drept poate folosi si face referire la orice tip definit in schema oricarui utilizator.

Rolul predefinit RESOURCE include privilegiul sistem CREATE TYPE, iar rolul DBA include toate privilegiile de mai sus.

Privilegiile la nivel de obiect. Singurul astfel de privilegiu care se aplica pentur tipurile definite de utilizator este privilegiul EXECUTE. Acest drept ofera utilizatorului posibilitatea de a folosi respectivul tip pentru defini un tabel, o coloana intr-un tabel relational sau pentru a declara o variabila sau parametru de tipul respectiv. Privilegiul EXECUTE permite utilizatorului sa apeleze orice metoda definita in cadrul tipului respectiv, inclusiv constructorul acestuia.

Pentru a putea crea un nou tip, un utilizator trebuie sa indeplineasca urmatoarele conditii:

Sa aiba privilegiul de sistem CREATE TYPE pentru a crea tipul in schema proprie sau CREATE ANY TYPE pentru a-l crea in orice schema a bazei de date, privilegii obtinute explicit sau prin intermediul rolurilor;

Sa aiba acordat in mod explicit dreptul EXECUTE asupra oricaror alte obiecte care ar putea fi referite sau privielgiul de sistem EXECUTE ANY TYPE.

Daca intentioneaza sa acorde acces la tipul nou creat si altor utilizatori, atunci trebuie ca privilegiul EXECUTE sa fi fost acordat acestuia folosind si clauza GRANT OPTION, respectiv ADMIN OPTION pentru privilegiul sistem EXECUTE ANY TYPE. In caz contrar, utilizatorul nu va putea acorda mai departe, dreptul de folosire al tipului respectiv.

Pentru a putea crea un tabel folosind tipuri, un utilizator trebuie sa indeplineasca urmatoarele conditii:

Proprietarul tabelului trebuie sa aiba acordat explicit unul din privilegiile EXECUTE sau EXECUTE ANY TYPE asupra tipuriloir referite;

Daca doreste sa acorde si altor utilizatori drept de acces asupra tabelului, trebuie sa aiba privilegiile EXECUTE acordate acestuia folosind si clauza GRANT OPTION, respectiv ADMIN OPTION;

Pentru accesare tipurilor si tabelelor obiect se aplica aceleasi privilegii ca pentru accesul tabelelor relationale.

SELECT - acceseaza un obiect si atributele acestuia din cadrul unui tabel obiect;

UPDATE - modifica atributele obiectelor care formeaza inregistrarile din tabelul obiect;

INSERT - creeaza noi obiecte in tabel;

DELETE - sterge inregistrari;

Tipuri dependinta sunt tipurile care sunt referite de catre alte obiecte. Pentru tabelele care au la baza tipuri, sunt cateva aspecte importante de care trebuie tinut seama. Deoarece astfel de tabele contin date care se bazeaza pe definitia tipului pentur a fi accesate, orice schimbare asupra tipului respectiv poate duce la imposibilitatea accesarii datelor deja stocate. O astfel de situatie poate fi cauzata prin revocarea anumitor privilegii necesare pentr accesarea tipului respectiv, sau daca tipul respectiv sau dependinte ale acestuia sunt sterse. Datorita problemelor majore care pot aparea prin revocarea privilegiului asupra unui tip sau stergerea acestuia, semantica pentru clauzele REVOKE si DROP TYPE este foarte stricta. Astfel, daca tipul la care acestea se refera are tabele sau alte dependinte, apare o eroare si solicitarea este anulata. Exista posibilitatea de a forta executarea acestor clauze folosind optiunea FORCE.

Rolurile

Managementul si controlul privilegiilor se realizeaza mai usor prin intermediul rolurilor. Astfel, in loc de a acorda un anumit privilegiu direct unui utilizator, privilegiile sunt acordate unui rol, iar un rol este acordat la randul lui unui utilizator. Cu alte cuvinte, rolurile reprezinta un grup de privilegii.

In cadrul unei baze de date, numele unui rol trebuie sa fie unic, diferit de orice nume de utilizator sau rol deja existent. Spre deosebire de obiectele unei scheme, rolurile nu apartin unui anumit utilizator , adica nu sunt continute intr-o schema. Astfel, un utilizator poate fi sters, fara ca acest lucru sa afecteze in vreun fel rolurile create de acesta.

Rolurile sunt create pentru a usura administrarea un sistem end-user si privilegiile asupra obiectelor schemelor. Pentru sistemele foarte mari, acestea sunt adesea pastrate in OID (Oracle Internet Directory), o baza de date Oracle cu utilizatori, administrata de administratorul sistemului.

Proprietatile rolurilor

Reduc efortul depus pentru administrarea privilegiilor. Decat sa se acorde explicit un set de privilegii pentru mai multi utilizatori in parte, este mai usor sa se defineasca privilegiile, necesare unui grup de utilizatori , intr-un rol si apoi acesta sa fie acordat fiecarui utilizator din grupul respectiv.

Managementul dinamic al privilegiilor. Daca privilegiile acordate unui anumjit grup de utilizatori trebuie schimbate, este suficient ca sa se modifice corespunzator doar rolul acordat respectivilor utilizatori si modificarile se vor reflecta asupra fiecarui user.

Disponibilitatea selectiva a privilegiilor. Se pot activa si dezactiva anumite roluri acordate utilizatorilor pentru a realiza un control al privilegiilor pentru anumite situatii specifice.

Automatizarea aplicatiilor. Dictionarul de date inregistreaza automat care roluri sunt disponibileastfel incat se poate contrui o aplicatie care sa interogheze dictionarul de date si sa activeze sau dezactiveze automat anumite roluri cand cineva incearca sa execute aplicatia respectiva folosind un anumit cont de utilizator.

Securizarea specifica a aplicatiei. Un rol poate fi protejat cu o parola astfel incat o aplicatie poate fi construita astfel incat sa activeze un anumit rol doar cand este furniata parola corecta.

Utilizarea si acordarea rolurilor

In general, rolurile sunt folosite in doua scopuri: pentru realizarea managementului priviegiilor acordate unei aplicatii ce interactioneaza cu baza de date, sau pentru managementul drepturilor pentru grupuri de utilizatori.

Acordarea si retragerea privilegiilor de sistem sau de obiect se poate face pentru orice rol si orice rol poate fi acordat oricarui utilizator al bazei de date sau oricarui alt rol.

Orice rol acordat unui anumit utilizator poate fi activat sau dezactivat pentru acel user la un anumit moment in timp, pentru a putea permite un control mai bun asupra privilegiilor respectivului utilizator. Un rol poate fi activ la un moment dat pentru un utilizator si inactiv pentur un alt utilizator al bazei de date. Pentru acordarea sau retragere rolurilor utilizatorilor sau altor roluri se foloseste fie interfata pusa la dispozitie de versiunea Oracle instalata (Oracle Enterprise Manager 10g Database Control, pentru versiunea 10g), fie folosind instructiunile GRANT si REVOKE.

Privilegiile pot fi acordate sau retrase unui anumit rol folosindu-se aceleasi modalitati ca la acordarea lor utilizatorilor.

Orice utilizator care are privilegiul de sistem GRANT ANY ROLE poate sa acorde sau sa retraga orice rol, oricarui utilizator sau rol al bazei de date, exceptand rolurile globale. Daca este acordat un rol cu optiunea ADMIN , utilizatorul sau rolul poate sa acorde sau sa retraga acelsi rol mai departe, altor utilizatori sau roluri.

Fiecare rol sau utilizator are propiul sau domeniu de securitate. Pentru un rol, domeniul de securitate inseamna totalitatea privilegiilor acordate acestuia direct sau prin intermediul altor roluri. Pentru un utilizator, domeniul de securitate contine toate privilegiile asupra obiectelor schemei proprii, privilegiile acordate explicit utilizatorului, plus privilegiile acordate prin intermediul rolurilor asociate, si care sunt activate la momentul respectiv.

Roluri predefinite

Exista cateva roluri definite implicit intr-o baza de date Oracle. Printre acestea se numara:

CONNECT - in versiunile precedente cuprindea privilegii pentru logarea la baza de date si crearea de vederi, tabele, sinonime si legaturi la baza de date. In versiunea 10g, acest rol mai cuprinde doar privilegiul CREATE SESSION;

RESOURCE - contine 8 privilegii : CREATE TYPE, CREATE TABLE, CREATE CLUSTER, CREATE TRIGGER,CREATE OPERATOR, CREATE SEQUENCE, CREATE INDEXTYPE, CREATE PROCEDURE, plus un privilegiu ascuns, UNLIMITED TABLESPACE;

DBA - este de obicei acordat administratorilor bazei de date si cuprinde toate privilegiile cunoscute bazei de date, fie in mod direct, fie prin mostenirea acestora prin intermediul altor roluri.

EXP_FULL_DATABASE si IMP_FULL_DATABASE - pentru realizarea importurilor si exporturilor asupra bazei de date.

Aceste roluri sunt create inversiunea 10g doar din motive de compatibilitate cu versiunile anterioare si pot fi modificate ca orice alt rol dintr-o baza de date Oracle. O lista completa a rolurilor predefinite in urma instalarii se gaseste in Anexa 1.

Roluri securizate pentru aplicatii

In Oracle se pot defini roluri utilizate de aplicatii care sa poata fi activate doar prin intermediul unor pachete PL/SQL autorizate si nu prin intermediul aplicatiei.

Crearea unor astfel de roluri se realizeaza folosindu-se intructiunea CREATE ROLE IDENTIFIED USING. De exemplu, CREATE ROLE app_role IDENTIFIED USING hr.admin creaza rolul de aplicatie securizat, care poate fi activat doar folosind module din pachetul hr.admin. Odata un astfel de rol atribuit unui utilizator, acesta devine rolul implicit si este automat activat la conectare, fara a fi necesara autentificarea utilizatorului (furnizarea parolei pentru rolul respectiv).

Limitarile de resurse si profilurile

Resursele calculatorului pe care este instalata baza de date pot fi monopolizate, fara mare efort, fie ca acest lucru este realizat intenionat sau nu, daca nu se iau masuri in acest sens. Cand acest lucru apare in urma unor actiuni malitioase, poarta numele de atac de tip Denial of Service. Modalitatile de a realiza un astfel de atac sunt destul de numeroase si rezultatul este simplu: epuizarea resurselor sistemului pana in punctul in care baza de date nu mai poate functiona la parametrii stabiliti.

Intr-un sistem multiutilizator mare, nu este nevoie de un atac pentru ca astfel de probleme sa apara. Consumul excesiv de resurse al unuia sau mai multor utilizatori poate afecta functionarea sistemului.

Impunerea de limitari privind consumul de resurse se poate realiza prin utilizarea de profile, fie setand individual limitarile pentur fiecare utilizator, fie prin folosirea unui profil implicit pentru mai multi utilizatori. Oracle suporta un numar nelimita de profile si permite administratorului bazei de date sa activeze sau sa dezactiveze actiunea unui anumit profil.

Setarea limitarilor privind resursele poate sa cauzeze o mica scadere in performanta atunci cand se creaza o sesiune, deoarece Oracle incarca toate datele privind limitarile pentru fiecare utilizator si pentru fiecare conexiune la baza de date.

Tipuri de resurse si limitari

Impunerea de limitari asupra resurselor sistemului se poate face la nivel de sesiune sau in momentul executarii unei intructiuni SQL.

La fiecare conectare a unui utilizator la baza de date se creeaza o sesiune care consuma timp procesor si memorie pentur calculatorul pe care ruleaza baza de date Oracle.

La nivel de sesiune se pot impune cateva limitari. Daca utilizatorul depaseste aceste limitari, Oracle opreste executarea instructiunii curente si returneaza un mesaj care indice problema. In acet moment, toate instructiunile precedente din cadrul tranzactiei sunt intacte si singurele operatii care mai pot fi efectuate sunt COMMIT, ROLLBACK sau deconectarea, caz care apeleaza auomat instructiunea COMMIT.. In acest punct, utilizatorul nu va mai putea efectua nici o operatie in cadrul sesiunii respective.

De fiecare data cand se executa o instructiune SQL, sunt efectuati cativa pasi pentru procesarea acesteia, timp in care sunt efectuate cateva apeluri catre baza de date ca parte a diverselor etape din cadrul executiei. Pentru a evita supraincarcarea, Oracle permite stabilirea limitarilor la nivel de apel. Daca un utilizator depaseste limitele stabilite, Oracle opreste executia instructiunii, efectueaza roll back si returneaza o eroare. Instructiunile precedente din cadrul tranzactiei raman intacte si utilizatorul ramane conectat.

Oracle poate impune limitari asupra catorva tipuri de resurse:

numarul sesiunilor concurente pe care utilizatorul le poate stabili;

timpul de procesare (CPU time):

disponibil utilizatorului pe durata unei sesiuni;

disponibil unui singur apel Oracle facut de o comada SQL

cantitatea de I/O logice

disponibile unei sesiuni

disponibil unui singur apel Oracle facut de o comada SQL

cantitatea de timp de inactivitate permisa unei sesiuni utilizator;

cantitatea de timp de conectare permisa unei sesiuni utilizator;

restrictii de parola

blocarea contului de utilizator dupa un numar prestabilit de incercari de conectare consecutive nereusite;

perioada de valabilitate si de gratie a parolei;

limitari privind reutilizarea parolei si restrictia complexa stabilita asupra acesteia.

Profilurile

Notiunea de profil se refera la o colectie de atribute care se aplica unui utilizator sau unui grup de utilizatori .

Un profil este un set de limitari a resurselor si parametrii de parola care restrictioneaza utilizarea bazei de date si resursele unei instante pentru un anumit utilizator. Fiecarui utilizator i se poate asocia un profil si de asemenea se poate crea un profil implicit pentru toti utilizatorii, insa un utilizator poate avea un singur profil asociat la un moment dat, atribuirea unui profil pentru un cont de utilizator, anuland limitarile oricarui profil setat anterior.

Inainte de a crea un profil si de a seta limitari asupra resurselor, ar trebui determinate valorile potrivite pentur fiecare limitare. De exemplu, daca o anumita clasa de utilizatori nu efectueza in mod normal de citiri logice de date, atunci parametrii LOGICAL_READS_PER_SESSION si LOGICAL_READS_PER_CALL ar trebui sa primeasca valori mai mici.

De obicei, cea mai buna modalitate de a stabili setarile optime pentru un anumit profil este colectare de informatii privind gradul de folosire al resurselor in trecut. Astfel, adinistratorul ar putea folosi instructiunea AUDIT SESSION pentru a aduna informatii despre limitele CONNECT_TIME, LOGICAL_READS_PER_SESSION, si LOGICAL_READS_PER_CALL. Oracle Enterprise Manager ofera o optiune de monitorizare fiind utila pentru aflarea limitarilor optime in special optiunea de monitorizare statistica.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.