Sunteți pe pagina 1din 14

LECT.UNIV.DR IONEL IACOB CURS S.G.B.D.

ORACLE ANUL III - SEMESTRUL II

ARHITECTURA SISTEMULUI ORACLE

I.

ORACLE S.G.B.D RELAIONAL


nc de la apariia sa, sistemul Oracle a fost definit ca un ansamblu complex de

programe care asigura interfaa ntre o baz de date i utilizatorii acesteia. Astfel, rolul sau a afost acela de a organiza i prelucra volume mari i complexe de date n memoria extern. Principalele criterii care au trebuit s fie ndeplinite de Oracle pentru a fi considerat un SGBD relaional, sunt urmtoarele: a. ndeplinete funciile unui SGBD: descriere, manipulare, utilizarea, administrare, lucru care se realizezeaz prin. LDD (Limbajul de Descriere a Datelor, prin comenzi din SQL), LMD (Limbajul de Manipulare a Datelor, prin comenzi SQL, PL/SQL, Java) Interfee i instrumente specializate (Dveloper, Express etc)

b.

ndeplinete obiectivele unui SGBD: independena datelor, redundana minim i controlat, faciliti de utilizare, securitatea datelor, integritatea datelor, partajabilitatea datelor, legturile ntre date, performane globale, administrarea i controlul datelor. obiectievle sunt ndeplinite prin toate componentele sistemului Oracle.

<1>

LECT.UNIV.DR IONEL IACOB CURS S.G.B.D. ORACLE ANUL III - SEMESTRUL II c. implementeaz modelul de date relaional sub toate cele trei aspecte ale sale: structurarea datelor se face cu ajutorul noiunilor: domeniu, tabel (relaie), tuplu, atribut, chei, schema relaiei; restriciile de integritate se implementeaz prin LDD din SQL. Acestea sunt: unicitatea cheii (UNIQUE; PRIMARY KEY), referenial (REFERENTIALFOREIGN KEY), entitii (NOT NULL), de comportament (CHECK). operatorii relaionali implementai, provind din algebra relaional: selecie, proiecie, jonciune, reuniune, diferen, intersecie. Toi operatorii prezeni, sunt implementai prin clauzte specifice n comanda SELECT. d. implementeaz limbajul relaional SQL (Structured Query Language): n Oracle este SQL*PLUS; pentru a suplini lipsa facilitilor procedurale din SQL, Oracle are i un limbaj imperativ propriu numit PL/SOL (Programming Language SQL); e. funcioneaz n arhitectura Client-Server cu procesele corespunztoare: la instalarea sistemului Oracle, exist definite componente pentru Server i componente pentru arhitectura Client; implementat o variant extins de SQL standard, numit

Avantajele utilizrii arhitecturii Client-Server Oracle, sunt: CLIENTUL: concentreaz cererile de regsire, transmite cererile server-ului, primete rezultatele i le prezint, nu cunoate localizarea datelor.

<2>

LECT.UNIV.DR IONEL IACOB CURS S.G.B.D. ORACLE ANUL III - SEMESTRUL II SERVER-UL: lucreaz multitasking, asigur concureana la date, asigur integritatea bazei de date, prelucreaz cererile de regsire (realizeaz accesul), realizeaz optimiarea alocrii i a accesului, asigur control complex pe baze de date foarte mari, asigur portabilitate, compatibilitate, disponibilitate (non-stop) i conectare dinamic. f. funcioneaz n mediu distribuit, respectnd cele 12 reguli ale lui C.J.Date, dar are i versiuni de lucru pe staii individuale (workstations); g. deine instrumente CASE (Computer Aided Software Engineering) pentru activitile de analiz i proiectare a aplicaiilor cu baze de date: componenta Oracle Designer este cea care asigur aceast facilitate. h. se ncadreaz n arhitectura multi nivel (multi-tier), fcnd trecerea de la arhitectura pe trei niveluri (pe componente) spre arhitectura NC (Network Computing). i. ndeplinete cele 13 reguli ale lui Codd, privind cerinele ca un SGBD s fie complet relaional. j. ndeplinete toate caracteristicile unui SGBD relaional: caracteristici globale (limbaje relaionale, controlul integritii semantice a datelor, coerena datelor, optimizarea cererilor de regsire, utilitare) caracteristici particulare (faciliti de descriere a datelor, faciliti de manipulare a datelor, faciliti de utilizare i administrare a datelor). k. extensia sistemului Oracle, s-a materializat n numeroase faciliti, dictate de contextul informatic i de noile cerine ale economiei informaionale (digitale).

