Creeaza.com - informatii profesionale despre


Evidentiem nevoile sociale din educatie - Referate profesionale unice
Acasa » scoala » informatica » oracle
Managementul utilizatorilor si resurselor - Oracle

Managementul utilizatorilor si resurselor - Oracle


Managementul utilizatorilor si resurselor - Oracle

1. Managementul licentelor

Conectarea la baza de date este definita ca o cale de comunicatie intre un proces utilizator si o instanta Oracle.

Sesiunea este o conectare specifica a unui utilizator la o instanta Oracle prin intermediul unui proces utilizator. De exemplu daca un utilizator porneste utilitarul SQL*Plus, pentru conectare el trebuie sa furnizeze numele si parola, dupa care sistemul stabileste o sesiune pentru acesta. O sesiune este activa de la momentul conectarii pana la momentul deconectarii utilizatorului sau pana la momentul parasirii aplicatiei la care s-a conectat. Un utilizator Oracle poate avea la un moment dat mai multe sesiuni concurente. De exemplu un utilizator cu un nume si o parola se poate conecta de mai multe ori la o instanta Oracle.

Licentierea este un mecanism prin care compania Oracle impune unui client anumite limite in utilizarea software-ului Oracle, in functie de clauzele contractuale. Sistemul Oracle este licentiat dupa un numar maxim de utilizatorii ce pot fi creeati pentru baza de date si se monitorizeaza cu parametrul de initializare LICENSE_MAX_USERS. Modificarea valorii acestui parametru se realizeaza cu comanda SQL ALTER SYSTEM cu clauza SET.



Exemplu:

A- Folosind comanda SQL:

ALTER SYSTEM SET LICENSE_MAX_USERS=100;

B - Folosind Enterprise Manager se urmeaza calea Administration > Initilalisation Parameters unde se poate seta parametrul LICENSE_MAX_USERS la valoarea dorita.

Incepand cu versiunea 10g, Oracle nu mai ofera licentierea dupa numarul maxim de conectari concurente

Administratorul este cel care raspunde de monitorizarea acestei limite impuse de licenta, iar in cazul in care limita trebuie marita se va lua legatura cu reprezentantul companiei Oracle pentru incheierea unui nou contract de utilizare.

Pentru testare si invatamant Oracle pune la dispozitia celor interesati produsele sale, acestea putand sa fie descarcate de pe site-ul www.oracle.com. Este chiar recomandata descarcarea Oracle de pe site, aceasta fiind versiunea cea mai noua. Achizitionarea unei licente este necesara numai atunci cand software-ul Oracle este folosit pentru productie. Un avantaj major de a avea licenta este acela ca Oracle ofera suportul tehnic care este aproape indispensabil pentru bazele de date aflate in exploatare.

2. Utilizatorii Oracle

Scopul principal al securitatii bazei de date este de a stabili nivelul corect de securitate pentru diversele tipuri de utilizatori ai bazei de date. Aceasta securitate defineste nivelul de acces la baza de date pentru fiecare utilizator.

In linii mari, exista 3 tipuri de utilizatori, care necesita 3 nivele de acces diferite la baza de date. Acesti utilizatori sunt:

administratorii bazei de date

creatorii de aplicatii

utilizatorii finali

Utilizatorii cu atributii de administrare executa anumite categorii de activitati specifice administrarii unei baze de date, astfel putem avea administratori responsabili cu crearea de obiecte ale bazei de date si intretinerea acestora, administratori responsabili cu rafinarea bazei de date si a performantelor acesteia, administratori responsabili cu crearea de noi utilizatori si cu autorizarea acestora la rolurile si privilegiile la care au dreptul, administratori responsabili cu procedurile de operare a bazei de date (pornire, oprire, salvare), si respectiv, administratori responsabili cu situatiile de urgenta ce implica restaurarea unor parti sau a intregii baze de date.

Pentru fiecare categorie de utilizatori de administrare se va defini cate un rol specific, iar persoanelor desemnate sa execute aceste activitati li se vor atribui aceste roluri. Astfel se creeaza roluri pentru dezvoltarea (realizarea) aplicatiilor, care executa proiectarea, programarea, testarea si implementarea aplicatiilor specifice in mediul Oracle; roluri pentru administrarea aplicatiilor, care au ca responsabilitate crearea rolurilor pentru o aplicatie si administrarea privilegiilor aferente acestor roluri, crearea si intretinerea obiectelor aplicatiei, si intretinerea si actualizarea programelor aplicatiei cu noi proceduri.

