Dicţionarul este o resursă foarte importantă a unei bazei de date Oracle.
El este format dintr-o mulţime de tabele read-only care păstrează informaţii despre baza de date.
Dicţionarul conţine:
definiţia componentelor din schema bazei de date
spaţiul alocat pentru unele obiecte din schema bazei de date
valorile implicite ale coloanelor din tabele
informaţii despre restricţiile de integritate definite
informaţii despre utilizatorii bazei de date
privilegiile şi rolurile definite şi modul de alocare a acestora
informaţii de audit (cine accesează şi actualizează obiectele schemei bazei de date)
alte informaţii despre baza de date
Toate datele din dicţionarul bazei de date sunt memorate în spaţiul SYSTEM.
Modificarea datelor din dicţionar se poate face numai prin instrucţiuni SQL. Un utilizator nu poate
modifica altfel dicţionarul, deci aceste tabele sunt "read only".
Informaţiile din dicţionar se pot obţine prin anumite view-uri definite de sistem.
Utilizatorul SYS este proprietarul tabelelor de bază (unde se memorează dicţionarul) şi a view-urilor sistem.
Rolul dicţionarului:
se utilizează de sistem pentru a verifica dreptul utilizatorilor de a executa diversele instrucţiuni SQL
se modifică de sistem la execuţia unor instrucţiuni de definire/modificare a obiectelor din schema bazei de date
oferă informaţii utilizatorilor
Dicţionarul conţine şi definirea view-urilor sistem (cu rol de informare).
In denumirea acestor view-uri poate apare, ca prefix:
USER_ - care oferă date despre componentele utilizatorului curent (apar în subschema acestuia)
ALL_ - care oferă date despre componentele la care are acces utilizatorul curent (proprii şi cele pe care le poate folosi)
DBA_ - care oferă date pentru administratorul bazei de date
(un utilizator cu privilegiul DBA sau SELECT_ANY_TABLE)
Pe timpul unei sesiuni de lucru se păstrează unele date privind execuţia unor instrucţiuni SQL.
Aceste date se memorează în unele tabele numite dynamic performance tables (DPT).
Informaţiile din aceste tabele se pot folosi prin intermediul unor view-uri care au ca prefix V_$
sau prin view-uri cu nume sinonime ce încep cu V$.
Există view-uri sistem care nu încep cu prefixele amintite, dintre care amintim:
DICTIONARY (sau sinonim DICT) - date despre tabelele, view-urile (inclusiv view-urile sistem), sinonimele, secvenţele, accesibile utilizatorului curent.
Exemplu de utilizare:
select * from dict order by table_name;
DICT_COLUMNS - date despre coloanele din dictionarul obiectelor accesibile utilizatorului
Exemple de viewuri sistem utile pentru componentele de bază:
ALL_TABLES - descrie tabelele accesibile
ALL_TAB_COLUMNS - descrie coloanele din tabelele sau viewurile accesibile
ALL_COL_COMMENTS - descrie comentarile ataşate coloanelor tabelelor şi view-urilor
ALL_TAB_COMMENTS - descrie comentarii ataşate la tabele şi view-uri
ALL_CONSTRAINTS - descrie restricţii pe tabele
ALL_CONS_COLUMNS - descrie coloanele folosite la restricţii
ALL_INDEXES - descrie indecşi
ALL_IND_COLUMNS - descrie coloanele incluse în indecşi