<3>

LECT.UNIV.DR IONEL IACOB CURS S.G.B.D. ORACLE ANUL III - SEMESTRUL II Cele mai importante faciliti Oracle sunt: lucrul distribuit n reea global de calculatoare, faciliti de lucru orientate obiect, faciliti multimedia, gestionarea bazei de date pentru Internet, gestionare baze de date uriae (Data Warehouse), implementare tehnologii pentru analize complexe ale datelor (OLAP, data Mining etc)

II.

ARHITECTURA ORACLE
Componentele care formeaz arhitectura Oracle sunt dispuse ntr -o configuraie

de tip Client/Server, deci pe dou niveluri. Tendina actual modern pentru SGBD-uri este de structurare a arhitecturii pe trei sau mai multe niveluri (multi-tier), iar sistemul Oracle, ncepnd cu versiunea 8, se ncadreaz i promoveaz aceast tendin: SGBD-ul este structurat pe trei niveluri: nucleul, interfeele i

instrumentele de ntreinere; lucrul efectiv se realizeaz ntr-o reea de calculatoare, n arhitectura Client/Server cu tendina de evoluie spre arhitectura Network Computing. Componentele de Client i, respectiv de Server, sunt plasate pe calculatoare diferite ntr-o reea: serverul asigur memorarea i manipularea datelor, precum i

administrarea BD; clientul asigur interfaa cu utilizatorul i lanseaz aplicaii care acceseaz datele din BD.

<4>

LECT.UNIV.DR IONEL IACOB CURS S.G.B.D. ORACLE ANUL III - SEMESTRUL II

1. NUCLEUL SISTEMULUI:
Conine componentele care dau tipul relaional pentru SGBD Oracle: Limbajul relaional de regsire SQL Limbajul procedural propriu PL/SQL NOT: Sistemul Oracle creaz i ntreine automat Dicionarul de Date ( pentru lucrul efectiv cu comenzi). Acesta face parte din Baza de date Oracle i conine un set de tabele i viziuni accesibile utilizatorului, doar n consultare.

<5>

LECT.UNIV.DR IONEL IACOB CURS S.G.B.D. ORACLE ANUL III - SEMESTRUL II

2. INTERFEELE:
Sunt componentele care permit dezvoltarea aplicaiilor cu Baze de date. Acestea sunt: a.DEVELOPER: este componenta destinat dezvoltatorilor (programatorilor) de aplicaii. conine generatoarele FORMS (meniuri i videoformate), REPORTS

(rapoarte) i GRAPHICS (grafic) b. DESIGNER: este componenta destinat analitilor de aplicaii ofer elemente de tip CASE pentru proiectarea aplicaiilor cu BD; c. EXPRESS: este destinat analizei datelor multidimensionale, folosind tehnologia de tip OLAP (On-Line Analytical Processing): d. ORACLE APPLICATIONS: permite dezvoltarea unor aplicaii de ntreprindere (FINANCIALS,

MANUFACTURING, PROJECTS etc): e. WEB DEVELOPER: permite lucrul n mediul Internet cu serviciile oferite de acesta;

3. INSTRUMENTELE:
Sunt componente destinate ntreinerii i bunei funcionri a unei BD Oracle; Aceste instrumente sunt:

<6>

LECT.UNIV.DR IONEL IACOB CURS S.G.B.D. ORACLE ANUL III - SEMESTRUL II a. ADMINISTRATOR TOOLS: conine mai multe utilitare destinate administratorului BD

(deschidere/nchidere BD), autorizarea accesului, refacerea, conversii de date etc b. NET PRODUCTS: conine utilitare pentru lucrul distribuit n reea, protocoale de comunicaie API (Application Programe Interface), acces la Internet (Mail); c. BROWSERE: editoarele sunt instrumente destinate cutrii i ntreinerii BD:

III. STRUCTURI I MECANISME N ORACLE Pentru a permite dezvoltarea unei aplicaii cu baze de date, sistemul Oracle deine o serie de elemente i mecanisme interne, care sunt activate automat, atunci cnd sunt necesare.