Utilizatorii neiformaticieni (finali) folosesc anumite proceduri ale unei aplicatii. In functie de dimensiunea unei aplicatii numarul acestora poate fi mai mic sau mai mare, sens in care trebuie stabilite anumite grupuri de utilizatori, plecand de la grupele de proceduri ale aplicatiei pe care acestia au dreptul sa le utilizeze. Se vor defini privilegiile pe care le pot avea utilizatorii finali, acestea se vor grupa pe roluri si in final fiecare utilizator va fi autorizat (i se va atribui un rol).

Un utilizator Oracle poate accesa o baza de date numai daca ruleaza o aplicatie si se conecteaza la o instanta Oracle cu un user si o parola. Administratorul bazei de date poate crea, modifica sau distruge utilizatorii bazei de date.

crearea unui utilizator al bazei de date se face cu utlitarul Entreprise Manager sau cu comanda SQL CREATE USER.

Pentru crearea unui utilizator administratorul trebuie sa stabileasca :

numele acestuia, care trebuie sa fie unic printre numele celorlalte obiecte ale bazei de date;

modalitatea de identificare care poate fi prin parola, prin facilitatile sistemului de operare gazda sau global prin intermediul serviciilor de securitate Oracle (Oracle Security Service);

resursele sistemului ce ii vor fi alocate: tabela spatiu predefinita (ce va fi utilizata pentru crearea obiectelor pentru care utilizatorul nu specifica in mod explicit tabela spatiu); tabela spatiu temporara (din care Oracle va prelua segmentele temporare la momentul executarii instructiunilor SQL care necesita astfel de segmente); cotele de spatiu din tabelele spatiu pe care are dreptul sa le foloseasca)

Comanda SQL CREATE USER are sintaxa:

CREATE USER nume_utilizator IDENTIFIED BY parola | EXTERNALLY | GLOBALLY AS 'nume_extern'

[DEFAULT TABLESPACE nume_tabela_spatiu]

[TEMPORARY TABLESPACE nume_tabela_spatiu]

[QUOTA intreg K | M | UNLIMITED ON nume_tabela_spatiu , . ]

[PROFILE nume_profil,]

[PASSWORD EXPIRE, ]

[ ACCOUNT LOCK | UNLOCK ] . . . ;

unde:

nume_utilizator este numele utilizatorului;

IDENTIFIED BY parola defineste modalitatea de identificare(autentificare) care poate fi prin parola, prin facilitatile sistemului de operare gazda sau global prin intermediul serviciilor de securitate Oracle.


EXTERNALLY utilizatorul va fi identificat prin mecanismele sistemului de operare gazda;

GLOBALLY AS 'nume_extern' utilizatorul va fi identificat prin numele_extern de catre mecanismele sistemului de securitate Oracle (Oracle Security Service);

DEFAULT TABLESPACE defineste tabela spatiu asumata (predefinita), care va fi utilizata pentru crearea unui obiect pentru care utilizatorul nu specifica in mod explicit tabela spatiu,

TEMPORARY TABLESPACE defineste tabela spatiu temporara din care Oracle va prelua segmentele temporare la momentul executarii instructiunilor SQL, care au nevoie de astfel de segmente;

QUOTA defineste cota de spatiu din tabela spatiu pe care are dreptul s-o foloseasca. Se exprima in kilobaiti (K) sau in megabaiti (M). Se poate defini cate o cota de spatiu pentru fiecare tabela spatiu atribuita unui utilizator.

PROFILE definesrte profilul asignat utilizatorului, profil identificat prin nume_profil;

PASSWORD EXPIRE defineste faptul ca parola este expirata si trebuie obligatoriu sa fie schimbata inaite de logarea utilizatorului la baza de date;

ACCOUNT defineste modul de utilizare a contului utilizatorului, in care LOCK semnifica blocarea contului iar UNLOCK deblocarea contului.

Exemplu:

CREATE USER user1

IDENTIFIED BY parola1

DEFAULT TABLESPACE data_tabsp

TEMPORARY TABLESPACE temp_tabsp

