Administrarea Bazelor de Date

Embed Size (px)

Citation preview

  • 5/14/2018 Administrarea Bazelor de Date

    1/97

  • 5/14/2018 Administrarea Bazelor de Date

    2/97

    Copyright 2008, Editura ASEToate drepturile asupra acestei editii sunt rezervate editurii.Editura ASEPiata Romana llf. 6, sector 1, Bucuresti, Romaniacod [email protected]

    Descrierea CIP a Bibliotecii Nationale a RomanieiLUNGU,IONAdministrarea bazelor de date / Ion Lungu, AdelaBarn,Mihai Andronie. ~ Bu cu re st i : Editura ASE, 2008Bibliogr.ISBN 978-606-505-071-6

    1. Bara, AdelaII. Andronie, Mihai004.65

    ISBN 978-606-505-071-6

    Editura ASETehnoredactare computerizata: Emilia VelcuRedactor: Luiza Constantinescu

    Silvia RacaruCoperta: Luiza Constantinescu

    CUPRINS

    apitolu1 1 Activitati ~p.ecificemanagementu~ui unei baze de dateUNo!iuni generale pnvmd managementul uner baze de .d~te 91.2Administratorul bazei de date (DBA - Database Administrator) -oomponenta esentiala in managementul BD 111.2.1 Privilegiile unui administrator '" 111.2.2 Modalitati1e de autentificare a administratorulu 111.2.3 Administrarea bazei de date eu ajutorul instrumentuluiEnterprise Manager 12

    '1.3 ORACLE SERVER - sistem relational-obiectualde administrare a unei BD 161 .4 . Dietionarul de date (Data Dictionary) 23

    Capitolul 2 Crearea unei baze de date2.1 Cerinte anterioare crearii BD 252. 2 Crearea unei BD Oracle 252.3 Parametrii de initializare a BD 262.3.1 Notiuni referitoare la parametrii de initializare 262.3.2 Lucrul cu parametrii de initializare in Oracle 272.3.3 Tipuri de parametri de initializare 312.3.4 Parametrii utilizati la initializarea unei BD 32

    2.4. Exemplu de creare a unei BD 352.5. Cerinte posterioare crearii BD 382.6. Pomirea instantei bazei de date 392.6.1. Proceduri de pomire 392.6.2. Proceduri de pomire speciale ale BD si instantei Oracle 41

    2.7. Proceduri de oprire a BD 42

    Capitolul3 Configurarea serverului ORACLE3.1. Managementul fisierelor de refacere (online Redo Log) 453.1.1 Proiectarea fisierelor de refacere (online Redo Log) 45

    3.1.2 Crearea grupurilor de fisiere online Redo Logsi a membrilor acestor grupuri 473.1.3 Redenumirea si relocarea fisierelor de log 50

    http://www.ase.ro/mailto:[email protected]:[email protected]://www.ase.ro/
  • 5/14/2018 Administrarea Bazelor de Date

    3/97

    3.1.4 Stergerea grupurilor de fisiere de log sau a fisierelorcare compun aceste grupuri 513.1.5 Punctele de control (chekpoints) si comutarea scrieriidintr-un fisier de log in alt fisier de log (Log Switches) 523.1.6 Listarea informatiilor despre grupurile de fisiere de log 543.2 Managementul fisierelor de control 55

    3.2.1 Informatii generale des pre fisierele de control.. 553.2.2 Crearea unui nou fisier de control 56

    Capito lui 4 Activitati specifice de management al tabelelor-spatiu4.1 Informatii generale despre tabelele-spatiu (tablespaces) 584.2 Crearea, model area, administrarea si distrugerea tabelelor-spatiu 594.3 Modificarea setarilor initiale si compactarea spatiului

    aferent tabelelor-spatiu 624.4 Vizualizarea informatiilor din dictionarul de date Oracledespre tabelele-spatiu 65

    Capitolul 5 Managementul fisierelor de date5.1 Informatii generale despre fisierele de date (Data files) 685.2 Crearea, adaugarea, modificarea, redenumirea si stergereafisierelor de date 705.3 VizuaIizarea informatiilor despre fisierele de date din dictionarulde date Oracle 75

    Capitolul 6 Managementul tabelelor ~iIndecsilor6.1 Managementul tabelelor 776.1.1 Informatii generale despre managementul tabelelor 776.1.2 Crearea, modificarea si stergerea tabelelor. 786.1.3 Tabele organizate in format indexat 856.1.4 Vizualizarea informatiilor despre tabele din dictionarulde date Oracle 88

    6.2 Managementul indecsilor 906.2.1 Informatii generale despre indecsi 906.2.2 Crearea, modificarea si stergerea indecsilor 916.2.3 Vizualizarea informatiilor despre indecsi in dictionarul

    de date Oracle 95

    6

    Capito lui 7 Managementul tabelelor ~~~de~~lor p.a~tili~nali7.1 Informalii generale despre tabelele ~l indecsii partitionati 967.2 Elementele definitorii ale partitiilor 967.2.1 Reguli de partitionare a tabelelor.. 987.2.2 Reguli de partitionare a indecsilor. 987.3 Crearea partitiilor unei tabele si ale unui index 99~. . 1 1127.4 Intretmerea partitu or .

    Capito lui 8 Managementul clusterelor, tabelelor virtu ale,secventelor ~i sinonimelor8.l Managementul c1usterelor si a grupurilor de indecsi 121

    8.1.1 Informatii generale referitoare la clustere 1218.1.2 Crearea, modificarea si stergerea grupurilorde tabele si indecsi 1228.1.3 Vizualizarea informatiilor despre clusterein dictionarul de date 125

    8.2 Manageme~tul tabelelor virtuale (views) 1268.3 Managementul secventelor, 1318.4 Managementul sinonimelor 135

    Capitolul9 Managementul segmentelor de reveniresi stabilirea politicii de securitate9.1 Managementul segmentelor de revenire (rollback) 137

    9.1.1 Inforrnatii generale despre segmentele de rollback 1379.1.2 Crearea, modificarea si stergerea segmentelor de rollback 138. . l' ... d . 1419.2 Stabilirea po iticn e secuntate .9.2.1 Informatii generale despre securitatea bazei de date 1419.2.2 Politica de securitate a utilizatorilor 1429.2.3 Politica de administrare a parolelor. 143

    CapitolullO Managementul utilizatorilor si resurselor10.1 Managementul licentelor.. 15110.2 Utilizatorii Oracle 15210.3 Managementul resurselor folosind profile 15610.4 Vizualizarea informatiilor despre licente, utilizatorii

    bazei de date si profi lele acestora din dict ionarul de date Oracle ..161

    7

  • 5/14/2018 Administrarea Bazelor de Date

    4/97

    Capitolul 11Managementul rolurilor ~iprivilegiilor11 1 I f .. I d "1"n ormatu genera e espre pnvi egu IL112M I 1'1 '1' '1 V'I. anagementu ro un or uti izaton or 1 6 S11.3 Acordarea rolurilor si privilegiilor utilizatorilor .1 1 0 4 Revocarea rolurilor si privilegiilor utilizatorilor.. :::111.5 Vizualizarea informatiilor despre roluri si privilegii

    din dictionarul de date Oracle I~..I

    Capitolul12 Monitorizarea performantelor inOracle 10912.1 Folosirea Enterprise Managerpentru monitorizarea performantelor 112.2 Utilitarul SQL Tuning Advisor 18

    Bibliografie 191

    8

    1TJVITATI SPECIFICE MANAGEMENTULUItINEI BAZE DE DATE1.1Notiuni generale privind managementul unei baze de dateManagementul unei baze de date (BD) presupune planif icarea,

    orgoJJizareasi controlul tuturor resurselor hard si soft astfel incdt definirea,m niplilarea si utilizarea date lor din BD sa se realizeze fn conditii optime.Man gementul bazei de date este realizat de catre administrator (DBA -tab e administrator) prin intennediul Sistemului de gestiune a bazei deGBD) si a Sistemului de operare (SO).In proiectarea, administrarea si utilizarea unei baze de date se

    III escmai multe tipuri de utilizatori, fiecare avand un rol bine delimitatdupa cum vom prezenta in continuare:Administratorul bazei de date (DBA) poate fi reprezentat, in functie

    de complexitatea si marimea unei baze de date, dintr-o singura sau maimultepersoane, care sa execute urmatoarele sarcini administrative:

    instal area componentelor software pe server, a aplicatiilor pestati i, a driverelor de retea (evaluarea resurselor hardware aleserverului pe care se va instala BD care consta in detenninareacapacitatii de procesare, a spatiului pe disc si a memorieidisponibile);

    alocarea memoriei sistemului si planificarea cerintelor viitoare dememorie ale acestuia;

    planificarea BD prin definirea structurilor logice ale memoriei, acerintelor generale de proiectare a BD si a structurii de salvare;

    crearea bazei de date si a obiectelor acesteia (tabele, viziuni,indeqi);

    . . . .

  • 5/14/2018 Administrarea Bazelor de Date

    5/97

    Capitolulll Managementul rolurilor si privilegiilor11.1 Informatii generale despre privilegii 111.2 Managementul rolurilor utilizatorilor 111.3 Acordarea rolurilor si privilegiilor utilizatorilor 1711.4 Revocarea rolurilor ~i privilegiilor utilizatorilor. 111.5 Vizualizarea informatiilor despre roluri si privilegiidin dictionarul de date Oracle 1

    CapitoluI 12Monitorizarea performantelor in Oracle 10912.1 Folosirea Enterprise Managerpentru monitorizarea performantelor 112.2 Utilitarul SQL Tuning Advisor 188Bibliografie 191

    8

    1CTIVITATI SPECIFICE MANAGEMENTULUIUNEI BAZE DE DATE1.1 Notiuni generale privind managementul unei baze de dateManagementul unei baze de date (BD) presupune planificarea,

    organizarea $i eontrolul tuturor resurselor hard si soft astfel incdt definirea,manipularea si utilizarea date/or din BD sa se realizeze in conditii optime.Managementul hazei de date este realizat de catre administrator (DBA -datahase administrator) prin intermediul Sistemului de gestiune a hazei dedate (SGBD) ~ia Sistemului de operare (SO).In proiectarea, administrarea ~i utilizarea unei haze de date seregasesc mai multe tipuri de utilizatori, fiecare avand un rol hine delimitatdupa cum vom prezenta in continuare:

    Administratorul bazei de date (DBA) poate fi reprezentat, in functiede complexitatea ~i marimea unei haze de date, dintr-o singura sau maimulte persoane, care s a execute urmatoarele sarcini administrative:

    instal a rea componentelor software pe server, a aplicatiilor pestatii , a driverelor de retea (evaluarea resurselor hardware aleserverului pe care se va instala BD care consta in detenninareacapacitatii de procesare, a spatiului pe disc si a memorieidisponihile);

    alocarea memoriei sis temului ~iplanificarea cerintelor viitoare dememorie ale acestuia; planificarea BD prin definirea structuri lor logice ale memoriei, acerintelor generale de proiectare a BD si a structurii de salvare;

    crearea hazei de date si a ohiectelor acesteia (tabele, viziuni,indecsiy;

  • 5/14/2018 Administrarea Bazelor de Date

    6/97

    implementarea BD proiectate prin definirea segmentelor derevenire (rollback), a tabelelor spatiu (tablespaces) !?i aobiectelor BD;

    alegerea si implementarea politicii de securitate pentru baza dedate;

    modificarea structurii bazei de date in functie de cerinteledezvoltatorilor de aplicatii;

    controlul !?imonitor izarea accesului utilizatorilor la baza de date; monitorizarea si optimizarea performantelor bazei de date; definirea si asigurarea politicii de salvare a datelor (backup) sirefacere (recovery) a bazei de date;

    arhivarea datelor pe medii magnet ice; asigurarea legaturi i cu firma care ofera suportul tehnic !?i licentade utilizare a produselor;

    definirea utilizatorilor bazei de date, controlul !?imonitorizareaaccesului utilizatorilor la baza de date si cu intretinereasistemului de securitate;

    Dezvoltatorul de aplicatii proiecteaza !?iimplementeaza aplicatii cu bazede date Oracle, executand urmatoarele sarcini: proiectarea si dezvol tarea unei aplicati i, precum si a structurilorde date ale acesteia;

    estimarea cerintelor de memorie pentru aplicatie; definirea modif icarilor structurilor de date ale unei aplicatii; transmiterea tuturor informati ilor despre activitat ile de mai suscatre adrninistratorul bazei de date;

    stabilirea masurilor de securitate pentru aplicatie.Administratorul de aplicatii se ocupa cu administrarea unei aplicat ii ,

    s tabilirea proceselor care vor rula, a componentelor implicate in aplicatie sia drepturilor de acces la acestea.Utilizatorul simplu al bazei de date are acces la baza de date prin

    intermediul unei aplicatii sau a instrumentelor Oracle, executand in specialurmatoarele activitati:

    adaugarea, modificarea si stergerea datelor din baza de date inconcordanta cu drepturile de acces pe care le are;

    generarea unor rapoarte cu datele din baza de date.

    10

    Administratorul de retea este responsabil cu administrarea produselorsoftWare!?ia dispozitivelor din retea astfe1incat sa se asigure accesul tuturorutilizatorilor la baza de date si la aplicatii.

    1.2 Administratorul bazei de date (DBA - DatabaseAdministrator) - componenta esentiala inmanagementul BD

    1.2.1 Privilegiile unui administratorPentru a putea executa sarcinile de management a unei baze de date

    o persoana trebuie sa aiba privi legii deosebi te atat la nivelul bazei de date,cat !?ila nivelul sis temului de operare a 1 serverului pe care se afla baza dedate.

    Prin urmare, un DBA trebuie s a aiba: cont de administrator pentru sistemul de operare, care sa-ipermita s a execute comenzile sistemului de operare;

    cont de administrator BD, de exemplu, pentru Oracle existadoua conturi de uti lizator SYS !?iSYSTEM ale carer parole suntalese de catre administratorul bazei de date atunci cand creeazabaza de date;

    rol de DBA, care este creat automat in momentul creari i uneibaze de date. Acest rol contine toate privilegiile bazei de date.

    1.2.2Modalitiip de autentificare a administratoruluiDatorita faptului ca un administrator executa activi tati pe care un

    utilizator obisnuit nu le poate executa, este necesar ca acesta s a poata fiautentificat inainte de a executa activitatile de administrare.Administratorul bazei de date, spre deosebire de utilizatorii obisnuiti,

    va trebui sa aiba si privilegii pentru lucrul cu sistemul de operare pentru aputea accesa fisierele bazei de date (crearea si stergerea fisierelor). Deasemenea, el va trebui sa aiba acces si la toate functiile bazei de date. Dinaceste cauze autentificarea ca DBA cere 0 atentie deosebita.

    11

  • 5/14/2018 Administrarea Bazelor de Date

    7/97

    Conexiunile ca SYSDBA sau SYSOPER pot fi rea1izate astfel: autent ificarea folosind sistemul de operare, prin care se potutiliza doua conturi de administrator SYSOPER, sub care poateexecuta STARTUP, SHUTDOWN, ALTER DATABASEOPENIMOUNT, ALTER DATABASE BACKUP,ARCHNELOG si RECOVER, si contul SYSDBA, care continetoate privilegiile de sistem eu optiunea ADMIN OPTION,precum si rolul SYSOPER. Sub contul SYSDBA se poate executacomanda CREATE DATABASE;

    autentificarea folosind fisierul de parole, prin intermediul caruiase pot defini parole de acces pentru fiecare utilizator. Dupastabilirea unui utilizator ca administrator, de exemplu utilizatorulSCOTT cu parola TIGER, acesta va fi autorizat la unul dinprivilegiile SYSDBA sau SYSOPER, cu comanda GRANT, dupacare utilizatorul SCOTT se va coneeta la baza de date caSYSDBA sau SYSOPER cu comanda CONNECT;Exemplu:GRANT SYSDBA TO scott;GRANT SYSOPER TO scott;CONNECT scott/tiger AS SYSDBA;CONNECT scott/tiger AS SYSOPER;

    autent ificarea pe baza de sistem de operare are precedenta fata decea pe baza de fisier de parole pentru SYSDBA si SYSOPER; unutilizator va fi conectat ca SYSDBA sau SYSOPER automat,indiferent de parola care 0 tasteaza.

    1.2.3 Administrarea bazei de date cu ajutorul instrumentuluiEnterprise Manager

    Odata cu aparitia Oracle 109, administratorii de baze de date au ladispozitie interfata Enterprise Manager, un instrument in mod grafic,disponibil atat in mod clasic, ca aplicatie de sine statatoare, cat si prin

    12

    intennediul browserelor web, si care permite unui administrator sa realizezeoperatiile necesare intr-un mod interactiv.

    Pentru a deschide pagina Enterprise Manager se foloseste unbrowser web, in cazul in care Oracle este instalat pe acelasi computer pecare se face si administrarea, se acceseaza linkul: http://localhost:1158/eml.In cazul in care se lucreaza pe alta masina decat cea pe care este instal atOracle, in loc de localhost va fi tastata adresa serverului Oracle.

    Instrumentul Enterprise Manager prezinta 0 interfata grafica facila,In prima pagina care se deschide, administratorul se autent ifica pe baza deparola.

    Administrarea fisierelor de parole

    In aceasta activitate sunt incluse operatiile de definire a fisierului cuparole, setarea parametrului de initializare a bazei de dateREMOTE_LOGIN _pASSWORDFILE, adaugarea de uti lizatori in acestfisier ~i intretinerea fisierului cu parole.In Oracle 109 managementul f is ierului de parole se poate face si prinintermediul Enterprise Manager. Se merge la meniul Administration ->Users, unde se poate vizualiza 0 lista eu toti utilizatorii existenti (figura 1.1).Se alege uti lizatorul dorit din aceasta lista si se poate edita parola aeestuia(figura1.2).

    13

    -

  • 5/14/2018 Administrarea Bazelor de Date

    8/97

    sisteJTIulde operare sau cu fisierul de parole), poate seta 0 noua parola sipoate stabili tabela spatiu implicita si cea temporara in care utilizatorul valucra. Tot aici se poate expira 0 parola (ceea ce inseamna ca utilizatorului,cand se va conecta prima data, i se va cere sa l~i aleaga 0 noua parola), sa seblocheze sau sa deblocheze un cont.

    In aceasta fereastra, accesand tabul Roles, se pot acorda roluriutilizatorilor (ex. Rolul de DBA).

    erearea fisierului eu parole se po ate executa cu utilitarulORAPWD, care are trei parametrii: FILE, PASSWORD ~iENTRIES, dintre care primii doi sunt obligatorii, iar ultimul esteoptional. Acesti parametrii definesc numele fisierului cu parole,parola pentru utilizatorul SYS si respectiv numarul de utilizatoricare pot executa activitati de administrator (DBA);

    setarea parametrului de initializareREMOTE_LOGIN_PASSWORDFILE, pe una din valorile caresa permita utilizarea fisierului cu parole. Valorile pe care le poatelua acest parametru sunt: NONE, EXCLUSIVE si SHARED, incare:NONE determina ca baza de date Oracle sa functioneze larafisier de parole;EXCLUSIVE determina ca fisierul de parole sa fie folositexclusiv numai de catre 0 singura baza de date;SHARED determina ca fisierul de parole s a fie folosit decatre mai multe baze de date si este folositor atunci cand unsingur administrator administreaza mai multe baze de date.

    Nota: Pentru a avea un grad mare de securitate pentru baza dedate, va trebui ca imediat dupii crearea fisierului cu paroleparametrul de initializare REMOTE_LOGIN__?ASSWORDFILE

    Figural.2 Modificarea parolei unui uiilizator safiesetat pe valoarea EXCLUSIVE.

    : .c~~%[~~t~J/~j~i~l i; l - I-~di~~~ctZ~~~~~=~~'-_U_'----1 : : 1 " " " "" " " . ~o~ < , < b o d < . "" " " , , * .

    I .. ....-iI tL,;_;..' ::S'~ - , ' o . l ' : :~ : . ' . & ' _ . l _ ~ : _ '; - ' : _ . UsersI UsersI Search!

    Ob j ec t Ty pe ;User

    Seec t enobect t ype and opt onay e rr ta r anobect name 10Menne dat o: . lh at i s d s payed i n : f 0 f t es u ts ~ IO tne cr Name

    [h ~

  • 5/14/2018 Administrarea Bazelor de Date

    9/97

    simi/are cu cea din jigura 1.2 unde DBA va introduce datelenoului utilizator.De exemplu:- se deschide Enterprise Manager;- se conecteaza util izatorul SYS cu parola aleasa la instal are caSYSDBA;

    - daca este necesar, se monteaza si se deschide 0 baza de dateexistenta;

    - se creeaza uti lizatorii care se doresc a fi administratori si caresa fie adaugati in f is ierul cu parole;

    - se atribuie unul din privilegiile SYSDBA sau SYSOPERacestui utilizator.

    Utilizatorul este adaugat in fis ierul cu parole si se poate conectaacum ca SYSDBA sau SYSOPER cu acest nume de uti lizator inloc de numele SYS, folosind una din comenzile:CONNECT USERI/paroial AS SYSDBA sauCONNECT USERI/paroial AS SYSOPER

    listarea membri lor f isierului cu parole se face din viziunea$PWFILE _USERS folosind comanda

    SELECT * FROM V$PWFILE USERS intretinerea fisierului cu parole se refera la executareaactivitatilor de extindere, relocare, stergere sau schimbare astarii acestui fisier.

    1.3 ORACLE SERVER - sistem relational-obiectualde administrare a unei BD

    ORACLE SERVER este un sistem relational-obiectual demanagement a BD, care permite 0 abordare deschisa, integrata sicuprinzatoare a managementului informatiilor. EI asigura accesul maimultor utilizatori in mod concurential la acelasi fond de date, oferinddiverse facilitati, printre care mentionam:

    permite managementul datelor organizate in BD;

    16

    lucreaza in mod client/server si permite ca prelucrarile sa fieimpartite intre serverul de baze de date si programele de aplicatieale utilizatorilor, aflate pe statiile conectate la server;

    lucreaza cu BD foarte mari; asigura accesul concurential pentru mai multi ut il izatori ai BD; previne accesul neautorizat la BD; asigura restaurarea BD dupa producerea unei erori; permite lucrul distr ibuit; asigura integritatea datelor; asigura portabilitatea aplicatiilor; permite conectarea mai multor tipuri de calculatoare si SO inaceeasi retea.

    Structura (componentele) Oracle server este urmiitoarea : structura logica, ce contine: tabele spatiu; schema obiectelor BD;blocurile de date; extensiile; segmentele. st ructura fizica;

    SQL si PLlSQL; Instanta ORACLE ce contine: aria globala de memorie (SGA) siprocesele globale de baza,

    Structura logicii a unei baze de date este fermata din tabelele spatiu(tablespaces) , schema obiectelor bazei de date, blocurile de date, extensiilesi segmentele.

    Tabelele spatiu sunt uni tati le logice de memorie in care esteirnpartita 0 baza de date si pot fi tabele spatiu de sistem si tabelespatiu de uti lizator. Din punct de vedere al accesibili tati i, acestepot fi online si offl ine. Tabelele spatiu ale unei baze de date suntstocate pe disc sub forma de fisiere de date specifice SO pe carerezida SGBD.

    Schema obiectelor ED este 0 structura logica memorata ce serefera direct la datele unei baze de date (tabele, vederi, secvente,

    17

  • 5/14/2018 Administrarea Bazelor de Date

    10/97

    proceduri memorate, sinonime, indecsi, clustere si link-uri de bazade date). Obiectele din aceasta schema se pot regasi in mai multetabele spatiu, iar 0 tabela spatiu poate contine obiecte din maimulte scheme.

    Tabelele sunt unitati de baza in memorarea datelor unei BD.Acestea contin randuri ~i coloane. in Oracle avem si tabelepartajate. Vederile (viziunile) sunt proiect ii ale unei tabele sau mai multortabele accesibi le uti lizatorilor. Vederile nu memoreaza date, ciprezinta datele din tabelele pe care s-au creat, numite tabele debazii. La fel ca si cu tabelele, cu vederile se pot efectua operati i.Toate operatiile efectuate asupra vederilor afecteaza tabelele debam. Vederile prezinta urmatoarele avantaje: furnizeaza niveleaditionale de securitate, restrictioneaza accesulla anumite coloanedintr-o tabela sau tabele; ascund complexitatea structurii BD;simplifica accesul la date. 0 vedere poate fi construita printr-unacces complicat la mai multe tabele, iar utilizatorul va opera cuvederea tara a fi nevoit sa emita cereri foarte complicate catre BD;pot memora cereri extrem de complexe. De exemplu, 0 cererepoate efectua calcule extrem de laborioase asupra unei tabele. Prinsalvarea acestei cereri ca pe 0 vedere, calculele respective se vorefectua numai prin simplu apel al aeestei vederi.

    Secventele sunt numere unice de identificare a coloanelor uneitabele si pot fi utilizate la efectuarea diferitelor operatii intr-oaplicatie,Unitiitile de program (Program Units) refera procedurilememo rate, functiile si pachetele. Procedurile si functiile suntsubprograme PL/SQL care executa anumite activitati. Pachetelesunt metode de incapsulare si memorare, a procedurilor ~ifunctiilor corel ate, ca 0unitate in baza de date.

    - Sinonimele sunt alternative (alias-uri) pentru numele tahelelor,secventelor sau unitatilor de program si sunt folosite pentru amasca numele real al obiectului, a furniza un acces public la

    18

    obiect si a simplifica instructiunile SQL. Sinonimele pot fipublice sau private. Sinonimul privat este disponibil numai lanivel unui anumit utilizator.

    - Indecsii $i clusterele sunt structuri optionale asociate cu tabelelepentru a man viteza de acces la date. Clusterele sunt metodeoptionale de memorare a datelor unor tabele. Clusterele grupeazamai multe tabele fizic memorate impreuna pentru ca au maimulte coloane comune sau eel mai des sunt folosite irnpreuna.Coloanele de legatura ale tabelelor intr-un cluster se numesc cheicluster (cluster key).

    Blocurile de date, extensiile si segmentele sunt elemente decontrol eficient al spatiului de pe disc aferent unei baze de date.

    - Blocul de date este unitatea de memorie cea mai micamanipulata de SGBD Oracle, iar marimea acestuia masurata inbaiti (bytes) se defineste la momentul crearii bazei de date.

    - Extensia este fermata din mai multe blocuri de date contigue.- Segmentul este format din mai multe extensii. Segmentele pot fi:segmente de date (pentru memorarea datelor unei tabele);segmente de indecsi; segmente roollback (folosite pentrumemorarea inforrnati ilor necesare pentru recuperarea date lorunei baze de date sau anularea unei tranzactii); segmentetemporare (folosite pentru prelucrarea instructiunilor SQL).

    Structura fizicii este definita de un set de fisiere specif ice sistemuluide operare pe care rezida SGBD Oracle, folosite pentru memorareastructurilor logice ale bazei de date ~i pentru pastrarea unor informatiitehnice de control . Aceste fisiere sunt: fisiere de date (Data fi les), fisiereRedo log (Redo Log files) si f is iere de control (Control f iles).

    Fi$i lrele de date (Data fi les) contin datele unei haze de date, subforma structuri lor logice ale acesteia (tabele, vederi , secvente,proceduri memorate, sinonime, indecsi, clustere si link-uri de bazade date). Fisierele de date au urmatoarele caracteristici: un fisierde date poate apartine unei singure baze de date, pot fi extinse

    19

  • 5/14/2018 Administrarea Bazelor de Date

    11/97

    automat in anumite momente specifice ale funct ionarii bazei dedate, unul sau mai multe fisiere de date pot memora 0 tabelaspatiu.

    Fisierele Redo Log (Redo Log files) sunt folosite pentrumemorarea tuturor schimbarilor de date produse asupra unei bazede date, astfel incat daca se intampla 0 cadere de curent sa seprevina distrugerea datelor bazei de date. Se pot folosi simultanmai multe f is iere de acest fel care s a rezide pe discuri diferite.

    Fisierele de control (Control files) sunt folosite pentru memorareainformatiilor necesare pentru controlul structurii fizice a unei bazede date (numele bazei de date, numele si locatiile f is ierelor de date,data crearii bazei de date etc.).

    Instanta ORACLE este 0 combinatie logica intre structurile dememorie (SGA si PGA) si procesele ORACLE de baza act ive in momentulpornirii unei BD. Structurile de memorie interna sunt folosite pentruexecutarea unor activitati Oracle specifice: memorarea programelor , carevor f i executate, precum si datele ce vor fi utilizate de acestea. Structurile dememorie sunt SGA (System Global Area) si PGA (Program Global Area).

    SGA este 0 regiune partajabila de memorie care contine datele siinformatiile necesare unei instante Oracle si contine:Database Buffer Cache - contine blocurile de date cele mairecent utilizate pentru a reduce utilizarea discului;

    - Redo Log Buffer - contine datele despre blocurile modificate;- Shared Pool - pentru prelucrarea instructiunilor SQL;- Large Pool - optional pentru alocari de memorie in cantitati mari; PGA este zona de memorie care contine datele si informatiile decontrol ale unui proces server.

    Procesul este un mecanism al sistemului de operare care poateexecuta 0 serie de pasi (instructiuni), fiind cunoscut si subnumele de job sau task. Procesul are propria sa zona de memoriein care se executa. Un server Oracle are doua tipuri de procese:procese utilizator si procese Oracle. Procesul utilizator

    20

    (user proces) este ere at si mentinut pentru a executa codul deprogram aferent unui anumit l imbaj (C++) sau un produs Oracle(Oracle tool), SQL*Forms, Sql*Graphics etc. Procesul Oracleeste apelat de catre un alt proces pentru a executa functia cerutade catre acesta. Procesele Oracle pot f i Procese server si Procesebackground:

    _ Procesele server (Server Processes) sunt utilizate de Oraclepentru a prelucra cererile proceselor util izator. Oracle poate ficonfigurat astfel incat s a permita unul sau mai multe proceseutilizator. Din acest punct de vedere, avem servere dedicate careau un singur proces uti lizator si servere multi prelucrare (multi-threaded server configurat ion). Pe anumite sisteme proceseleutilizator si procesele server sunt separate, iar in altele suntcombinate intr-unul singur. Dad folosim sistemul multiprelucrare sau dad procesele utilizator si procesele server se aflape masini diferite , atunci aceste procese trebuie s a fie separate.Sistemul client/server separd procesele utilizator de proceseleserver i le executa pe masini diferite.

    - Procesele background (Background processes) sunt createpentru fiecare instanta Oracle pentru a executa asincron anumitefuncti i. Acestea sunt : Database Writer(DBWR) scrie datelemodificate in baza de date; Log Writer(LGWR) seneinregistrarile redo log pe disc; Checkpoint(CKPT) seneinregistrarile checkpoint la timpul potnvit; SystemMonitor(SMON) executa recuperarea unei instante la momentulpomirii, colecteaza spatiul liber etc. ; Process Monitor(PMON)recupereaza procesele uti lizator dad acestea cad accidental ;Archiver(ARCH) copiaza in mod online fisierele Redo Log infisiere de a r . 4 , i y a atunci cand acestea se umplu cu date.

    21

  • 5/14/2018 Administrarea Bazelor de Date

    12/97

    Exemplu Oracle: Modul de lucru in sistemul client/server1. Pe server ruleaza 0 instanta Oracle, adesea numit gazda sauserver de baza de date (Database server).

    2. Pe un calculator local (local machine sau client workstation)ruleaza 0 aplicatie intr-un proces uti lizator. Aplicatia clientincearca s a ia legatura cu serveru1 prin interrnediul unui Listenercare are rolul de a asocia un proces utilizator cu un proces server;

    SGA

    PGA

    Procese Oracle(Background process)

    SERVER

    6

    Memorieextinsa BD

    3. Severul detecteaza cererea de conectare si creeaza un processerver pentru solutionarea cererii.

    4. Utilizatorul executa 0 instructiune SQL si finalizeaza (cornite)tranzactia, De exemplu, modi fica numele sau 0 coloana intr-unrand al tabelei.

    22

    5. Serverul primeste cererea si verif ica daca 0 astfel de instructiuneSQL 0 mai are deja in buffer. Daca exista 0 executa, daca nu, 0creeaza.

    6. Severul regaseste valori le de date din fisierele de date aferentebazei de date !;>ie memoreaza in SGA.

    7. Procesul server executa modificarea datelor in SGA. ProcesulDBWR scrie datele modificate in baza de date, iar LGWRinregistreaza tranzactia efectuata infisierul Redo log.

    8.. Daca tranzactia s-a terrninat corect, Serverul trimite un mesajaplicatiei, altfel se transmite un mesaj de eroare.

    9. Pe parcursul acestui lant de prelucrari, alte procese Oraclesupravegheaza prelucrarile.

    1.4 Dictionarul de date (Data Dictionary)

    Fiecare baza de date Oracle are un dictionar de date, care este un setde tabele si vederi care sunt folosite in modul read-only pentru a referidatele bazei de date. Dictionarul de date este actualizat automat de catreOracle ori de cate ori intervin actualizari al structurii bazei de date.

    Dictionarul de date consta din tabele de baza si vederi create peaceste tabele pentru uzul utilizatorilor. Tabelele de baza nu sunt accesibiledatorita faptului c a memoreaza datele criptat. Proprietarul dictionarului dedate este utilizatorul SYS. Niciun utilizator nu poate altera obiecte dinschema SYS.

    Dictionarul de date (DD) este accesat in doua scopuri: de catreOracle pentru a prelucra 0 instructiune DDL si de catre orice util izatorOracle pentru a afla informatii despre baza de date.

    Avand invedere importanta dictionarului de date, este bine s a se tinacont de urmatoarele precizari: DD este adus inmemoria SGA; Nu se vor crea niciodata obiecte care sa apartina ut ilizatorului SYS; Nimeni nu va modifica niciodata date din DD. Singura tabela careface exceptie este tabela SYS.AUDIS. Aceasta tabela poate creste

    23

  • 5/14/2018 Administrarea Bazelor de Date

    13/97

    mult in dimensiune. Ca atare, administratorul poate sterge dateleinutile.Vederile DD sunt prefixate cu USER, AlL sau DBA. Vederile

    prefixate cu USER furnizeaza informatii despre obiectele utilizatorilor, celeALL despre toate obiectele din baza de date la care un util izator are acces "iar cele cu DBA dau informatii despre toata 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 a

    nu sunt create sinonime.SELECT owner, object_name, object_type FROM sys.dba_objects;Exista tabele speciale care pot fi accesate numai de catre

    administrator pentru a vedea performantele Oracle. Util izatorul SYS esteproprietarul acestor tabele. Numele lor este prefix at cu V_$, iar sinonimelelor cu V$.

    Categoriile de informatii ce se pot obtine din dictionarul de date: Informatii despre fisierele Online Redo Log; Informatii despre tabelele spatiu; Informatii despre fisierele de date ( Data Files); Informatii despre obiectele bazei de date; Informatii despre segmentele bazei de date; Informatii despre extensi i ale bazei de date; Informatii despre pachetele Oracle cu valoare de dictionar(Dictionary Storage). Informatii despre utilizatorii bazei de date si profilele acesteia; Informati i despre privi legi ile ~iroluri le din baza de date.

    24

    2 CREAREA UNEI RAZE DE DATE2.1 Cerinte anterioare creari t BDPentru a crea 0 baza de date Oracle trebuie sa avem suficienta

    memorie pentru pomirea unei instante Oracle si pentru crearea tuturorobiectelor proiectate ale bazei de date. Daca la momentul instalar ii s-a creatsi 0 baza de date ini tiala, atunci aceasta poate fi dezvol tata astfel incat saeuprinda, in final, toate obiectele bazei de date proiectate. De asemenea,aceastiibaza de date initiala poate f i s tearsa si in locul ei sa se creeze 0 nombaza de date. Daca am folosi t 0 versiune anterioara Oracle, se poate crea 0baza de date noua in intregime, daca nu ne mai intereseaza vechea baza dedate, altfel putem migra aceasta baza de date la noua versiune Oracle.

    2.2 Crearea unei BD OracleCrearea unei baze de date se face in urmatorii pasi: Salvarea camp leta a bazei de date anterior existente pentru ca incaz de esec la crearea noii baze de date, sa putem restaura vecheabaza de date si saputem lucra in continuare;

    Crearea noii bazei de date folosind utilitarul DatabaseConfiguration Assistant (DBCA), prin intermediul careia Oracleexecuta:

    - crearea fisierelor de date (data f iles), fisierelor de control (controlfiles) ~,ia fisierelor de refacere (redo log) ale bazei de date;

    - crearea tabelei spatiu SYSTEM si a segmentului rollbackSYSTEM;

    - crearea dictionarului de date;

    25

    'Dr

  • 5/14/2018 Administrarea Bazelor de Date

    14/97

    crearea utilizatorilor SYS si SYSTEM;specifica setul de caractere care va fi folosit la memorareadatelor in baza de date;

    - monteaza si deschide baza de date pentru ut il izare. Pornirea utilitarul Entreprise Manager si conectarea La Oracle ca

    administrator.2.3 Parametrii de ininalizare a BD2.3.1 Notiuni referitoare Laparametrii de initializareParametrii de initializare a bazei de date furnizeaza valorile necesare

    pentru functionarea acesteia sub 0 anumita instanta Oracle. Acestia sefurnizeaza prin interrnediul unui fisier text, numit fisierul cu parametrii deinitializare. Numele acestui fisier variaza de la un sistern de operare-Ia altul.Administratorul bazei de date poate da orice nume acestui f is ier. Acest fisiereste cit it la momentul pomiri i bazei de date de catre serverul Oracle, de aiciextragandu-se toate datele necesare pentru pomirea si functionarea bazei dedate. Un exernplu de fisier cu pararnetri este fumizat odata cu software-ulOracle. Acest fisier este suficient pentru 0 utilizare initiala. In acest f is ier sepot face diverse modificari, in functie de anumite cerinte specifice, Baza dedate trebuie oprita complet si repornita dupa ce s-au efectuat astfel demodificari.

    In Oracle 109 exista doua tipuri de fisiere cu parametr i: Server Parameter File (SPFile), acesta fi ind un fisier binar careeste modificat numai prin intermediul sisternului de baze de date;acest fisier persista ~i la restartarea bazei de date, fiind scris pehard disk; de obicei, acesta este denumit spfile.ora si este eel maifrecvent folosit;

    Fisierul de initializare text, care este editat manual; acesta senumeste, de obicei, init.ora ~i este ci tit de catre serverul Oracleatunci cand fisierul binar nu este gasit.

    26

    Fisierul de pararnetri SPFILE este un fisier binar ~i nu este indicatarnodificarea lui folosind un editor de text, ci doar prin interrnediulutilitarului Enterprise Manager, deoarece este un fisier binar si riscam sa nurnai putem pomi instanta.

    Multi pararnetri de initializare se folosesc pentru ajustarea sicre~terea performantelor bazei de date, iar altii nu vor fi modificati niciodatasau numai sub directa supraveghere a specialistilor firrnei Oracle.

    2.3.2 LucruL cu parametrii de initializare in OracleSpecificarea pararnetrilor in fisierul de pararnetr i este guvernata de

    unnatoarele reguli~oti parametrii sunt optionalt in fisierul cu parametri se vor introduce numai pararnetri sicomentarii;

    sernnul (#) marcheaza inceputul unui comentariu, restulliniei f iind. ignorata; serverul Oracle are valori implicite pentru fiecare parametru; parametr ii pot fi specificati in orice ordine; caracterele mari sau mici pot fi folosite liber; pentru a introduce mai multi pararnetri pe 0 l inie, acest ia se vorsepara prin spatiu, astfel:

    PROCESSES = 100 SAVEPOINTS = 5 OPEN CURSORS =10 unii pararnetri ca, de exemplu, ROLLBACK_SEGMENTS,accepta valori multiple, acestea putandu-se specifica intreparanteze si separate prin virgula, sau Tara paranteze si virgule,ambele sintaxe fiind valide, astfel:

    ROLLBACK_SEGMENTS = (SEGl, SEG2, SEG3, SEG4, SEG5)ROLLBACK SEGMENTS = SEG 1 SEG2 SEG3 SEG4 SEG5 caracterul (I ) foloseste pentru marcarea intreruperii scrier ii unuipararnetru pe 0 linie si continuarea lui pe linia urmatoare, imediatTaraniciun spatiu in fata, astfel:

    ROLLBACK_SEGMENTS = (SEGl, SEG2,\SEG3, SEG4, SEG5)

    27

  • 5/14/2018 Administrarea Bazelor de Date

    15/97

    cu parametrul IFILE se poate introduce intr-un fisier cu parametrialt fisier cu parametri, astfel:

    IFILE = COMMONl.ORASe pot folosi trei nivele de imbricare. In exemplul de mai sus fisierul

    COMMONl.ORA poate contine un al doilea parametru IFILE pentrufisierul COMMON2.0RA, care, la randul sau, poate contine un al treileaparametru IFILE pentru fisierul COMMON3.0RA. De asemenea, se potutiliza mai multi parametri IFILE in acelasi fisier, astfel:

    IFILE = DBP ARMS. ORAIFILE = GCPARMS.ORAIFILE = LOGPARMS.ORA

    daca un parametru este specificat de "n" on consecutiv, atunci el esteasociat cu cele "n" valori, iar daca cele "n" valori nu sunt consecutive ,atunci sunt folosite ca valori pentru acest parametru ultimele valoriconsecutive.

    Daca valoarea unui parametru contine caractere speciale, atuncicaracterul special trebuie precedat de caracterul de cornutare (\) sau intreagavaloare este inclusa intre caracterele (" ") , ca in exemplul de mai jos:

    DB_DOMAIN =JAPAN.ACME\#.COMsau

    DB DOMAIN ="JAPAN.ACME#.COM"Parametrii de ini tial izare ai unei baze de date sunt impartit i in doua

    categorii dupa frecventa utilizarii acestora: Parametrii de baza, sunt acei parametri care sunt folositi eel maides si, de obicei, setarea acestora are ca rezultat functionarearezonabila a bazei de date;

    Parametrii avansati sunt folositi mal rar, pentru optimizareafunctionarii bazei de date.

    In Oracle10g parametrii se vizualizeaza si se modifica folosindEnterprise Manager. Se deschide un browser si se acceseaza EnterpriseManager. Se urmeaza calea Administration -> Initialization Parameters

    28

    unde se gaseste 0 lis ta cu toti parametrii sistemului (figura 2.1) si valorileacestora.ORACL-~ f:nlerprl~ M

  • 5/14/2018 Administrarea Bazelor de Date

    16/97

    ruleaza, folosind comenzile SQL: ALTER SESSION, ALTER SYSTEMsau ALTER SYSTEM DEFERRED

    Comenzile de mai sus au sintaxa:ALTER SESSION SET nume_parametru = valoareALTER SYSTEM SET nume_parametru =valoareALTER SYSTEM SET nume_parametru = valoare DEFERREDComanda ALTER SESSION schimba valoarea unui parametru

    numai la nivelul sesiunii care a lansat-o, dupa repomirea bazei de date se vautiliza iarasi valoarea din fisierul cu parametri.

    Comanda ALTER SYSTEM modifica valoarea globala aparametrului, la nivelul intregului sis tem, deci pentru toate sesiunile active,dupa repornirea bazei de date se va utiliza iarasi valoarea din fisierul cuparametri.

    Comanda ALTER SYSTEM DEFERRED modifica valoarea globalaa parametrului nu pentru sesiunile act ive, ci pentru sesiunile vi itoare, carevor f i active dupa repomirea bazei de date.

    Afisarea valorilor curente ale parametri lor de init ializareaibazei de date se face cu comanda SHOW PARAMETERS sau prin selectiadin viziunile de sistem V$PARAMETER sau V$PARAMETER2.

    In aceste viziuni, V$PARAMETER si V$PARAMETER2 seregasesc valori le parametrilor care sunt in uz in momentul interogari i. Deasemenea, se mai pot vizualiza parametrii prin exportul fisierului binar deparametri intr-un fisier text, astfel:

    CREATE PFILE nume_fis_txt FROM SPFILE nume_fis_binUtilizand comanda SHOW PARAMETERS, afisarea se face in

    ordinea alfabetica a numelui parametrilor. Pentru a afisa parametrii carecontin un anumit cuvant, de exemplu BLOCK, se va utiliza comanda:SHOW PARAMETERS BLOCK.

    Listarea la imprimanta a parametr ilor afisati, daca se doreste, se facecu comanda SPOOL.

    30

    . .

    2.3.3 Tipuri deparametri de initializareParametrii de initializare se pot grupa in: Parametri derivati (sunt cei ale carer valori se calculeazapomind de la valorile altor parametr i. Normal, valorile acestora nutrebuie modificate);

    Parametri globali preflxati en GC (sunt folositi pe sistemelecare suporta Oracle Parallel Server);

    Parametri dependenti de sistemul de operare (sunt cei ale carervalori sunt dependente de specificul sistemului de operare gazda).

    Exemplu: DB_BLOCK_BUFFERS, care indica numarul ariilor dedate (data buffers) din memoria principala sau DB_BLOCK_SIZEcare indica marimea unui bloc de date;

    Parametri de tip variabila (sunt cei ce pot lua anumite valoricare sa determine performantele sistemului sau anumite limite defunctionare ).

    Exemplu: OPEN_CURSORS, daca i se da valoarea 10, se vor puteadeschide maximum 10 cursoare, deci impune 0 Iimita, iarDB_BLOCK_BUFFERS, prin valorile pe care le va lua,nu vaimpune anumite limite, dar va duce la cresterea sau descrestereaperformantelor sistemului dupa cum valorile vor fi mai mari saumai rrnci.

    Parametri statici (sunt cei ale carer valori nu se pot modi f ica intimpul unei sesiuni sau cu baza de date pornita) ;

    Parametri dinamici (sunt cei ale carer valori se pot modifica asacum s-a aratat mai sus cu comenzi le ALTER SESSION, ALTERSYSTEM sau ALTER SYSTEM DEFERRED);

    Parametri ell valori booleene (pot lua una din valorile TRUEsau FALSE);

    Parametri en valori de tip intreg (pot lua valori numericeintregi);

    Parametri ell valori de tip slr de earaetere (pot lua valori de tipcaracter);

    31

  • 5/14/2018 Administrarea Bazelor de Date

    17/97

    Parametri dlversi (Heterogeneous) sunt cet ale carer valori seseteaza cu pachetul Oracle DBMS_HS.2.3.4 Parametrii utiliuui Lainisializarea unei BDAsa cum s-a prezentat mai sus, compania Oracle furnizeaza un fisier

    initial cu parametrii cu ajutorul caruia putem sa pornim 0 baza de date.Pentru a personal iza baza de date funct ie de cerintele unei anumite fi rmeadministratorul va trebui sa seteze valori noi pentru anumiti pararnetriispecificati mai jos, astfel:

    DB_NAME defineste numele bazei de date. Se formeaza dintr-unsir de maximum opt caractere. Daca nu se furnizeaza 0 valoarepentru acest parametru, Oracle atribuie bazei de date un numestandard. Acesta se gaseste in fisierul cu parametri i furnizat 0data cu software-ul Oracle. In timpul crearii bazei de date numeleacesteia este inregistrat (scris) in fisierele de date, de control si delog.Exemplu: DB_NAME = BAZAI

    DB_DOMAIN este format dintr-un sir de caractere si definestedomeniul din retea cdruia apartine baza de date, de obicei estedefini t de numele firmei (organizat iei) careia apartine baza dedate. Daca se ut ilizeaza numele domeniului din Internet , atuncipartea adresei de e-mail care urmeaza dupa caracterul "@" estefoarte buna pentru a fi folosita ca valoare pentru acest parametru.

    Exemplu: DB_DOMAIN = BUC.ORG.COM GLOBAL _NAMES defineste numele global al bazei de date incadrul retelei de calculatoare ~i este format din numele bazei dedate si numele domeniului separate prin punct. Acest parametrumai poate Iua si valorile:

    TRUE (caz in care se forteaza ca numele global al bazei dedate sa fie ident ic cu eel al bazei de date),

    - FALSE (numele global nu are semnificatie, nu se utilizeaza).Exemplu: GLOBAL_NAMES =FALSE

    32

    CONTROL_FILES defineste numele fisierelor de control cevor fi create pentru baza de date (se va furniza pentru fiecarefis ier calea completa de acces la acesta). Este recomandat ca sa sedefineasca eel put in doua fisiere de control , care sa fie plasate pedoua diseuri diferite.

    Exemplu: CONTROL_FILES =diska:cntrll.ora,diskb:cntrl2.ora LOG_FILES specifica numdrul maxim de grupuri de fisiere delog ce pot fi utilizate pentru 0 baza de date ~i i a valori de la 2 la255, iar valoarea minima trebuie sa fie egala cu MAXLOGFILES* MAXLOGMEMBERS (parametrii apartinand comenzii SQLCREATE DATABASE). Acest parametru specifica totodata ~inumarul minim de fisiere de log ce pot fi deschise pentru 0 bazade date.

    DB_FILE_MVLTffiLOCK_READ_COUNT defineste numarulde blocuri citite simultan pentru scanarea unei tabele a bazei de date.Este folosit pentru optimizarea scanarii totale a unei tabele atuncicand se cauta 0 anumita valoare a unei coloane aferenta unui randdin aceasta. Costul in timp al scanarii totale a unei tabele depindede numarul de blocuri multiple citite (valoarea acestui parametru)pentru a eiti intreaga tabela.

    REMOTE LOGIN PASSWORDFILE specifica daca sefoloseste sau nu fisierul cu parole pentru identificareautilizatorilor ce pot executa activitati de administrator . Poate luavalorile:- NONE nu se foloseste fisierul de parole, iar utilizatorul careva executa activitati de administrare trebuie sa fie autentificatde catre sistemul de operare gazda;

    - EXCLUSIVE se foloseste un singur fisier cu parole pentru 0singura baza de date. Pe langa ut ilizatorii SYS si SYSTEM,si alti utilizatori pot executa sarcini de administrare;

    - SHARED se foloseste un singur fisier cu parole pentru maimulte baze de date, caz in care singurii utilizatori ce potexecuta activi tati de administrare sunt SYS ~i SYSTEM. Inacest caz, nu se pot adauga alti utilizatori in fisierul eu parole.

    33

  • 5/14/2018 Administrarea Bazelor de Date

    18/97

    DB_FILES specifica numarul maxim de fisiere de date ce pot fideschise de catre 0baza de date. De fiecare data cand se modif iesacest parametru baza de date se opreste si apoi se reporneste.

    LOG CHECKPOINT INTERVAL specifica frecventapunctelor de control (checkpoites), in sensul numarului de blocuride log scrise in fisierele de log intre doua puncte de control.

    LOG_CHECKPOINT_TIMEOUT specifica timpul maximdintre doua puncte de control si valoarea se da in secunde.

    PROCESSES specifica numarul maxim de procese concurentecare se pot conecta simultan la baza de date, iar acest numartrebuie sa fie mai mare dedit numarul total de procesebackground, Job Queue si Parallel Query.

    ROLLBACK_SEGMENTS defineste toate segmentele rollbackpe care 0 instanta le poate utiliza la momentul pomirii. Valoareaacestui parametru se fumizeaza sub forma unei liste de valori.

    Exemplu: ROLLBACK_SEGMENTS = (rbsegl, rbseg2,rbseg3, rbseg4). LICENSE MAX USERS specifica numarul maxim deutilizatori ce pot fi creati pentru 0 baza de date. ParametriiLICENSE MAX SESSIONS ~iLICENSE SESSIONS WARNING nu se mal utilizeaza inOracle 109.

    TRANSACTIONS PER ROLLBACK SEGMENT specificanumarul tranzactiilor concurente permise pe un segment rollback.

    AUDIT_TRAIL activeaza sau dezactiveaza scrierea informatiilorin fisierul de audit. Inregistrarile de audit nu se scriu dacaparametrul are valoarea NONE sau lipseste.

    in zona de memorie SGA (System Global Area) avem urmatoarelestructuri de memorie: Database buffer cache. Redo log buffer . Shared pool,Streams pool. Large pool si Java pool. Database Buffer Cache esteportiunea din SGA ce contine blocurile de date citite din fisierele de date alebazei de date. Redo log buffer este zona in care se pastreaza informati i

    34

    despre modificarile efectuate in baza de date. Shared pool este 0 zona carecontine, la randul sau, trei structuri de memorie: library cache. dictionarycache si control structures. Dict ionarul de date al bazei de date este ci ti t inzonele library cache ~i dictionary cache.Marimea SGA este influentata de valorile pe care Ie iau parametrii urmatori:

    DB_BLOCK _SIZE defineste, in octeti, marimea unui singurbloc de date. Valorile tipice pentru acest parametru sunt 2048 si4096;

    DB_BLOCK _BUFFERS specifica numdrul de bufJere ale bazeide date disponibile in zona database bufJer cache. a carei marimeeste egala cu DB BLOCK SIZE * DB BLOCK BUFFERS'- - - - ,

    LOG_BUFFER determina marimea in octeti a zonei redo logbuffer;

    SHARED POOL SIZE specifica marimea in octeti a anetShared pool. Acest parametru poate accept a valori numericeurmate de literele "K" sau "M", unde "K" inseamna ca numarulva fi multiplicat cu 1000, iar "M"" inseamna ca numarul va fimultiplicat cu 1000000.

    OPEN_CURSORS specifica numarul maxim de cursoare pecare 0 sesiune le poate deschide simultan. Valoarea asumata estede 50. Este bine ca acest numar sa fie cat mai mare pentru a nuavea probleme cu rularea unei aplicatii.

    TRANSACTIONS specifica numarul maxim de tranzactiiconcurente. 0 valoare mare a acestui parametru determinamarirea zonei de memorie SGA.

    2.4 Exemplu de creare a unei BD

    Este pre~CY)1tat,n continuare, un exemplu de creare a unei baze dedate cu ajutorul Database Configuration Assistant (DBCA). UtilitarulnBCA permite sa se creeze si sa se stearga 0bam de date, sa se configurezeo baza de date existenta si sa se lucreze cu sabloane (template).

    35

  • 5/14/2018 Administrarea Bazelor de Date

    19/97

    Se porneste DBCA si se bifeaza optiunea Create a Database(figura 2.2), apoi se apasa butonul pentru continuare.

    ~: Datebese Configuration Assi stant. Step 1 of 12 : Operat ions r ; ]r~JXISe le c t t he ops ra lJ on ! hat yo u 'IWj to perform:

    Create 8Databaser Co r rt ig u re Da tabase Op ti ons( " O a la te a Da ta b as et:M;mage TempJates

    lnapolFigura 2.2 Optiunile principale ale instrumentului Database Configuration Assistant

    (DBCA)

    Se va deschide 0 noua fereastra in care se selecteaza tipul de baza dedate care se doreste a fi creata (figura 2.3). Data Warehouse optimizeazanoua baza de date pentru ci tiri frecvente de date. General Purpose creaza 0baza de date de uz general, iar Transaction Processing optimizeaza nouabaza de date pentru tranzactii frecvente. Se va alege General Purpose, apoise apasa din nou butonul Continuare.

    36

    -t J : Database Configuratio n Assistant. Step 1 . of 12 : Database Templates r : - [ Q ) l R ]Sel ec l a t st np la te f rOm the (o liOWing 1 IS1o create 8'database:

    Figura 2.3 Alegerea tipului bazei de date

    Urmeaza 0 fereastra in care se cere sa fie introdus numele noi i bazede date. Parametrul DB_NAME va lua aceasta valoare. Urmeaza caadministratorul bazei de date sa introduca parola pentru utilizatorii SYS ~iSYSTEM (figura 2.4). Aici exista posibilitatea de a introduce si parolediferite pentru aceste conturi.

    37

  • 5/14/2018 Administrarea Bazelor de Date

    20/97

    r: Database Co n f ig u rd t iD n A s s is ta n t. Step 5 of 1') : OalllbdSCCrcdentiets 1 - 1 f 6 " 1 1 ~Forae-CUrftylNsons, ~U mU$!sjlecitlHsSWords fOl1hefOlfowl~ u$fr(Qunts' ln 1 1 1 8 new dal;I~.

    RenLlntare

    Figura 2.4 Furnizarea deparole pentru conturile principale de administrare

    Se alege apoi modul de stocare al datelor . Optiunea File system estefolosita pentru a stoca datele in fisiere, La final se creeaza baza de date si vafi afisata pe ecran adresa la care se va putea administra cu ajutorulEnterprise Manager.

    2.5 Cerinte posterioare crearii BDDupa crearea unei baze de date, instanta Oracle poate fi lasata s a

    ruleze, iar baza de date este deschisa si montara pentru ut il izare normala,Pentru opririle si pomirile ulterioare se poate utiliza utilitarul OracleEnterprice Manager.

    38

    Daca se doreste instalarea altor produse Oracle care sa ruleze eu bazade date cream, trebuie sa se foloseasca obligatoriu instructiunile de instalarea acestor produse.

    Baza de date nou creata are doar doi utilizatori valizi SYS siSYSTEM cu parolele specificate la instalare (vezi figura 2.3). De asemenea,se vor defini noi util izatori pentru baza de date din Enterprise Manager,aecesand link-ul Administration-> Users.

    2.6 Pornirea Instanter bazei de date2.6.1 Proceduri de pornireo baza de date si instanta Oracle se pot pomi eu utilitarul Oracle

    Enterprise Manager sau SQL Plus folosind fereastra de dialog Star tupDatabase. Inainte de pomirea unei baze de date trebuie executate catevaactivitati: se porneste utilitarul Oracle Enterprice Manager si utilizatorul seconecteaza ca administrator;o instantd si 0 baza de date asociata se pot pomi in urmatoarele moduri: pomirea instantei fora montarea bazei de date se face atunci cand sedoreste sa se creeze 0 baza de date. Activitatea se executa dinfereastra de dialog Startup Database prin apasarea butonuluiAdvanced Options si alegerea optiunii Start the Database (figura2.5).

    39

  • 5/14/2018 Administrarea Bazelor de Date

    21/97

    OP.I.Ir.CL t:.Jt~rpri&elIIal1l!l~e-r0yl)4f,itl~WJumfrl)t

    Startup/Shutd0'lmAdvanced Startup Options . .c. ;;;;.~I). .2 !0Startup mod~; Start the dalabas t"oMou n t the Ca l ab a s e< ) OpM I he dat~Sd:Intialization Patameter(DUs t " d e f a u lt in ta zaton parameter().Speclfy p a. a~ ~. f tl e (pfile) on 1M datab~se $~MI mac tnoe

    otner Startup Optionso Reetnct access 10databaseIntvsrc ted mode, database wilt O f< ly b em a b e 1 0 admr uS f. " "" p e. so nn e T h s m o~ '" I yp c a y u se d t o p er fo rm e xp er t. I mp or t o . l oa d of dat abas e daa and

    durng cenam mgraton and upgrade operatonso Force d tab~se $artufJForce s ta rt up s hu ts dawn Ih8 det abaee wth abo rt mode b ro re re- sl ar t ng It Use ttae c p no no n l y Jf y ou expeneoce a p rob tm wth i a rt up

    Figura 2.5 Pornirea instantei bazei de date din Oracle Enterprise Manager

    pomirea instantei si montarea bazei de date, aceasta ramanandinchisa, se executa atunci cand se doreste sa se execute anumiteactivitati de intretinere, astfel:redenumirea fisierelor de date;

    adaugarea, stergerea sau redenumirea fisierelor redo log;recuperarea integrala a bazei de date.

    Aceasta pomire se executa din fereastra de dialog Startup Databaseprin selectarea optiunii Mount the Database (figura 2.5). pomire instantei, montarea bazei de date si deschiderea acesteia inmod nerestrictionat sau normal (accesibila tuturor utilizatorilor careau atribuit privilegiul CREATE SESSION) sau restrictionat(accesibila doar utilizatorilor de tip DBA, utilizatori cu privilegiileCREATE SESSION si RESTRICTED SESSION). In modul depomire restrictionat se pot executa activitati ca:

    recrearea indecsilor;exportul sau importul datelor bazei de date;incarcarea datelor cu utilitarul SQL *Loader;

    40

    - blocarea temporara a accesului ut il izatori lor obisnuit i la bazade date.

    Pomirea in mod nerestrictionat se face prin selectarea optiunii Openthe Database sau, in mod implicit, daca nu intram la Advanced StartupOptions.

    2.6.2 Proceduri de pornire speciale ale BD # instantei OracleIn anumite circumstante este posibil ca activitatile de pornire a bazei

    de date si instantei Oracle sa se execute altfel decat in mod uzual. Astfelputem avea:

    pomirea fortat ii a unei instante, care se poate real iza atunci candinstanta curenta nu poate fi oprita cu succes prin folosireabutoanelor radio Normal sau Immediate din fereastra de dialogStartup Database sau a optiunilor NORMAL sau IMMEDIATEale comenzii SHUTDOWN. In acest caz, se poate forta pornireaunei noi instante Oracle, care va determina oprirea instanteianterioare aflata in situatia de mai sus. Acest mod de pornire sepoate utiliza si atunci cand un administrator executa anumiteexperiente de pornire.

    pomirea unei instante, montarea bazei de date si pomireaprocesului de recuperare a bazei de date, a tabelelor spatiu sau afisierelor de date, care se executa atunci cand stim ca mediulbazei de date are nevoie de recuperare. Se executa cu comandaSTARTUP in care se introduce si optiunea RECOVER.

    pornirea in modul exc/usiv sau paralel, care se face atunci candavem un server Oracle care permite accesul mai multor instante laaceeasi baza de date.

    ponH~ automata a bazei de date la momentul pomiriisistemului de operare se face numai daca dorim acest lucru. Deobicei, acest mod de pornire este implicit si se poate dezactiva dinControl Panel - > Administrat ive Tools - > Services, pentru

    41

  • 5/14/2018 Administrarea Bazelor de Date

    22/97

    serviciile OracleService[nwne _instanta), OracleDBConsole iTNSListener setam modul de pomire manual.

    pornirea unei instante si a unei baze de date fa distanta se faceatunci cand serverul Oracle este 0 parte a unui sistem de baze dedate distribuite.

    2.7 Proceduri de oprire a BDPentru a opri 0 baza de date, administratorul va apasa butonul

    Shutdown in Enterprise Manager. Pentru a opri baza de date se cer si datelede autentficare ale utilizatorului sistemului de operare.

    Oprirea unei baze de date se poate face in doua moduri:1. modul normal, in care oprirea bazei de date se face ca revers aloperat iei de pornire normala, sens in care se executa inchidereabazei de date, demontarea bazei de date si oprirea instantei Oracle.Activitatea se executa din fereastra de dialog Shutdown Databaseprin selectarea ..butonului radio Normal, sau cu comandaSHUTDOWN cu optiune NORMAL. Oprirea unei baze de datein conditii normale presupune executarea de catre Oracle aurmatoarelor activitati:

    oprirea conectarilor la baza de date;asteptarea pana cand toti utilizatorii se deconecteaza;la urmatoarea pornire a bazei de date nu se pomescprocedurile de recuperare.

    Exemplu:SHUTDOWN NORMAL2. modul anormal se poate executa in trei feluri, astfel:A. oprirea imediatii a bazei de date, care se executa atunci candstim ca se va opri curentul in perioada imediat urmatoare sau cand 0aplicatie functioneaza anonnal. I n cadrul acestei opriri , Oracleexecuta:

    instructiunea SQL aflata inlucru este terminata imediat;

    42

    orice tranzactie nefinalizata (necomisa) este anulata prinprocesul de rollback. Daca avem tranzactii mari nefinalizateoprirea nu se face chiar imediat, pentru ca se asteapta panacand procesul de anulare a tranzactiei se finalizeaza;toti utilizatorii conectati sunt deconectati imediat.Oprirea se face din fereastra de dialog

    Startup/Shutdown.Advanced Shutdown Options (figura 2.6) alegandoptiunea Immediate.

    ORACLE' Enterprise Manager 10g i E , S ' h , [ ' i E " ' 0 f " : ; : t Dataoase Control

    Q.alilOase!nstan~8. ortl > StartuplShutdown:Advanced Shutdown Optionstartup/Shutdown:Advanced Shutdown optionsSpecify the shutdown modeONormal Browse Sessions

    / 1 : : , Wait forall currently connected users to disconnect from the databaseOTransaclionalDisconnect all connected users aftertransactions have completed01mmediateRollback activetransactions anddisconnect allconnected usersoAbortInstantaneous shutdown by aborting the database instance

    Loggedin As SYS

    Database I fuillm I Preferences I t : l l i l i ! I LOlliJ';!Copyrqt @ 1996, 200S, Oracle. AI rights reserved.About Ofacie: Ent tr pr is :! ~ .I n.Jg lr 10g O ...bb,01$e Con trQI

    Figura 2.6Madur i de opri re a unei haze de date

    B. oprirea tranzactionalii, care se executa atunci cand avemplanificata .ooprire a instantei Oracle, dar cu afectarea cat mai putin;"';"""'''f'a cl ientilor conectati la baza de date. Dupa lansarea acestui mod deoprire Oracle executa urmatoarele activitati:

    nici un client nu se mai poate conecta la baza de date;nici un client nu mai poate initia tranzactii;

    43

  • 5/14/2018 Administrarea Bazelor de Date

    23/97

    se asteapta tenninarea normals sau anormala a tuturortranzactiilor aflate in derulare;

    - dupa tenninarea tranzactiilor utilizatorilor acestia suntdeconectati;

    Dupa executarea acestor act ivitat i oprirea se face la fel ca si oprireaimediata, doar ca se alege optiunea Transactional.

    C. anularea instantei, care se executa in situatiile:- baza de date sau una din aplicati ile sale functioneaza anormalsi niciuna din metodele de oprire anterioare nu functioneaza;

    - trebuie sa oprim baza de date pentru ca urmeaza ca, in ditevaminute, curentul sa se opreasca;

    - administratorul experimenteaza anumite tehnici de oprire abazei de date.

    Aceasta oprire se executa alegand optiunea Abort (figura 2.6). Intimpul acestei opriri Oracle executa:- tenninarea imediata a instructiuni i SQL aflate in lucru;- tranzactiile nefinalizate nu mai sunt aduse la starea anterioaramomentului inceperii acestora (nu mai sunt anulate prinprocesul de rollback), iar tot i ut il izatori i sunt deconectat iimediat.

    44

    CONFIGURAREA SERVERULUIORACLE

    3.1 Managementul fisierelor de refacere (online Redo Log)

    3.1.1 Proiectarea fisierelor de refacere (online Redo Log)

    Orice baza de date Oracle are asociat un online redo log, care este unset de doua sau mai multe fisiere dejumalizare ( log) care inregistreaza toateschimbarile efectuate in baza de date. Sistemul online redo log servestepentru protejarea bazei de date in caz ca se produce 0 cadere accidental a ainstantei Oracle. Fisierele online redo log sunt folosite in mod ciclic. Deexernplu, daca avern doua fisiere de log atunci se foloseste primul, dupacare se foloseste al doilea, cand se umple al doilea se foloseste din nouprimul s.a.m.d. La momentul umplerii unui fisier de log i se atribuie unnumar (0 secventa), numit numdr sau secventd de log, pentru a putea fiidentificat.

    Pentru a mari gradul de securitate al unei baze de date este necesar sase foloseasca mai multe grupuri de fisiere de log. In acest caz, fiecare gruptrebuie sa contina acelasi numar de membrii (fisiere de log) si de aceeasidimensiune. Fisierele de log ale aceluiasi grup trebuie sa fie situate pediscuri difer ite pentru a reduce riscul pierderii informatiilor de log. In cazulin care avern mai multe grupuri de fisiere de log, acestea se actual izeazasimultan, in sensul ca, daca se scriu informatii in primul fisier al primuluigrup, atunci aceleasi informati i se scriu si in primele fisiere ale celorlaltegrupuri. Ca atare-seate grupuri le vor cont ine aceleasi date de log. Daca selucreaza cu baze de date in modul arhivare afisierelor de log, atunci fisierularhiva trebuie sa fie plasat pe un disc diferi t de cele pe care se afla fisierelede log. De asemenea, pentru a reduce concurenta la scriere intre procesele

    45

  • 5/14/2018 Administrarea Bazelor de Date

    24/97

    background LGWR si ARCH, este necesar ca fisierele de date ale bazei dedate sa fie plasate pe discuri diferi te de cele pe care se afla fisierele de log.Este recomandat ca 0 baza de date Oracle sa fie creata cu doua grupuri defisiere de log.Exemplu:

    CREATE DATABASE bazalLOGFILE GROUP 1 (,diskb:log1.log', 'diskc:log1.log,) SIZE

    50K,GROUP 2 (tdiskd:log2. log', 'diske:log2.log,) SIZE

    50KMAXLOGFILES 5MAXLOGHISTORY 100MAXDATAFILES 10ARCHIVELOGCHARA CTER SET US7ASCIIDATAFILE 'diskf; :datfile1.dat'SIZE 2M;

    Ca unnare a faptului ca se Iucreaza in modul arhivare a fisierelor delog, acestea se vor pIasa pe disc la anumite adrese prin setarea valoriiparametrilor de initializare LOG ARCHIVE DEST 1 siLOG_ARCHIVE_DEST_2, care indica locat ia unde vom regasi arhivele.Daca dorim, putem introduce si mai multe locatii folosind parametriisupl imentari, pana la LOG_ARCHIVE_DEST_10. Numele fisierelor dearhiva se definesc ca valoare a parametrului de initializareLOG ARCHIVE FORMAT._

    Alegerea numarului eel mai potrivit de fisiere de log se face printestari succesive. Numarul optim de fisiere de log este acela care nu face caprocesul LGWR sa astepte terminarea unor operat ii pentru ca sa poata scrieinformatii in fisierele de log. Astfel, daca din examinarea fisierelor LGWRtrace si ALERT rezulta ca procesul LGWR asteapta frecvent sa scrie intr-ungrup pentru ca acesta nu a fost arhivat sau activitatea de checkpoint nu s-atenninat atunci va trebui sa adaugam un alt grup de fisiere log.

    Numarul fisierelor de log este controlat cu parametriiMAXLOGFILES (defineste numarul maxim de grupuri de fisiere de log pe

    46

    care le poate avea 0 baza de date) si MAXLOGMEMBERS (definestenumarul maxim de fisiere pe care le poate avea un grup) ai comenzii SQLCREATE DATABASE si cu parametru de initializare LOG_FILES(define~te numarul maxim de fisiere de log pe care le poa te avea 0 baza dedate). Stabilirea valorilor pentru acesti parametrii trebuie bine calculata cacio data definiti se pot schimba mai greu. Astfel, MAXLOGFILES siMAXLOGMEMBERS se poate schimba doar prin recrearea bazei de date.Parametrul LOG_FILES nu poate suprascrie valoarea parametruluiMAXLOGFILES.

    3.1.2 Crearea grupurilor defisiere online Redo Logsi a membrilor acestor grupuri

    Crearea grupurilor de fisiere online Redo Log si a membrilor acestorgrupuri se poate realiza fie la momentul crearii bazei de date, fie ul terior.Daca act ivitati le se executa ulterior numarul grupurilor si al membriloracestor grupuri nu pot depasi valorile parametrilor MAXLOGFILES siMAXLOGMEMBERS.

    A. La crearea bazei de dateAtunci cand se creeaza 0 baza de date folosind DBCA, se alege

    optiunea Custom si in ecranele ulterioare se gasesc si optiunile deconfigurare a logurilor. Aici se pot adauga noi grupuri Redo Log si fisiereRedo Log, specificand si calea unde acestea sa se gaseasca (figura 3.1). Inaceeasi fereastra se poate crea un nou Redo Log Group apasand butonulCreate. Se alege un nume si 0 cale unde sa fie plasate f is ierele noului grup sila apasarea butonului se va crea efectiv grupul care va contine in modimplicit un fisier.

    47

  • 5/14/2018 Administrarea Bazelor de Date

    25/97

    !i7Llskmlge~COrllrolfire'-::TlIbIOSPZltll$~Dataflleee - o R a do L og G rOU pS~

    Figura 3. I Setarea fn DBCA af is ierelor de log

    B. Folosind SQLPLUSCrearea grupurilor defisiere online Redo Log se face cu comandaSQLALTER DATABASE fo1osind parametru1 ADD LOGFILE.

    Exemp1e:ALTER DATABASEADD LOGFILE (,LOGlD', 'LOG2D,) SlZE 5000K;sauALTER DATABASEADD LOGFILE group 8 ('LOG3D', 'LOG4D,) SIZE 5000K;In a1 doi1ea exemp1u s-a specificat si numarul grupu1ui (8), numar

    care permite executarea unor activi tati de administrru:e mai usor. Acestnumar nu poate fi mai mare dedit valoarea parametrului M_AXL?

  • 5/14/2018 Administrarea Bazelor de Date

    26/97

    ORACl..Er Enterprise Manager 10(1tf.~~~fl)alab R e do L og G ro up s > C re at e R e do L og G ro upCr~~~e Redo L_o9C?roup L og ge d in A s S YS

    (ShowSQl) ( Cancel) @Re.cJ~.LoQ.Members ...

    c_~.J!.~d_~:I_O~o 'fisier2 'E:\oRAClB.PRODUCT\10.2.0\0RADATA\oRCL\:E\oRAClB.PRODUCT\10.2.o\ORADATA\oRCl\

    Database I . s . r u m I Preferences I . l l i i l i ! I ] . Q g Q _ y . tC o ! ! Y r 9 1 t iii1996, 2005. Or__ AI ri It ts r~.Ah9ut OrU-t! Ent~rtHfst a-tanp,ur 1Qg PU',! ,Ise Conro

    Figura 3.3 Crearea unui nou Redo Log Group

    3.1.3 Redenumirea # relocarea fisierelor de logRedenumirea unui fisier de log se face atunci cand trebuie sa-l

    realocam. Aceasta operat ic este necesara atunci cand din anumite motivetehnice discul pe care se afla un fisier de log trebuie inlocuit sau candfisierele de date si cele de log se afla pe acelasi disc ~i t rebuie sa Ie separam.Activitatea se poate executa cu Enterprise Manager sau cu comanda SQLALTER DATABASE folosind parametrul RENAME FILE si obligatoriu sevor parcurge etapele urmatoare:1. inchiderea bazei de date - SHUTDOWN2. copierea fisierelor redo log inlocatia nouaexemplul urmator foloseste 0 comanda de sistem UNIX pentru a mutamembrul redo log intr-o Iocatie nom:mv /diska/logs/log1a.rdo /diskc/logs/log1c.rdomv /diska/logs/log2a.rdo /diskc/logs/log2c.rdo

    50

    3. pornirea bazei de date, montarea, tara a se deschideCONNECT / as SYSDBASTARTUP MOUNT

    4. redenumirea membrilor redo logoALTER DATABASERENAME FILE' /diskallogos/log1a.rdo', ' /diska/logs/log2a.rdo'

    TO ' /diskc/logos/log1 c.rdo', ' /diskc/logs/log2c.rdo'5. deschiderea bazei de date pentru operatii nonnale - ALTERDATABASE OPEN;

    3.1.4 $tergerea grupurilor de fis iere de log sau afisierelorcare compun aceste grupuri

    In unele situatii este posibil sa dorim s a stergem anumite grupuri defisiere de log sau anumiti membrii din grupurile de fisiere, Inainte de asterge un grup de fisiere trebuie sa avem in vedere anumite restrictiiobligatorii, astfel:

    0 instanta Oracle are nevoie obligatoriu de eel putin doua grupuride fisiere de log;

    un grup poate fi sters numai daca nu este activ; trebuie datele fisierele de log din grupul ce va fi sters sa fie intfiiarhivate.

    Stergerea unui grup se face cu Enterprise Manager sau cu comanda SQLALTER DATABASE folosind parametrul DROP LOGFILE.

    Exemplu:ALTER DATABASE DROP LOGFILE GROUP 3;inainte de a sterge un f isier din cadrul unui grup de fisiere de log

    trebuie sa avem in vedere anumite restrictii obligatorii, astfel:'-~C;~ii$; este posibil ca, prin stergerea unui fisier, grupurile de fisiere de

    log sa devina asimetrice, adica sa nu mai aiba acelasi numar demembri, sens in care situatia trebuie imediat remediata prininlocuirea fisierului sters cu un alt fisier de log;

    51

  • 5/14/2018 Administrarea Bazelor de Date

    27/97

    0 instanta Oracle trebuie sa aiba obligatoriu cel putin doua grupuride fisiere de log, indiferent de numarul membrilor acestora:,

    se poate sterge un fisier numai dintr-un grup inactiv; fisierul ce va fi sters t rebuie intai arhivat.

    Stergerea unui fisier se face in SQLPLUS cu comanda ALTER DATABASEfolosind parametrul DROP LOGFILE MEMBER.

    Exemplu:ALTER DATABASE DROP LOGFILE MEMBER 'LOG3C';

    Nota: Un grup de f isiere sau un f isier sters ca mai sus este sters doar dinfisierul de control al bazei de date, nu si efect iv de pe disc. Aceasta stergerese va realiza ulterior prin comenzile specifice sistemului de operare.

    In Enterprise Manager selectam grupul care se doreste a fi sters dinlista de grupuri (figura 3.2) ~iapasam butonul Delete. Daca grupul respectiveste activ, nu poate fi sters si va trebui mai intai sa fie dezactivat. Pentruaceasta se va selecta grupul, iar din lista alaturata sa va selecta optiuneaForce Checkpoint si vom apasa butonul Go. Astfel se va realiza uncheckpoint si se va trece la alt grup.

    3.1.5 Punctele de control (chekpoints) si comutarea scrieriidintr-un fisier de log in alt f isier de log (Log Switches)

    Un punct de control (chekpoint) este evenimentul in timpul caruiaprocesul background Database Writer (DBWR) scrie modificarile efectuateasupra unei baze de date dinbufferele SGA in fisierele de date ale bazei dedate, deci modificar ile se efectueaza asupra bazei de date.

    Un Log Switch este evenimentul in timpul caruia procesulbackground Database Writer (DBWR) opreste scrierea datelor intr-un fisierde log ~iporneste aceasta scriere inalt f is ier de log.

    Cele doua evenimente sunt logic legate unul de al tul in sensul c a lamomentul petrecerii unui eveniment de tip Log Switch instanta Oracle

    52

    automat executa ~iun punct de control, iar un eveniment de t ip Log Switchseproduce automat atunci cand un fisier de log se umple.

    Gestionarea punctelor de control se realizeaza prin setarea valorilorparametrilor LOG_CHECKPO INT_ INTER VAL siLOG_CHECKPOINT_TIMEOUT, care semnifidijrecventa de producere aevenimentelor de tip chekpoint intre doua evenimente de control produsenormal (la momentele Log Switch), si respectiv timpul maxim, care poate s atreaca de la producerea unui eveniment chekpoint pana la un nou evenimentde control. Frecventa este determinata de numarul blocurilor de date(blocuri de date controlate de catre sistemul de operare ~inu blocuri de dateOracle) ce pot f i scrise intre doua eveniment de control.

    A foria producerea unui eveniment Log Switch insemna a trans formaun grup de fisiere de log din active in inactive, operatie care se poateexecuta eu Enterprise Manager sau cu comanda SQL ALTER SYSTEM euoptiunea SWITCH LOGFILE.

    Exemplu:ALTER SYSTEM SWITCH LOGFILE;A forta producerea unui eveniment Checkpoint insemna a produce

    mai devreme un astfel de eveniment fara a astepta producerea unuieveniment Log Switch. Procesul DBWR continua sa scrie in acelasi f is ier decontrol pana se produce un eveniment Log Switch. Producerea unuiCheckpoint mai devreme se poate executa cu comanda SQL ALTERSYSTEM cu optiunea CHECKPOINT.

    Exemplu:ALTER SYSTEM CHECKPOINT;In Enterprise Manager pentru a forta un checkpoint urmam link-urile

    Administration> Redo Log Groups (figura 3.2), se va selecta grupul carevrem sa il dezactivam, iar din lista alaturata sa va selecta optiunea ForceCheckpoint ~i vom apasa butonul Go. Astfel se va realiza un checkpoint ~iseva trece automatla alt grup.

    ,,~/;,~

    53

  • 5/14/2018 Administrarea Bazelor de Date

    28/97

    3.1. 6 Listarea informatiilor despre grupurile defisiere de logViziunile de sistem V$LOG, V$LOGFILE si V$THREAD contin

    informatii despre fisierele de log. Viziunea V$THREAD se foloseste laadministrarea Oracle Parallel Server. Star ile unui grup de fisiere de log potfi:

    -Blank - grup activ in uz;-INVALID - grup ce nu poate fi accesat de catre instanta Oracle;-STALE - grup suspectat de instanta Oracle ca nu este complet saucorect;-INACTIVE - grup inaetiv, stare ee se produce dupa fortarea unuieveniment Log Switch.Exemplul 1: Listarea informatiilor despre grupurile defisiere de log

    sepoate face cu comanda:SELECT FROM VSLCG;

    ARC STATUS FI RST_CH1..NGE~ FIRST_TIM

    1234

    1 1 06 05 1 048 ~761 1 0606 1 048 5761 10603 104e~761 1 06 04 1 04 8; ' 76

    1 YES ACTIVE1 ID CURPBNT1 YES INACTIVE1 YES INACTI\ 'E

    1 1 51 5 62 8 1 6- AP R -O O1 15 17 59 5 1 - k> 1H )O1 15 11 66 6 1 6- !! .P R -O O1 15 13 6 47 1 6- AP F. - OO

    Aceasta va avea ca efect vizualizarea listei eu grupurile de log care levedeam in Enterprise manager (figura 3.2).Exemplul 2: Pentru a vedea numele tuturor membrilor grupului utilizdmcomanda:

    SEL Er 2T F RO M V$ LO GF lL EiG ROUPt STA TUS:M EM BE R

    123"

    D ; \ O RA N l ' \ OR AD AT A \ I DD B. 2\ P. .E OO 0 4 L O GD : \O RA N l'\O RA D AT A\I DD B2 \R EO O0 3 . LO GD : \ O R1 tN l' \ OR A DA T A \ I DD B2 \R EO O 0 2 LO GD : \ O RA N l' \ O RA DA T A \ I DD B2 \, RE OO 0 1 L OG

    54

    3.2 Managementul t~ierelor de control3.2.1 Informatii generaie despre fisierele de controlFiecare baza de date Oracle trebuie sa aiba eel put in doua fisiere de

    control, care trebuie sa fie plasate pe discuri difer ite. In fisierul de control seinregistreazii informatii despre:

    numele bazei de date si data crearii acesteia; numele si locatii le fisierelor de log ale bazei de date; numarul secventei de log eurente; evenimentele de control.Numele fisierelor de control se furnizeaza instantei Oracle prin

    intennediul parametrului de initializare CONTROL_FILES. Indiferent denumarul fisierelor de control, totdeauna primul f is ier listat in parametrul deinitializare CONTROL_FILES este singurul eitit de catre serverul Oracle,restul f is ierelor f iind copii ale acestuia, actualizate online de catre serverulOracle. Daca un fisier de control devine inutilizabil, atunci instanta Oracledevine la randul sau inoperabila. Din aceasta cauza securitatea fisierelor decontrol este esentiala.

    Marimea fisierelor de control este controlata (determinata) devalorile parametrilor MAXDATAFILES, MAXLOGFILES,MAXLOGMEMBERS, MAXLOGHISTORY si MAXINSTANCES alecomenzii SQL CREATE DATABASE.

    Crearea initiald a fisierelor de control se face la momentul creari ibazei de date. Un fisier de control nou se poate adauga bazei de date princopierea fisierului de control existent la 0 noua locatie si inserarea acestuiain lista fisierelor de control din parametrul de initializareCONTROL_FILES. Redenumirea unui fisier de control se face princopierea lui sub un alt nume si la 0 alta locatie, dupa care noul nume se vaintroduce in l~ierelor de control, iar vechiul fisier de control va fi seosdin aceasta lista. Distrugerea fisierelor de control se face prin scoatereacestora din lista acestora. Activitatile de mai sus se executa cu baza de dateopritd.

    55

  • 5/14/2018 Administrarea Bazelor de Date

    29/97

    3.2.2 Crearea unui nou fisier de controlCrearea unui nou fisier de control se poate realiza in anumite

    circumstante determinate de: pierderea definitiva a fisierelor de control ~l inexistenta UhQrcopii ale acestora;

    dorinta de a schimba anumite valori setate in parametrii comenzi iCREATE DATABASE, inclusiv numele bazei, precum si valorileparametrilor MAXDATAFILES, MAXLOGFILES,MAXLOGMEMBERS, MAXLOGHISTORY si MAXINSTANCES

    Fisierul de control se creeaza cu comanda CREATE CONTROLFILE care seva folosi cu mare precautie caci poate detennina distrugerea fisierelor dedate sau de log ale bazei de date si prin aceasta compromiterea defini tiva abazei de date. De asemenea, se vor parcurge obligatoriu urmatorii pasipentru a crea un nou fisier de control:

    realizarea unei liste a tuturor fisierelor de date si a fisierelor delog;

    oprirea bazei de date; executarea salvari i (backup) tuturor fisierelor de control si de log; pornirea unei noi instante Oracle, dar rara montarea saudeschiderea bazei de date;

    executarea comenzii CREATE CONTROLFILE; realizarea unei salvarii (backup) a noului f is ier de control; editarea fisierului cu parametrii al bazei de date si introducerea invaloarea parametrului CONTROL_FILES a tuturor f is ierelor decontrol create anterior;

    montarea si deschiderea bazei de date.Dupa crearea unui nou fisier de control obligatoriu trebuie consultat

    fisier de log ALERT pentru a vedea daca Oracle a detectat anumiteinconsistente intre dictionarul de date si noul fisier de control ca, deexemplu, lipsa din fisierul de control a unui fisier de date inclus indictionarul de date. Astfel, daca un fisier de date exista in dict ionar, dar nu

    56

    exista in fisierul de control Oracle creeaza nume de substituire a acestora defonna MISSINGnnnn (unde nnnn este numarul fisierului in zecimal). Infi~ierul de control acest fisier de inlocuire este setat pe starea off line. Existadoar doua situatii cand numele MISSINGnnnn se pot inlocui cu numelefi~ierelor de date corespunzatoare, identificate prin valoarea nnnn, astfel:

    cand noul fisier de control a fost creat eu comanda CREATECONTROLFILE folosind optiunea NORESETLOGS, eeea ceinseamna ca baza de date poate fi deschisa tara a folosi optiuneRESETLOGS, lucru pos ibil numai daca toate fisierele de logsunt disponibile;

    cand noul fisier de control a fost creat cu comanda CREATECONTROLFILE folosind optiunea, ceea ce va duce la fortareadeschideri i bazei de date cu optiunea RESETLOGS, sens in carefisierele de date corespunzand numelor MISSINGnnnn vor firead-only sau normal ojjline.

    In Enterprise Manager se poate lucra cu fisierele de control urmandlink-urile Administration> Control Files (figura 3.4).ORACLE' Enterprise Manager 10gOatilbase Control

    Logged In A5 81'SControl Files

    Control File Mirror ImagesOracle s trongly recommends that your database has a min imum oflwo control f il es and that t hey are located onseparate disks. I f a control f il e i s damaged due to a d is k fai lu re , i t cou ld be res tored using the int ac t copy of t hecontrol f ile f rom the other disk, You can speci fy their locat ion inthe database's initiahzation parameter file.d fiT~itllel

    iY~~D E\oRAClE\PRODUCT\10,2.o\ORAOATA\ORCL\" lAUD 'CONTROL02.CTL E'\ORAClBPRODUCT\1020\ORAOATA\ORCL\fyAUD .CONTROL03.CTL E\ORAClE\PRODUCT\10,2.o\ORAOATA\ORCL\

    _G~~~;~I',-~ ~ ~ ~ ~ s e : ~ t , o ~ . ~ _ ~ ~ ~ : : . ~ ~ = : _ : = = _ ~ = ~ ~ ~ : : : : ~ ~ ~ ' =' . _ . _ . ._Database I Setup I Preferences I t l J i l l : l I LogoutCopyri;tt@1996, 2005, Oracle. AI rigtts reserved.

    Abo,Jt O!acJt Ent~rprj$"~ Maoege! 10g R,rt.lDpl C(>Qt r91

    Figura 3.4 Fereastra Control Files

    57

  • 5/14/2018 Administrarea Bazelor de Date

    30/97

    ACTIVITATI SPECIFICE DE MANAGEMENTAL TABELELOR-SPATIU.4.1 Informatii generale despre tabelele-spatiu (tablespaces)

    I n administrarea tabelelor-spatiu trebuie tinut seama de urmatoareleaspecte:

    58

    utilizarea mai multor tabele-spatiu pentru 0 baza de date creeazaunele avantaje referitoare la: separarea datelor utilizator dedictionarul de date sau separarea datelor unei aplicatii fata dedatele altei aplicatii; memorarea fisierelor de date ale uneitabele-spatiu pe discuri diferite pentru a reduce concurentaoperatiilor VO; aducerea unor tabele-spatiu in starea offline, intimp ce altele raman in starea online; rezervarea uneitabele-spatiu pentru un t ip anume de baza de date, de exemplu 0baza de date cu mult iple act ivitat i de actualizare sau 0 baza dedate de tip read-only.setarea parametrilor de memorie standard (asumati) pentruobiectele ce vor fi create in tabela spatiu. Parametr ii de memoriecare vor fi specificati la crearea unui obiect vor suprascrie pe ceiexistenti deja.

    parametrii standard, setati pentru tabela spatiu, Marimeatabelei-spatiu trebuie stabilita astfel incat sa poata cuprinde toateobiectele ce vor fi create in aceasta.

    atribuirea unor cote din tabela-spat iu pentru utilizatorii bazei dedate, refer itoare la limitele de spatiu ce trebuie respectate pentrupastrarea segmentelor de date ale obiectelor utilizatorilor,activitate ce se executa prin atribuire (grant).

    4.2 Crearea, modelarea, administrarea ~idistrugereatabelelor-spatiu

    Prima tabela-spat iu in orice baza de date este SYSTEM. Ea contine[nforrnati i de baza pentru funct ionarea serverului baze de date, si anumedictionarul bazei de date si sistemul de segmente de rollback. TabelaSYSTEM se administreaza la fel ca celelalte tabele-spatiu, dar esterestrict ionata in anumite privinte, de exemplu ea nu se poate redenumi, nuse sterge si nu se trece in stare a offline.

    Tabela-sistem SYSAUX este 0 tabela-spat iu auxi liara a tabeleiSYSTEM si este creata in acelasi timp cu baza de date. Ea contineinformatii despre schemele folosite de diferi te produse Oracle, si anumeacele produse care nu cer propriile tabele spatiu. SYSAUX cere un nivelr idicat de securitate si nu se poate redenumi sau sterge.

    Pasii pentru crearea unei tabele-spatiu permanente variaza de la unsistem de operare la altul. Cele mai multe sisteme de operare cer ca sa seindice marimea si numele complet al fisierelor de date atunci cand secreeaza 0 tabela-spatiu noua sau se modi fica una existenta prin adaugareaunui nou fisier de date. Prima tabela-spatiu a oricarei baze de date estetotdeauna tabela SYSTEM, iar primul fisier de date apartine acesteia.Niciun fel de date nu pot fi adaugate intr-o tabela-spatiu pana cand instant aOracle nu activeaza eel putin doua segmente de rollback.

    A. Crearea unei tabele-spatiu folosind SQLPLUSo tabela-spatiu poate fi creata cu comanda SQL CREATETABLESPACE sau CREATE TEMPORARY TABLESPACE, pentru caretrebuie sa ai privilegiu de sistem.Exemplu: ,

    ' ' ' ; : ' . ' " ' l " " " I I i i CREATE TABLESPACE tabsplDATAFILE 'datafile_l'SIZE 40MDEFAULT STORAGE (

    INITIAL 50k

    59

  • 5/14/2018 Administrarea Bazelor de Date

    31/97

    NEXT 50kMINEXTENTS 2MAXEXTENTS 50PCTINCREASE 0)

    OFFLINE;Prin aceasta comanda se creeaza tabela-spatiu TABSP 1 cu un singur

    fisier de date, de 40MB, cu specificarea parametrilor standard pentrumemorie si care, dupa creare, va fi setata pe starea off line.Daca numele fisierului nu este specificat in totalitate (cu caleacompleta de acces) , acesta va fi creat in directorul curent al bazei de date.

    Se pot crea si tabele spatiu temporare pentru memorarea obiectelortemporare, de exemplu segmentele folosi te de sortari le implicite cerute declauza ORDER BY a comenzii SELECT. In aceste tabele-spatiu temporarenu se pot crea obiecte in mod explicit.

    Pentru crearea tipurilor speciale de tabele spatiu numite UNDOTABLESPACE se foloseste comanda CREATE UNDO TABLESPACE.Acestea sunt create in mod special pentru a contine inregistrari distruse.Acestea sunt inregistrar i generate de baza de date si folosite de segmentelerollback, cerute de clauza ROLLBACK.o tabela-spatiu BIOFILE este 0 tabela cu un singur fisier de date, darfoarte mare, mai mare dedit 40 blocuri. In mod normal, tabelele-spatiu micipot contine mai multe fisiere de date, dar nu asa mario Pentru a crea 0 astfelde tabela spatiu se utilizeaza comanda CREATE BIGFILE TABLESPACEsi Oracle creeaza in mod automat tabela spatiu locala cu segmenteadministrate in mod automat.

    B. Crearea unei tabele spatiu folosind Enterprise ManagerPentru lucrul cu tabele spatiu in Enterprise Manager se urmeazalinkurile Administration > Tablespaces care conduc la 0 lista cu to atetabelele spatiu existente in baza de date ca in figura 4.1.

    60

    :6~ ( ; 'S ;S n:M:O~ .; 0 IjN[JQ 1k :. 35.0C~ 5.0Tota l Size (MIl ) 945.1>T o t a lU s e d (MB ) 851.7T o ta l F re e ( M B ) 9 3 .3

    1 P E RM A N EN T L OC A L1 T E M POR A RY L OCA l1 1JN OO LOCA l1 P E RM A N EN T L OC A l

    AlJfOMANUAlMANUAlMANUAlAUTO

    . ; O n li ne x O tI t in e . ~ReadOnl y

    ~ .1 WS,200S, Oede .. .. . 11!tU reserved~,,;it "h"";11 M",n" '" " -r .4~~

    Figura 4.1 Lista cu tabelele spatiu existence

    Crearea unei noi tabele spatiu se realizeaza apasand butonul Create.Acest lucru are ca efect deschiderea unei ferestre in care introducem datelepentru a descrie noua tabela de spatiu (figura 4.2).

    Create Tablespace

    ExtentManagemento Local ly Managedo DictionaryManaged

    Type StatusG > Pennanent 0ReadWnteo Read Onlyo Set as defau lt permanent

    tablespaceQTemporaryo Set as default temporarytablespace

    ( ) O f f li n e

    QUndoUndo RetentionGuarantee OYes 0No

    Oatafiles[JUse biQfile tablespace

    Figura 4.2 Crearea unei tabele spatiu

    61

  • 5/14/2018 Administrarea Bazelor de Date

    32/97

    In aceasta fereastra se alege un nume pentru tabela de spatiu, seselecteaza modul in care sa fie administrata (local sau cu ajutorul unuidictionar). Va fi selectat ~i tipul noii tabe1e. Acesta poate fi Permanent(tabela de spatiu uzuala pentru date), Temporary (caz in care se va crea 0tabela de spat iu temporara) sau Undo ( tabela de spatiu dedicata in care seretin informatiile de undo). De asemenea, se stabileste si tipul tabe1ei despatiu - Read Write (pentru uz general), Read Only (doar pentr citit date dinea) sau Offline. Optiunea Use bigfile teblespace creaza 0 tabela cu un singurfisier de date foarte mare.

    In partea de jos a paginii se va se1ecta fisierul fizic corespunzatortabelei spatiu. Se poate adauga un astfe1de fisier apasand butonul Add.o tabela spatiu poate fi stearsa din baza de date atunci candcontinutul acesteia nu mai prezinta interes. Cand se executa 0 astfel deoperatic se sterg doar legaturile dintre f is ierul sau fisierele de date ale tabeleispatiu si fisierul de control al bazei de date. Fisierele de date continua s aexiste pe discul serverului, iar stergerea acestora se executa cu comenzi lespecifice sistemului de operare. 0 tabela-spatiu ce urmeaza a fi stearsa poatesa con/ina sau nu obiecte ale bazei de date sau poate avea tabele cu cheieprimari i sau cheie unicd referitd de chei externe din al te tabele. Cele treisituatii se rezolva cu comenzile:

    DROP TABLESPACE tabsp10 INCLUDING CONTENTS;DROP TABLESPACE tabsp10;DROP TABLESPACE tabsipl0 INCLUDING CONTENTS

    CASCADE CONSTRAINTS;Acelasi lucru se poate