Professional Documents
Culture Documents
Cuprins
1.1. n ce const managementul BD.
Presupune planificarea, organizarea i controlul tuturor resurselor hard i soft astfel nct definirea, manipularea i utilizarea datelor din BD s se realizeze n condiii optime. Managementul BD este realizat de administratorul BD (DBA) prin intermediul SGBD-ului i a SO.
Administratorul bazei de date (DBA) Dezvoltatori de aplicaii Administratori de aplicaii Utilizatori finali al bazei de date Administratorul de reea
instalarea softului pe server, a aplicaiilor pe staii, a driverelor de reea; alocarea memoriei sistemului i planificarea cerinelor viitoare de memorie ale acestuia; planificarea BD prin definirea structurior logice ale memoriei, a cerinelor generale de proiectare a BD i a structurii de salvare;
crearea bazei de date i a obiectelor acesteia (tabele, viziuni, indeci); implementarea BD proiectate prin definirea segmentelor de revenire (rollback), a tabelelor spaiu (tablespaces) i a obiectelor BD; modificarea structurii bazei de date n funcie de cerinele dezvoltatorilor de aplicaii; controlul i monitorizarea accesului utilizatorilor la baza de date; monitorizarea i optimizarea performanelor bazei de date; definirea i asigurarea politicii de salvare a datelor (backup) i refacere (recovery) a bazei de date;
arhivarea datelor pe medii magnetice; asigurarea legturii cu firma care ofer suportul tehnic i licena de utilizare a produselor; asigura integritatea datelor stabileste politica de securitate a datelor
Dezvoltatorul de aplicaii
analiza, proiectarea si implementarea unei aplicaii(procese, date, etc.); estimarea necesarului de resurse pentru aplicaie; definirea, daca este cazul, a modificrilor aplicatiei (procese, structurilor de date, etc.); elaborarea documentatiei de prezentare,realizare si operare; transmiterea tuturor informaiilor despre activitile de mai sus ctre administratorul bazei de date; stabilirea msurilor de securitate pentru aplicaie.
are acces la baza de date prin intermediul unei aplicaii sau a instrumentelor Oracle; adugarea, modificarea i tergerea datelor din baza de date n concordan cu drepturile de acces pe care le are; generarea unor rapoarte cu datele din baza de date.
Privilegiile DBA
comenzile sistemului de operare; cont de administrator BD. De exemplu pentru Oracle exista dou conturi de utilizator SYS i SYSTEM cu parolele iniiale CHANGE_OF_INSTALL i respectiv MANAGER; rol de DBA, care este creat automat la momentul crerii unei baze de date. Acest rol conine toate privilegiile bazei de date.
Modalitati de autentificare
Datorit faptului c un administrator execut activiti pe care un utilizator obinuit nu le poate executa este necesar ca acesta s poat fi autentificat nainte de a executa activitile de administrare. Administratorul bazei de date, spre deosebire de utilizatorii obinuii, va trebui s aib i privilegii pentru lucrul cu sistemul de operare pentru a putea accesa fiierele bazei de date (cearea i tergerea fiierelor). De asemenea el va trebui s aib acces i la toate funciile bazei de date.
Autentificarea folosind
sistemul de operare
de parole.
Dup stabilirea unui utilizator ca administrator, de exemplu utilizatorul SCOTT cu parola TIGER, acesta va fi autorizat la unul din privilegiile SYSDBA sau SYSOPER, cu comanda GRANT, dup care utilizatorul SCOTT se va conecta la baza de date ca SYSDBA sau SYSOPER cu comanda CONNECT; Exemplu: GRANT SYSDBA TO scott GRANT SYSOPER TO scott CONNECT scott/tiger AS SYSDBA CONNECT scott/tiger AS SYSOPER;
de parole.
autentificarea pe baza de sistem de operare are preceden faa de cea pe baz de fiier de parole pentru SYSDBA i SYSOPER; un utilizaror va fi conectat ca SYSDBA sau SYSOPER automat, indiferent de parola care o tasteaz.
Odat cu apariia Oracle 10g, administratorii de baze de date au la dispoziie o interfaa grafica Enterprise Manager-un instrument in mod grafic- care face ca munca de administrare sa devina interactiva. Pentru a deschide pagina Enterprise Manager se folosete un browser web. n cazul n care Oracle este instalat pe acelei computer pe care se face si administrarea se acceseaz link-ul: http://localhost:1158/em/ . n cazul n care se lucreaz pe alt main dect cea pe care este instalat Oracle, n loc de localhost va fi tastat adresa serverului Oracle. n prima pagin care se deschide administratorul se autentific pe baz de parol.
n fereastra de modificare a parolei unui utilizator administratorul are posibilitatea de a stabili modul n care se va face autentificarea (prin sistemul de operare sau cu fiierul de parole), poate seta o nou parol i poate stabili tabelela spaiu implicit i cea temporar n care utilizatorul va lucra. Tot aici se poate expira o parol (ceea ce nseamn c utilizatorul cnd se va conecta prima dat i se va cere s i aleag o nou parol), s se blocheze sau s deblocheze un cont. n aceast fereastr accesnd tab-ul Roles se pot acorda rolurii utilizatorilor (ex. Rolul de DBA).
se poate executa cu utilitarul ORAPWD, care are trei parametrii: FILE, PASSWORD i ENTRIES, dintre care primii doi sunt obligatorii, iar ultimul este opional. Aceti parametrii definesc numele fiierului cu parole, parola pentru utilizatorul SYS i respectiv numrul de utilizatori care pot executa activiti de administrator (DBA);
REMOTE_LOGIN_PASSWORDFILE,
Valorile pe care le poate lua acest parametru sunt: NONE, EXCLUSIVE i SHARED, n care: NONE determin ca baza de date Oracle s funcioneze fr fiier de parole; EXCLUSIVE determin ca fiierul de parole s fie folosit exclusiv numai de ctre o singur baz de date; SHARED determin ca fiierul de parole s fie folosit de ctre mai multe baze de date i este folositor atunci cnd un singur administrator administreaz mai multe baze de date.
Not: Pentru a avea un grad mare de securitate pentru baza de date, va trebui ca imediat dup crearea fiierului cu parole parametrul de iniializare REMOTE_LOGIN_PASSWORDFILE s fie setat pe valoarea EXCLUSIVE.
Faciliti
permite managementul datelor organizate n BD ; lucreaz client/server permite ca prelucrrile s fi mprite ntre serverul de baze de date i programele de aplicaie ale utilizatorilor aflate pe staiile conectate la server; lucreaz cu BD foarte mari; asigur accesul concurenial pentru mai muli utilizatori ai BD; previne accesul neautorizat la BD; asigur reastaurarea BD dup producerea unei erori; permite lucrul distribuit; asigur integritatea datelor; asigur portabilitatea aplicaiilor; permite conectarea mai multor tipuri de calculatoare i SO n aceeai reea.
sunt unitile logice de memorie n care este mprit o baz de date; pot fi spaii pentru tabele de sistem i spatii pentru tabele de utilizator; Din punct de vedere al accesibilitii aceste pot fi on line i off line; sunt stocate pe disc sub form de fiiere de date specifice SO pe care rezid SGBD.
Schema obiectelor BD
Se pot regsi n mai multe spatii pentru tabele , iar un spaiu tabel poate conine obiecte din mai multe scheme; Cuprinde:
Tabele; Vederi (view); Secvene ; Unitile de program (Program Units) Sinonimele; Indecii i clusterii.
datelor unei BD. Acestea conin rnduri i coloane. n Oracle avem i tabele partajate. Tabelele derivate (viziunile) sunt proiecii ale unei tabele sau mai multor tabele accesibile utilizatorilor. Vederile nu memoreaz date, ci prezint datele din tabelele pe care s-au creat, numite tabele de baz. La fel ca i cu tabelele, cu vederile se pot efectua operaii. Toate operaiile efectuate asupra vederilor afecteaz tabelele de baz.
furnizeaz nivele adiionale de securitate, restricioneaz accesul la anumite coloane dintr-o tabel sau tabele; ascund complexitatea structurii BD; simplific accesul la date. O vedere poate fi construit printr-un acces complicat la mai multe tabele, iar utilizatorul va opera cu vederea fr a fi nevoit s emit cereri foarte complicate ctre BD; pot memora cereri extrem de complexe. De exemplu o cerere poate efectua calcule extrem de laborioase asupra unei tabele. Prin salvarea acestei cereri ca pe o vedere, calculele respective se vor efectua numai prin simplu apel al acestei vederi.
identificare a coloanelor unei tabele i pot fi utilizate la efectuarea diferitelor operaii ntr-o aplicaie.
refer procedurile memorate, funciile i pachetele. Procedurile i funciile sunt subprograme PL/SQL care execut anumite activiti. Pachetele sunt metode de ncapsulare i memorare, a procedurilor i funciilor corelate, ca o unitate n baza de date.
Sinonime
numele tabelelor, secvenelor sau unitilor de program i sunt folosite pentru a masca numele real al obiectului, a furniza un acces public la obiect i a simplifica instruciunile SQL. Sinonimele pot fi publice sau private. Sinonimul privat este disponibil numai la nivel unui anumit utilizator.
Indecii i clustere
Indecsii sunt structuri opionale asociate cu tabelele pentru a mri viteza de acces la date. Clusterele sunt metode opionale de memorare a datelor unor tabele. Clusterele grupeaz mai multe tabele fizic memorate mpreun pentru c au mai multe coloane comune sau cel mai des sunt folosite mpreun. Coloanele de legtur ale tabelelor ntr-un cluster se numesc chei cluster (cluster key).
Este definit de un set de fiiere specifice sistemului de operare pe care rezid SGBD Oracle, folosite pentru memorarea structurilor logice ale bazei de date i pentru pstrarea unor informaii tehnice de control ; Aceste fiiere sunt: fiiere de date (Data files); fiiere Redo log (Redo Log files); fiiere de control (Control files).
Conin datele unei baze de date, sub forma structurilor logice ale acesteia (tabele, vederi, secvene, proceduri memorate, sinonime, indeci, clustere i link-uri de baz de date). Fiierele de date au urmtoarele caracteristici: un fiier de date poate aparine unei singure baze de date, pot fi extinse automat n anumite momente specifice ale funcionrii bazei de date, unul sau mai multe fiiere de date pot fi memorate intrun spatiu pentru tabele.
Sunt folosite pentru memorarea tuturor schimbrilor de date produse asupra unei baze de date, astfel nct dac se ntmpl o cdere de curent s se previn distrugerea datelor bazei de date. Se pot folosi simultan mai multe fiiere de acest fel care s rezide pe discuri diferite
Instana ORACLE
Este o combinaie logic ntre structurile de memorie (SGA i PGA) i procesele ORACLE de baz active n momentul pornirii unei BD. Structurile de memorie intern sunt folosite pentru executarea unor activiti Oracle specifice: memorarea programelor, care vor fi executate, precum i datele ce vor fi utilizate de acestea. Structurile de memorie sunt SGA (System Global Area) i PGA (Program Global Area).
SGA si PGA
SGA este o regiune partajabil de memorie care conine datele i informaiile necesare unei instane Oracle. Conine : Database Buffer Cache - conine blocurile de date cele mai recent utilizate pentru a reduce utilizarea discului; Redo Log Buffer - conine datele despre blocurile modificate; Shared Pool - pentru prelucrarea instruciunilor SQL; Cursorii (Statement Handles or Cursores) - folosii pentru manipularea instruciunilor unui limbaj gazd folosind facilitatea Oracle Call Interface. PGA este zona de memorie care conine datele i
Procesul ORACLE
Este un mecanism al sistemului de operare care poate executa o serie de pai. Are propria sa zon de memorie n care se execut. Un server Oracle are dou tipuri de procese :procese utilizator ;procese Oracle.
Procesul utilizator (user proces) este creat i meninut pentru a executa codul de program aferent unui anumit limbaj (C++) sau un produs Oracle (Oracle tool), SQL*Forms, Sql*Graphics etc.
Procese ORACLE
Procesul Oracle este apelat de ctre un alt proces pentru a executa funcia cerut de ctre acesta. Procesele Oracle sunt Procese server i Procese background. Procesele server (Server Processes) sunt utilizate de Oracle pentru a
prelucra cererile proceselor utilizator. Oracle poate fi configurat astfel nct s permit unul sau mai multe procese utilizator. Din acest punct de vedere avem servere dedicate care au un singur proces utilizator i servere multi prelucrare (multi-threaded server configuration). Pe anumite sisteme procesele utilizator i procesele server sunt separate, iar n altele sunt combinate ntr-unul singur. Dac folosim sistemul multi prelucrare sau dac procesele utilizator i procesele server se afl pe maini diferite atunci aceste procese trebuie s fie separate.
Sistemul client/server separ procesele utilizator de procesele server i le execut pe maini diferite.
Log Writer(LGWR) scrie nregistrrile redo log pe disc; Checkpoint(CKPT) scrie nregistrrile checkpoint la timpul
potrivit ;
instane la momentul pornirii, colecteaz spaiul liber etc; Process Monitor(PMON) recupereaz procesele utilizator dac acestea cad accidental; Archiver(ARCH) copiaz n mod online fiierele Redo Log n fiiere de arhiv atunci cnd acestea se umplu cu date.
Pe server ruleaz o instan Oracle, adesea numit gazd sau server de baz de date (Database server). Pe un calculator local (local machine sau client workstation) ruleaz o aplicaie ntr-un proces utilizator. Aplicaia client ncearc s ia legtura cu serverul Prin intermediul unui Listener care are rolul de a asocia un proces utilizator cu un proces server; Severul detecteaz cererea de conectare i creeaz un proces server pentru soluionarea cererii. Utilizatorul execut o instruciune SQL i finalizeaz (comite) tranzacia. De exemplu modific numele sau o coloan ntr-un rnd al tabelei. Serverul primete cererea i verific dac o astfel de instruciune SQL o mai are deja n buffer. Dac exist o execut, dac nu o creeaz . Severul regsete valorile de date din fiierele de date aferente bazei de date i le memoreaz n SGA. Procesul server execut modificarea datelor n SGA. Procesul DBWR scrie datele modificate n baza de date, iar LGWR nregistreaz tranzacia efectuat n fiierul Redo log. Dac tranzacia s-a terminat corect, Serverul trimite un mesaj aplicaiei, altfel se transmite un mesaj de eroare.
Este un set de tabele i vederi care sunt folosite n modul read-only pentru a referi datele bazei de date; Este actualizat automat de ctre Oracle ori de cte ori intervin actualizri al structurii bazei de date; Proprietarul dicionarului de date este utilizatorul SYS si nici un utilizator nu poate altera obiecte din schema SYS.
DD este adus n memoria SGA; Nu se vor creea niciodat obiecte care s aparin utilizatorului SYS; Nimeni nu va modifica niciodat date din DD. Singura tabel care face excepie este tabela SYS.AUDIS.
De ctre Oracle pentru a prelucra o instruciune DDL; De ctre orice utilizator Oracle pentru a afla informaii despre baza de date.
Vederile DD sunt prefixate cu USER, ALL sau DBA. Vederile prefixate cu USER furnizeaz informaii despre obiectele utilizatorilor, cele ALL despre toate obiectele din baza de date la care un utilizator are acces, iar cele cu DBA dau informaii despre toat baza de date.
Exist tabele speciale care pot fi accesate numai de ctre administrator pentru a vedea performanele Oracle. Utilizatorul SYS este proprietarul acestor tabele. Numele lor este prefixat cu V_$, iar sinonimele lor cu V$.
Informaii despre fiierele Online Redo Log; Informaii despre spaiile pentru tabele; Informaii despre fiierele de date ( Data Files); Informaii despre obiectele bazei de date; Informaii despre segmentele bazei de date; Informaii despre extensii ale bazei de date; Informaii despre pachetele Oracle cu valoare de dicionar (Dictionary Storage). Informaii despre utilizatorii bazei de date i profilele acesteia; Informaii despre privilegiile i rolurile din baza de date.
Exemple
SELECT object_name, object_type FROM user_objects; SELECT owner, object_name, object_type FROM all_objects; Accesarea vederilor DBA se va face prin prefixare cu SYS pentru c nu sunt create sinonime. SELECT owner, object_name, object_type FROM sys.dba_objects;