QUOTA 200M ON data_tabsp

QUOTA 100M ON temp_tabsp;

In Enterprise Manager Se acceseaza calea Administration > Users unde se gaseste pagina de administrare a utilizatorilor (Fig 1).

Fig 1 - Pagina de administrare a utilizatorilor.

Pentru a crea un nou utilizator se apasa butonul Create care are ca efect deschiderea unei noi pagini (Fg 2) in care sa introducem datele noului utilizator. In aceasta pagina se introduc numene utilizatorului, parola, profilul acestuia, precum si tabela spatiu implicita de lucru. Prin bifarea casetei Expire Password now, utilizatorul va fi obligat sa isi schimbe parola prima data cand se conecteaza in sistem. De asemenea trebuis ca utilizatorul sa aiba statutul Unlocked pentru a se pute autentifica.

Fig 2 - Crearea unui nou utilizator.

Dupa ce un utilizator a fost creat i se vor atribui privilegii si roluri prin accesarea tab-urilor Roles, System Privileges si Object Privileges. De la tab-ul Quotas se poate atribui o cota de acces a utilizatorului asupra resurselor sistemului.

modificarea utilizatorilor se face cu comanda SQL ALTER USER si poate viza sistemul de identificare, rolurile predefinite sau cotele de spatiu alocate;

Pentru editarea unui utilizator in Enterprise Manager, se selecteaza utilizatorul respectiv din pagina de administrare a utilizatorilor (Fig 1) si se apasa butonul Edit. Se va deschide o pagina similara cu cea de la crearea utilizatorului unde se vor putea modifica datele acestuia.

distrugerea utilizatorilor se face cu comanda SQL DROP USER respectandu-se urmatoarele reguli:

utilizatorul nu poate fi distrus daca are obiecte creeate in schema sa sau este conectat. Distrugerea, in cazul in care are obiecte in schema, se face cu optiunea CASCADE, iar in cazul in care este conectat, se face abia dupa ce acesta s-a deconectat de la baza de date;

dupa distrugerea utilizatorului toate obiectele sale sunt sterse din dictionarul de date;

toate constrangerile de integritate referentiale, care fac referiri la cheia primara sau cheia unica dintr-o tabela a unui utilizator distrus, sunt la randul lor distruse.

Pentru stergerea unui utilizator folosind Enterprise Manager, se selecteaza utilizatorul din pagina de administrare (Fig 1) si se apasa butonul Delete.

3. Managementul resurselor folosind profile

De fiecare data cand un utilizator se conecteaza la baza de date, este creata o sesiune. Aceasta sesiune necesita o anumita cantitate de timp CPU si de memorie pe calculatorul gazda. Daca este depasita limita unei resurse la nivel de sesiune, instructiunea curenta este derulata inapoi si utilizatorului ii este returnat un mesaj de eroare. Atunci cand se intampla acest lucru, toate instructiunile din tranzactia curenta sunt intacte, iar utilizatorul are de ales numai intre comenzile commit si rollback. In plus, in acest moment utilizatorul poate pur si simplu sa incheie sesiunea. Daca utilizatorul incearca sa efectueze orice alta operatie, sistemul Oracle genereaza o eroare.

In timpul procesarii comenzilor SQL, sunt efectuate mai multe apeluri, ca parte a executiei instructiunii. Daca este depasita limita unei resurse la nivel de apel, procesarea instructiunii curente este intrerupta si este derulata inapoi. De asemenea, programul Oracle returneaza utilizatorului un mesaj de eroare. Toate instructiunile anterioare ale tranzactiei curente raman intacte, iar sesiunea utilizatorului poate sa continue.

Cu alte cuvinte, administratorul bazei de date are posibilitatea sa stabileasca pentru anumite resurse, limite care sa fie valabile pentru toti utilizatorii. Pentru fiecare utilizator al bazei de date este stabilit un domeniu de securitate care contine limite bine definite ale cantitatii diverselor resurse ale sistemului disponibile utilizatorului. Limitarea resurselor este o componenta vitala a gestionarii utilizatorilor si a bazei de date. In lipsa unor asemenea controale, resursele sistemului ar fi utilizate la intamplare, ceea ce ar avea efecte negative asupra tuturor utilizatorilor bazei de date.