A. ELEMENTELE UNEI BAZE DE DATE ORACLE: Pentru a putea fi construit n Oracle, bata de date va avea alocate automat o serie de resurse de sistem, dup cum urmeaz: 1. ZONELE DE MEMORIE INTERN alocate standard de Oracle: Zona global de sistem (SGA System Global Area): conine buffere de informaii (zone de memorie) despre o sesiune Oracle, care servesc pentru memorarea temporal a tranzaciei;

<7>

LECT.UNIV.DR IONEL IACOB CURS S.G.B.D. ORACLE ANUL III - SEMESTRUL II Zona global de program (PGA Program Global Area): conine buffere alocate de server pentru fiecare client conectat la BD; Zona de context (CA Context Area): conine un buffer alocat automat unei comenzi SQL lansate de un client;

2.

PROCESELE ORACLE:

Sunt prelucri care se execut la un moment dat, ntr-o zon de lucru. Procesele pot fi: 2.1 CLIENT (Utilizator): sunt procese create pe noduri, la conectarea utilizatorului la server;

2.2

SERVER:

sunt procese create pe server, pentru diferite operaii asupra bazei de date (acces la tabele, comunicare etc) Not: combinaia dintre zonele de memorie i procesele Oracle se numete INSTAN (ORACLE INSTANCE); zonele de memorie, procesele i instanele sunt elemente auxiliare ale unei baze de date Oracle; exemple de procese Oracle care se execut la instane sunt: o DataBase Writer (scrie n baza de date, datele modificate pe disc); o Process Monitor (trateaz eecurile);

<8>

LECT.UNIV.DR IONEL IACOB CURS S.G.B.D. ORACLE ANUL III - SEMESTRUL II o System Monitor (operaia de refacere automat); o Process Check Monitor (prelucrarea pentru punctul de verificare)

3.

OBIECTELE DE TIP ORACLE: Sunt independente de alocarea fizic pe disc i alctuiesc STRUCTURA

LOGIC A UNEI BAZE DE DATE. Aceste obiecte sunt: 3.1 BAZA DE DATE: definete o colecie de tabele tratate unitar; 3.2 TABELA DE DATE: este unitatea de memorare i tratare a datelor ntr-o baz de date 3.3 TABELA VIRTUAL (VIZIUNEA): este modul cum vede un utilizator, la un moment dat, baza de date; viziunea este o structur logic ce conine o cerere de regsire complex. 3.4 INDEXUL: este structura de date asociat unei tabele sau unui cluster; se poate face indexarea dup una sau mai multe coloane ale unei tabele, care se numesc chei (ce pot fi unice sau multiple) sistemul Oracle utilizeaz mai multe moduri de indexare: arbori B simpli sau compui, cheie invers, bitmap;

<9>

LECT.UNIV.DR IONEL IACOB CURS S.G.B.D. ORACLE ANUL III - SEMESTRUL II 4. TIPURILE DE DATE FOLOSITE N ORACLE: tipurile de date utilizate pentru descrierea datelor n memoria intern sau extern, sunt cele din standardul SQL (char/varchar2, number, date etc); 5. FIIERELE: Fiierele aflate pe disc pentru memorarea datelor, formeaz STRUCTURA FIZIC A BAZEI DE DATE ORACLE 5.1 FIIERELE CU DATE (TABELE): o baz de date poate avea unul sau mai multe astfel de fiiere, dar un fiier de date se poate aloca numai cu o singur baz de date; astfel de fiiere (tabele) sunt: - tabelele de baz (TABLE_NAME), indecii, clusteri, segmente, dicionarul de date (USER_nume unde nume indic obiectul apelat din dicionar: utilizator, restricii, viziuni etc) 5.2 FIIERE DE CONTROL: conin informaii despre baza de date (parametrii, informaii de sincronizare, statistici) i descriu structura fizic a bazelor de date. sunt fiiere binare de mici dimensiuni; o baz de date are unul sau mai multe fiiere de control, dar un fiier de control se poate asocia numai unei singure baze de date. 5.3 FIIERELE JURNAL (REDO-LOG): se nregistreaz n ele, automat de ctre sistem, toate modificrile efectuate asupra bazei de date, la o sesiune curent, pentru a se putea reface ulterior n caz de avarii

<10>

LECT.UNIV.DR IONEL IACOB CURS S.G.B.D. ORACLE ANUL III - SEMESTRUL II 5.4 ALTE FIIERE: sunt cele care se folosesc pentru instalarea sistemului Oracle sau pentru ntreinerea bazei de date Oracle; astfel de fiiere sunt: fiiere de parametrii (cu extensia .ORA), de arhivare, de parole etc

