Autentificare Pe Baza de Parola
Autentificare Pe Baza de Parola
Autentificarea inseamna verificarea identitatii cuiva ( un user , un device sau alta entitate) care
vrea sa foloseasca date , resurse sau aplicatii . Validarea identitatii sabileste o relatie de trust pentru
interactiuni viitoare . Dupa autentificare , procesult de autorizare poate permite sau limita nivelul de
access sau orice alta actiune ale acelei entitati .
Cand se creaza un user , trebuie sa se decida ce fel de autentificare va fi folosita , care poate fi
schimbata ulterior .
Autentificare pe baza de parola : Autentificare de BD Oracle . Se creaza fiecarui utilizator o
parola care trebuie fi introdusa cand utilizatorul incearca sa stabileasca o conexiune . Cand se
stabileste parola , se poate seta ca parola sa expire imediat , ceea ce forteaza userul sa isi schimbe
parola dupa prima logare . Daca se decide ca parola se expire , trebuie sa fim atenti ca userul sa aibe
access sa isi schimbe parola . Unele aplicatii nu au aceasta functie . Parolele sunt intotdeauna
transparent criptate in conexiunile network (client/server si invers).
Autentificare externa : Autentificat de sistemul de operare . Userii se pot conecta la baza
de date fara sa specifice un user si o parola . Cu o autentificare externa , baza de date se bazeaza pe
sistemul de operare sau un serviciu network de autentificare ca sa restrictioneze accesssul la
conturile bazei de date . O parola nu este folosita pentru acest tip de autentificare . Daca un serviciu
al sistemului de operare sau network permite , atunci sistemul de operare va autentifica useri . Daca
nu , se seteaza prefixul de initializare OS_AUTHENT_PREFIX si se foloseste in usernamurile Oracle .
Acest parametru defineste ca BD Oracle adauga la inceputul fiecarui cont de sistem de operare .
Valoarea default a acestui parametru este OPS$ .
3)Blocuri de date
Oracle gestioneaza spatiul de memorare din fisierele de date ale bazei de date in unitati
numite blocuri de date.
Blocul de date este cea mai mica unitate de I/O folosita de baza de date. In contrast, la nivel
fizic al sistemului de operare, toate datele sint memorate in bytes. Oracle cere datele in multipli de
blocuri de date Oracle, nu in blocuri ale sistemului de operare.
Blocul de date Oracle este cea mai mica unitate de memorare pe care Oracle o poate folosi
sau aloca.
Formatul blocurilor de date este acelasi, indiferent daca blocul contine tabele, indecsi sau
clustere.
Headerul contine informatii generale ale blocului cum ar fi adresa blocului si tipul de
segment.
Portiunea blocului de date care contine informatii despre tabela care are rinduri in acest
bloc este directorul tabelei.
Directorul de rinduri : este portiunea de bloc de date care contine informatii despre rindurile din bloc
(include adresa pentru fiecare element al rindului in zona de date).
Headerul blocului, directorul tabelei si directorul de rinduri sint referite impreuna ca
overhead.
Rindul de date : portiunea blocului care contine date sau indecsi. Rindul poate acoperi blocuri.
Spatiul liber : este alocat pentru a introduce rinduri noi sau pentru a actualiza rindurile care
cer spatiu in plus (de exemplu cind o valoare nula este actualizata cu o valoare nenula).
7)Indexi
Sunt structuri arborescente care permit un access direct la randurile unei tabele . Se pot
clasifica dupa mai multe criterii :
- logic :
* indexi cu o singura coloara (cheia de indexare are o singura coloana,acesti indexi
imbunatatesc cautarile care se fac pe baza unui singure coloane , coloana index )
* multicoloana – cheia de indexare este formata din concatenarea mai multor chei , ordinea
coloanelor din cheia concatenata e specifica indexulul , nu trebuie sa coincida cu ordinea din tabela)
Nr. Max de coloane care se pot concatena intr-un index este 32 coloane .
Cheia de indexare nu poate depasi o treime a blocului de date
* unici – o valoare de cheia poate aparea o singura data
* non-unici – o valoare de cheie poate aparea in mai multe randuri
- fizic :
* partitionat : se regaseste in mai multe segmente , e impartit dupa intervalele de cheie si
corespund partitilor unei tabele.
* nepartitionat
B-Arbori
Indexul B-arbore este o structura arborescenta pe mai multe nivele numite selectori , frunzele
arborelui concint ROWID pentru regasirea randurilor .
Nu sunt arbori binari
Selectorii contin intervale de cheie
In fiecare frunza se gaseste o inregistrare care incepe cu un header , lungime coloana cheie ,
continut coloana cheie ,
Header-ul inregistrarii index contine numar de coloane si informatia de incuiere
Numarul de coloane este specificat in header , coloanele NULL de la sfarsitul indexului nu se
trec.
8) Tipurile de segmente
Segmente - -un segment este o structura omogena de date.
Un segment este un set de extenturi care contin toate datele pentru o structura logica din
spatiul pentru tabele.
Tipurile de segmente folosite de Oracle :
Segmente de date
Fiecare tabela noncluster sau partitie si oricare cluster intr-o baza de date Oracle are un singur
segment pentru pastrarea tuturor datelor sale. Oracle creeaza acest segment de date cind se creeaza
tabela cu comanda CREATE.
Parametrii de memorare pentru o tabela determina cum se aloca extenturi acestui segment. Se pot
stabilii parametrii de memorare direct cu comanda CREATE sau ALTER. Parametrii de memorare
afecteaza eficienta regasirii datelor si memorarea datelor segmentului asociat obiectului.
Segmente index
Fiecare index in baza de date Oracle are un singur segment index in care-si tine datele.
Oracle creeaza segmentul index pentru index cind se lanseaza comanda CREATE INDEX. In
aceasta comanda se pot specifica parametrii de memorare pentru extenturile segmentului de index si
a spatiului de tabela in care se creeaza segmental index (segmentele unei tabele si indexul asociat
acesteia nu ocupa aceleasi spatii de tabela). Setarile parametrilor de memorare determina eficienta
regasirii datelor.
Segmente temporare
Cind se proceseaza cereri, Oracle cere adesea spatiu temporar pentru starile intermediare ale
analizei si executiei unei comenzi SQL. Oracle aloca automat spatiu pe disc numit segment temporar.
In mod obisnuit, Oracle cere un segment temporar ca zona de lucru pentru sortare.
Oracle nu creeaza segment temporar daca operatia de sortare se poate face in memorie sau
daca gaseste alte cai de a afectua operatiile care folosesc indecsi.
Segmente rollback
Fiecare baza de date contine unul sau mai multe sgmente rollback. Un segment rollback
inregistreaza vechea valoare a datei care a fost schimbata la fiecare tranzactie .
Informatiile din segmentele rollback constau in citeva intrari rollback. Printre alte informatii, o intrare
rollback include blocuri de informatii si data existenta inaintea operarii intr-o tranzactie.
Oracle leaga intrarile pentru aceeasi tranzactie, asa ca intrarile pot fi gasite usor daca sint
necesare pentru tranzactiile rollback.
Nici utilizatorii bazei de date si nici administratorul nu poate accesa sau citi segmentele
rollback; numai Oracle le poate citi sau scrie
Inregistrarea intrarilor rollback
Intrarile rollback schimba blocul de date din segmentul rollback si Oracle inregistreaza toate
schimburile in blocul de date, incluzind intrarile rollback, in redo log. Aceasta a doua inregistrare a
informatiilor rollback este foarte importanta pentru tranzactiile active la momentul caderii
sistemului. Daca sistemul cade, Oracle restaureaza automat informatiile segmentului rollback,
incluzind intrarile rollback pentru tranzactiile active, ca parte a instantei sau refacerii mediului. In
momentul in care refacerea este completa, Oracle face actualizarea tranzactiilor care nu au fost
realizate nici anulate la momentul caderii sistemului.
9)Roluri
Rolurile sunt grupe de privilegii, care se atribuie utilizatorilor sau altor roluri. Rolurile permit:
• Reducerea activităţilor de atribuire a privilegiilor. Administratorul bazei de date în loc să
atribuie fiecare privilegiu tuturor utilizatorilor va atribui aceste privilegii unui rol, care apoi va fi
disponibil utilizatorilor;
• Manipularea dinamică a privilegiilor. Dacă se modifică un privilegiu de grup, acesta se va
modifica în rolul grupului.
• Selectarea disponibilităţilor privilegiilor. Privilegiile pot fi grupate pe mai multe roluri, care la
rândul lor pot fi activate sau dezactivate în mod selectiv;
• Proiectarea unor aplicaţii inteligente. Se pot activa sau dezactiva anumite roluri funcţie de
utilizatorii care încearcă să utilizeze aplicaţia.
Un rol poate fi creat cu parolă pentru a preveni accesul neautorizat la o aplicaţie. Această tehnică
permite utilizarea parolei la momentul pornirii aplicaţiei, apoi utilizatorii pot folosi aplicaţia fără să
mai cunoască parola.
11)Dictionarul de date
Fiecare bază de date Oracle are un dicţionar de date, care este un set de tabele şi vederi
folosite în modul read-only pentru a referi datele bazei de date. Dicţionarul de date este actualizat
automat de către Oracle ori de câte ori intervin modificări în structura bazei de date.
Dicţionarul de date (DD) este accesat în două situaţii: ori de câte ori Oracle prelucrează o
instrucţiune DDL sau de către orice utilizator pentru consultarea informaţiilor despre baza de date.
DD este adus în memoria SGA
Vederile DD sunt prefixate cu USER, ALL sau DBA. Vederile prefixate cu USER furnizează informaţii
despre obiectele utilizatorilor, cele ALL despre toate obiectele din baza de date la care un utilizator
are acces, iar cele cu DBA dau informaţii despre toată baza de date.
Categoriile de informaţii ce se pot obţine din dicţionarul de date sunt:
• Informaţii despre fişierele Online Redo Log;
• Informaţii despre tabelele spaţiu;
• Informaţii despre fişierele de date ( Data Files);
• Informaţii despre obiectele bazei de date;
• Informaţii despre segmentele bazei de date;
• Informaţii despre extensii ale bazei de date;
• Informaţii despre pachetele Oracle cu valoare de dicţionar (Dictionary Storage).
• Informaţii despre utilizatorii bazei de date şi profilele acesteia;
• Informaţii despre privilegiile şi rolurile din baza de date
13)Fisiere de backup: sunt folosite pentru recuperarea bazei de date. In mod normal este restabilit
un fisier de backup cand un esec de comunicare sau o eroare utilizator a avariat sau a sters fisierul
original.
14)Privilegiile
Un privilegiu este un drept sa execute un tip particular de comanda SQL. Anumite exemple de
privilegii includ:
dreptul de conectare la o baza de date (crearea unei sesiuni)
dreptul de a crea o tabela in schema sa
dreptul de a selecta rinduri din tabela altcuiva
dreptul de a executa procedurile memorate ale altcuiva
Privilegiile bazei de date Oracle pot fi divizate in doua categorii distincte: privilegii sistem si
privilegii ale obiectelor schemei
Privilegiile sistem permit utilizatorilor sa execute o actiune particulara a sistemului sau o actiune
particulara intr-un tip particular al schemei. De exemplu, privilegiul de crea un spatiu de tabela sau a
sterge rinduri din orice tabela a bazei de date, este privilegiu sistem. Mai multe privilegii sistem sint
disponibile numai administratorului si dezvoltatorilor de aplicatii deoarece aceste privilegii sint foarte
puternice.
Privilegiile obiectelor schemei permit utilizatorilor sa execute o actiune particulara intr-un obiect
specific al schemei. De exemplu, privilegiul de a sterge rinduri intr-o tabela specificata este un
privilegiu obiect. Privilegiile obiect sint acordate (asignate) utilizatorului final care poate folosi baza
de date cu realizarea sarcinilor (taskurilor) specifice.
15)Bitmap
-bitmap in care fiecare bit are valoare 1 : daca cheia se regaseste in randul respectiv , 0 daca nu
se regaseste
- fiecare bit din lista corespunde unui rand incepand de la ROWID de start si pana la ROWID-ul de
stop
- bitmapurile pot fi avantajoase daca tabelele au un nu. Mare de randuri si cheia are
cardinalitate mica , exista putine valori distincte de cheie :
- este util daca se folosesc des cautari care implica coloane cheie in operatii logice
- tabelele sa fie read-only sau sa aiba o activitate tranzactionala redusa .
17)Audit