Limitele resurselor de sistem sunt gestionate cu ajutorul profilurilor.

Profilul este un element de securitate al bazei de date, care defineste un grup de limite de resurse ale bazei de date. Fiecarui utilizator i se poate asocia un profil. Pentru ca limitarile de resurse sa aiba efect trebuie ca acestea sa fie active la nivelul bazei de date. Profilele pot fi supuse operatiilor de creare, modificare, asignare si utilizare a unor limite compuse sau distrugere, astfel:

crearea profilelor se face:

A. cu comanda SQL CREATE PROFILE care are sintaxa:

CREATE PROFILE nume_profil nume_resursa1 cantitate_resursa1

nume_resursa2 cantitate_resursa2 .

tip_utilizare1 cantitate1 tip_utilizare2 cantitate2 ..;

unde:

nume_profil este numele profilului;

nume_resursa defineste limetele de resurse ce pot fi folosite si poate lua valorile:

SESSIONS_PER_USER numarul sesiunilor concurente per utilizator;

CPU_PER_SESSION timpul de CPU pentru o sesiune exprimat in sutimi de secunda;

CONNECT_TIME durata unei sesiuni exprimata in minute;

LOGICAL_READS_PER_SESSION numarul de blocuri de date citite intr-o sesiune;

cantitate_resursa reprezinta valorile de definire a limitelor resurselor;

tip_utilizare defineste limetele de timp pentru utilizarea parolei si poate lua valorile:

FAILED_LOGIN_ATTEMPTS numarul de incercari nereusite de conectare permise inainte de blocarea contului;

PASSWORD_LIFE_TIME limiteaza numarul de zile in care poate fi utilizata o parola;

PASSWORD_REUSE_TIME defineste numarul de zile care trebuie sa treaca de la expirarea unei parole pana cand aceasta poate fi folosita din nou;

PASSWORD_REUSE_MAX defineste numarul de schimbari ale parolei pana cand parola curenta poate fi folosita din nou;

PASSWORD_LOCK_TIME defineste numarul de zile, cat va fi blocat contul unui utilizator, care a depasit numarul permis de incercari nereusite de conectare la baza de date;

PASSWORD_GRACE_TIME defineste numarul de zile (perioada de gratie), cat mai poate fi utilizata o parola dupa ce a expirat timpul normal de utilizare;

cantitate defineste limita de timp in zile.

Exemplu:

CREATE PROFILE system1

LIMIT SESSIONS_PER_USER  UNLIMITED

CPU_PER_SESSION  UNLIMITED

CPU_PER_CALL  3000

CONNECT_TIME  45

LOGICAL_READS_PER_SESSION DEFAULT

LOGICAL_READS_PER_CALL 1000;

B - Folosind Enterprise Manager Se acceseaza calea Administration > Profiles unde se gaseste pagina de administrare a profilelor (Fig 3).

Fig 3 - Pagina de administrare a profilelor.

Crearea unui nou profil se realizeaza apasand butonul Create. Se deschide o pagina pentru setarea noului profil (Fig 4) unde sunt introduse numele profilului, si anumite detalii de acces la resursele sistemului. In mod implicit toti parametrii care reglementeaza accesul la resurse au valoarea DEFAULT. Aceasta valoare poate fi modificata pentru cazul fiecarei resurse, in functie de cerintele sistemului.

Fig 4 - Crearea unui nou profil.

Pentru a seta detaliile legate de autentificarea utilizatorilor care vor apartine acesti profil se deschide tab-ul Password (Fig 5). Aici se poate stabili un numar maxim de incercari de conectare folosind parola.

Fig 5 - Crearea unui profil - stabilirea detaliilor de autentificare.

Toate limitele de resurse nespecificate la momentul crearii unui profil nou vor ramane setate pe valorile din profilul predefinit al bazei de date numit DEFAULT. Fiecare baza de date are un profil DEFAULT in care limitele de resurse sunt setate pe valoarea nelimitat (UNLIMITED). Pentru a preveni folosirea nelimitata a resurselor setarile initiale ale profilului DEFAULT pot fi modificate la fel ca pentru orice profil.

modificarea limitelor de resurse ale unui profil se face cu comanda SQL ALTER PROFILE sau in Enterprise Manager din pagina de administrare a profilelor (Fig 3) unde se selecteaza profiul care se doreste sa fie modificat si se apasa butonul Edit (Fig 6).