B. MECANISME INTERNE ORACLE: Pentru a se dezvolta o aplicaie cu baz de date Oracle, este necesar s se cunoasc, att elementele unei baze de de date Oracle (care ofer modul de implementare al conceptelor relaionale), ct i mecanismele interne specifuice Oracle (care ofer modul de implementare a elementelor unei baze de date Oracle). Mecanismele interne specifice Oracle sunt: 1. TIPURILE DE DATE ACCEPTATE DE ORACLE: aceste tipuri s-au extins de la o versiune la alta, avnd ca baz standardul SQL; 2. PSEUDOCOLOANELE i PSEUDOFUNCIILE: sunt cuvinte rezervate , utilizate pentru accesul al informaiile interne Oracle; pseudocoloanele permit accesul la tabelele utilizator sau de sistem: ROWNUM (numrul liniei curente din tabela curent), LEVEL (profunzimea nodului curent ntr-un arbore) etc;

<11>

LECT.UNIV.DR IONEL IACOB CURS S.G.B.D. ORACLE ANUL III - SEMESTRUL II pseudofunciile nu au parametrii de intrare i sunt referite doar prin

numele lor. Ele permit accesul la o serie de informaii din sistem: USER (numele utilizatorului conectat), SYSDATE (data i ora sistemului) etc. 3. CONTEXTUL I CURSORUL: sunt zone de memorie gestionate de Oracle, printr-o serie de parametrii setai iniial prin fiierul INIT.ORA contextul este o zon de memorie alocat i gestionat de sistem pentru a se putea executa o comand. El conine informaiile necesare oricrei comenzi: format, adres, rezultat etc; cursorul este un identificator (pointer) cu ajutorul cruia se

manipuleaz un context. Cursorul poate fi: o Cursor Implicit: este creat i gestionat de ctre sistem pentru a a trata o linie dintr-o tabel (INSERT, UPDATE, SELECT pentru o linie) o Cursor Explicit: este creat i gestionat de utilizator pentru a trata mai multe linii din tabele (SELECT pentru mai multe linii). 4. FETCH: este o operaie elementar, care se execut pentru orice SELECT care este utilizat ntr-un cursor. Fetch are rolul de a muta liniile (tuplurile) din tabele n zona de memorie utilizator. Comanda Fetch se utilizeaz n legtur cu un cursor explicit.

<12>

LECT.UNIV.DR IONEL IACOB CURS S.G.B.D. ORACLE ANUL III - SEMESTRUL II 5. TRANZACIA: tranzacia este un ansamblu omogen de comenzi ntr-o sesiune de lucru utilizator; exist cteva caracteristici ale oricrei tranzacii, pe care Oracle le respect n totalitate: o tranzacia se utilizeaz pentru asigurarea accesului concurent; o o tranzacie fie se ia n considerare (se valideaz) n totalitatea sa, fie nu se valideaz deloc; o dac o tranzacie nu este terminat (validat), datele aferente sunt indisponibile pentru actualizare pentru un alt utilizator. Pentru consultare, ele sunt disponibile, dar, doar n starea precdent tranzaciei. o tranzacia poate ncepe explicit (BEGIN TRANZACTION ... END

TRANZACTION) sau implicit (prin conectarea la o baz de date); o tranzacia se poate tremina explicit (prin comenzile COMMIT validare sau ROLL BACK anulare) sau implicit (validare comenzile din LDD sau anulare ntreruperile anormale); o tranzacia se poate descompune n subtranzacii, prin utilizarea comenzii SAVEPOINT.

<13>

LECT.UNIV.DR IONEL IACOB CURS S.G.B.D. ORACLE ANUL III - SEMESTRUL II 6. ACCESUL LA O BAZ DE DATE ORACLE LA DISTAN: este posibil doar n anumite condiii: o s existe cel puin un calculator situat la distan, care s fie conectat fizic la calculatorul local; o s existe un protocol de comunicaie, acceptat de ambele

calculatoare i de Oracle (astfel de protocoale sunt DECNET, TCP/IP, SPX/IPX etc); o ambele calculatoare care se conecteaz, trebuie s conin

componentele Oracle de comunicaie (NET Products).

<14>