Sunteți pe pagina 1din 4

Concepte - Dictionarul datelor Pagina: 1 ----------------------------------------------------------------------------------------------------------------

4
Dictionarul datelor
Una dintre cele mai importante parti ale bazei de date Oracle este dictionarul datelor, care consta dintr-un set de tabele read-only care furnizeaza informatii despre baza de date asociata. Dictionarul datelor cuprinde: definitia tuturor obiectelor schemei bazei de date (tabele, wiev-uri, indecsi, clustere, sinonime, secvente, proceduri, functii, pachete, declansatoare, etc.) cit spatiu s-a alocat pentru obiectele schemei si cit este utilizat valorile implicite ale coloanelor informatii despre restrictiile de integritate numele utilizatorilor Oracle privilegiile si rolurile acordate fiecarui utilizator informatii de audit, cine si cum acceseaza si actualizeaza obiectele schemei etichetele tuturor utilizatorilor si obiectelor schemei (in Tusted Oracle) alte informatii generale despre baza de date Dictionarul este structurat in table si view-uri ca oricare alta baza de date. Toate tabelele dictionarului sint mentinute in spatiul de tabela SYSTEM. Dictionarul este un instrument pentru toti utilizatorii, de la end user la administratorii bazei de date. Pentru accesarea dictionarului, se folosesc directive SQL. Deoarece dictionarul este read only, se lanseaza numai interogari (SELECT) asupra tabelelor si view-urilor dictionarului. Structura dictionarului Dictionarul bazei de date contine: tabele de baza - tabele fundamentale care memoreaza informatii despre baza de date asociata. Numai Oracle poate scrie si citi aceste tabele.Utilizatorii acceseaza rar aceste tabele direct deoarece acestea sint nominalizate si de cele mai multe ori criptate. view-uri accesibile utilizatorilor - view-uri care sumarizeaza si afiseaza informatiile memorate in tabele de baza ale dictionarului. Aceste view-uri decodifica tabelele de baza in informatii utile, cum ar fi numele utilizatorului sau a tabelei utilizind joinari si clauza WHERE pentru a simplifica informatiile. Utilizatorii au acces la view-uri mai mult decit la tabelele de baza. Proprietarul dictionarului - SYS Utilizatorul Oracle SYS este proprietarul tuturor tabelelor de baza si a view-urilor accesibile din dictionar. Totusi, utilizatorul Oracle nu poate oricind altera (actualiza, sterge, insera) orice rinduri in schema objects continute in schema SYS, deoarece aceasta activitate poate compromite integritatea datelor. Administratorul securitatii va tine sub control strict aceste operatii. Observatie: Alterarea sau manipularea datelor din dictionarul de baza poate afecta permanent operatiile bazei de date.

Concepte - Dictionarul datelor Pagina: 2 ---------------------------------------------------------------------------------------------------------------Utilizarea dictionarului Dictionarul are trei utilizari importante: Oracle acceseaza dictionarul pentru a gasi informatii despre utilizatori, obiectele schemei si structura de memorare Oracle modifica dictionarul de fiecare data cind este lansata o directiva DDL (Data Definition Language). Oricare utilizator Oracle poate utiliza dictionarul ca referire read-only pentru informatii despre baza de date. Cum utilizeaza Oracle dictionarul Datele din tabelele de baza ale dictionarului sint necesare pentru functionarea Oracle. De aceea, numai Oracle poate scrie sau schimba informatii in dictionar. In timpul operatiilor cu baza de date, Oracle citeste dictionarul pentru a stabili daca obiectele schemei exista si ca utilizatorii au dreptul sa le acceseze. Oracle actualizeaza dictionarul incontinuu pentru a reflecta schimbarile din structura bazei de date, auditingul, drepturile si datele. Daca utilizatorul KATY creeaza o tabela numita PARTS, rinduri noi sint adaugate in dictionar pentru a reflecta noua tabela, coloanele, segmentele, extensiile si privilegiile pe care KATY le are asupra tabelei. Aceste informatii sint vizibile urmatoarea data cind este interogat view-ul dictionarului. Sinonime publice pentru view-urile dictionarului Oracle creaza sinonime publice in view-urile dictionarului asa incit utilizatorii pot accesa acestea avantajos. (Administratorul securitatii poate crea sinonime publice aditionale pentru obiectele schemei care sint utilizate de sistem). Utilizatorii pot denumi propriile obiecte ale schemei cu aceleasi nume ca sinonimele publice. Dictionarul cache pentru acces rapid Multe din informatiile dictionarului sint in memoria cache in System Global Area (dictionary cache) deoarece Oracle acceseaza constant datele din dictionar in timpul operatiilor asupra bazei de date pentru a valida accesul utilizatorilor si starea obiectelor din scheme. Toate informatiile sint memorate utilizind algoritmul LRU (Last Recently Used). Informatiile tinute in cache sint cele cerute pentru analiza. Coloanele COMMENT care descriu tabele si coloanele lor nu sint tinute in memoria cache in afara de cazul cind sint utilizate frecvent. Alte programe si dictionarul Alte produse Oracle pot referi view-uri existente si pot crea tabele aditionale si viewuri proprii. Dezvoltatorii de aplicatii care scriu programe care refera date din dictionar trebuie sa refere sinonime publice mai in locul tabelelor de baza; sinonimele sint mai usor de schimbat.