Fig 6 - Editarea unui profil existent.

asignarea este operatia de atribuire a unui profil unui utilizator anume. Activitatea se executa cu comanda SQL CREATE USER sau ALTER USER sau din Enterprise Manager accesand pagina de administrare a utilizatorilor (Administration > Users). Aici se poate crea un utilizator nou apasand butonul Create, si se va selecta in continuare profilul dorit pentru utilizator. Daca utilizatorul caruia se doreste sa iii fie asignat un anumit profil exista deja, se va selecta din lista de utilizatori si se va apasa butonul Edit. Se va deschide pagina de editare a utilizatorului respectiv similar cu cea de la creare, unde se poate schimba profilul.

distrugerea unui profil se face cu comanda SQL DROP PROFILE, care poate avea si optiunea CASCADE ceea ce determina dezasignarea tuturor utilizatorilor de la profilul distrus. Distrugerea unui profil nu afecteaza sesiune curenta, ci numai sesiunile viitoare.

In Enterprise Manager se poate sterge un profil din pagina de administrare a profilelor (Fig 3) prin selectarea profilului respectiv si apasarea butonului Delete.

Resursele alocate unui profil pot fi activate sau dezactivate inainte de pornirea unei baze de date (prin modificarea parametrilor de initializare) sau in timpul functionarii acesteia. bazei de date (cu comanda SQL ALTER SYSTEM).

4. Vizualizarea informatiilor despre licente, utilizatorii bazei de date si profilele acestora din dictionarul de date Oracle

In urmatoarele vederi se pot gasi informatii referitoare la licente, utilizatorii bazei de date si profilele acestora din dictionarul de date Oracle. Acestea pot fi accesate fie prin interogari SQL sau accesate cu ajutorul utilitarului Enterprise Manager.

ALL_USERS - informatii despre toti utilizatorii definiti in baza de date ;

USER_USERS - informatii despre utilizatorul curent ;

DBA_USERS - utilizatorii definiti intr-o baza de date ;

USER_TS_QUOTAS - vizualizarea cotelor de memorie din tabelele spatiu alocate utilizatorului curent ;

DBA_TS_QUOTAS- vizualizarea cotelor de memorie din tabelele spatiu alocate utilizatorilor bazei de date

USER_PASSWORD_LIMITS - limitarile la nivel de parola aferente user-ului curent ;

USER_RESOURCE_LIMITS - limitarile la nivel de resurse aferente user-ului curent ;

DBA_PROFILES - vizualizarea tuturor profilelor definite in baza de date si a limitelor stabilite pentru fiecare;

RESOURCE_COST - costul fiecarei resurse;

Exemple:

A. Cu ajutorul comenzilor SQL:

Vizualizarea numarului curent de utilizatori definiti in baza de date:

SELECT COUNT(*) FROM DBA_USERS ;

COUNT(

Vizualizarea utilizatorilor definiti in baza de date se face astfel:

SELECT username, profile,account_status FROM dba_users;

Vizualizarea tuturor cotelor de memorie din tabelele spatiu alocate utilizatorilor se face astfel:

SELECT * FROM sys.dba_ts_quotas;

Daca o cota este setata cu o valoare intreaga, atunci apare aceasta valoare, iar daca este setata pe valoarea UNLIMITED, apare valoarea "-1"

Listarea tuturor profilelor si limitelor de resurse alocate acestora se face astfel:

SELECT * FROM sys.dba_profiles ORDER BY profile;

B - Folosind Enterprise Manager accesam calea Administration > Views unde se afla pagina de administrare a vederilor. Se gaseste si se selecteaza in lista vederea care se doreste a fi interogata si se apasa butonul View. Acesta are ca efect deschiderea unei pagini unde este descrisa vederea respectiva (Fig 7). Pentru a vedea efectiv datele vederii respective se selecteaza in dropdownlist-ul Actions optiunea View Data si se apasa butonul Go alaturat. Se va deschide o noua pagina unde se poate vedea continutul vederii (Fig 8).

Fig 7 - Pagina de vizualizare a unei vederi.

Fig 8 - Pagina de vizualizare a continutului unei vederi.





Politica de confidentialitate


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