Adaugarea de noi articole in dictionar

Concepte - Dictionarul datelor Pagina: 3 ---------------------------------------------------------------------------------------------------------------Se pot adauga noi tabele sau view-uri in dictionar. Daca se adauga noi obiecte in dictionar, proprietarul noilor obiecte trebuie sa fie utilizatorul SYSTEM sau un tert utilizator Oracle. Precautii: niciodata nu se creaza obiecte noi apartinind utilizatorului SYSTEM, exceptie facind scripturile furnizate de Oracle Corporation pentru crearea obiectelor din dictionar. Stergerea articolelor din dictionar Toate schimbarile in dictionar sint facute de Oracle ca raspuns la directive DDL, totusi nu oricare utilizator poate sterge sau modifica in tabelele dictionarului. Singura exceptie o face tabela SYS.AUD$. Cind este accesat auditul, aceasta tabela creste mult. Administratorul poate sterge date din tabela AUDIT_TRAIL deoarece acestea nu sint informatii necesare pentru Oracle ca sa ruleze. Cum folosesc utilizatorii Oracle dictionarul View-urile din dictionar servesc ca referinta pentru toti utilizatorii. Accesarea datelor din view-uri se face cu SQL. Anumite view-uri sint accesibile tuturor utilizatorilor Oracle; Altele sint folosite numai de administrator. Dictionarul este disponibil totdeauna cind baza de date este deschisa. Acesta rezida in spatiul de tabela SYSTEM, care este intotdeauna on-line. Dictionarul contine seturi de view-uri. In anumite cazuri, un set contine trei view-uri care contin informatii similare si se disting unele de altele prin prefix.

PREFIX USER ALL DBA

SCOP view al utilizatorului (care este in schema utilizatorului) view extins al utilizatorului (care utilizatorul il poate accesa) view al administratorului bazei de date (toti utilizatorii il pot accesa)

Setul de coloane este identic intre view-uri cu exceptiile: view-urile cu prefix USER uzual exclud coloana OWNER anumite view-uri DBA au coloane suplimentare care contin informatii pentru uzul administratorului View-urile cu prefix USER View-urile cu prefix USER reprezinta un interes tipic pentru utilizatorii bazei de date. refera propriul mediu al utilizatorului incluzind informatii despre obiectele schemei create de utilizator, drepturile utilizatorului, etc. afiseaza numai coloane pertinente pentru utilizator au coloane identice cu alte view-uri cu exceptia celor care implica coloana OWNER returneaza un subset de informatii in view-urile ALL pot avea sinonime PUBLIC prescurtate Exemplu: urmatoarea interogare returneaza toate obiectele continute in schema: SELECT object.name, objetc.type FROM user-objects View-uri cu prefix ALL

Concepte - Dictionarul datelor Pagina: 4 ---------------------------------------------------------------------------------------------------------------View-urile cu prefix ALL refera informatii complete despre baza de date. Aceste view-uri returneaza informatii despre obiectele la care au acces toti utlizatorii prin drepturi publice sau explicite acordate prin privilegii si roluri, in plus fata de obiectele schemei la care utilizatorul este proprietar. Exemplu: interogarea urmatoare returneaza informatii despre toate obiectele la care utilizatorul are acces SELECT owner, object_name, object_type FROM all_objects. View-uri cu prefix DBA View-urile cu prefix DBA ofera o vedere globala a intregii baze de date. De aceea au fost destinate sa fie interogate numai de administratorul bazei de date. Oricare utilizator care are privilegiul sistem SELECT ANY TABLE poate interoga view-urile cu prefix DBA. Pentru aceste view-uri nu se creaza sinonime deoarece acestea sint interogate numai de catre administratorul bazei de date. De aceea, administratorul trebuie sa prefixeze numele viewului cu numele proprietarului, SYS, exemplu: SELECT owner, object_name, object_type FROM SYS.dba_objects Administratorul poate rula fisierul script DBA-SYNONYMS.SQL pentru a crea sinonime pentru view-ul DBA daca are privilegiul sistem SELECT ANY TABLE. Executia acestui script creaza sinonime numai pentru utilizatorul curent. DUAL Tabela DUAL este o tabela mica pe care Oracle si programatorii o refera pentru a garanta un rezultat cunoscut. Aceasta tabela are o coloana numita DUMMY si un rind care contine valoarea 'X'. Tabele Dynamic Performance (tabele de performanta dinamice) Pe tot parcursul operarii Oracle mentine un set de tabele virtuale care inregistreaza activitatea curenta a bazei de date. Aceste tabele se numesc dynamic performance tables (DPT). DPT nu sint tabele adevarate, ele nu pot fi accesate de majoritatea utilizatorilor. Totusi, administratorul poate crea view-uri in tabele si oferi acces la acestea si altor utilizatori. Proprietarul tabelelor este SYS; toate numele incep cu V_$. View-urile sint create in aceste tabele si sinonime publice sint creeate pentru view-uri. Numele sinonimelor incep cu V$. De exemplu V$DATAFILE contine informatii despre fisierele bazei de date si V$FIXED_TABLE contine informatii despre toate DPT si view-urile din baza de date.

S-ar putea să vă placă și