Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




SGBDR Oracle

Oracle


ALTE DOCUMENTE

CREAREA UNEI BD
SGBDR Oracle

SGBDR Oracle

6.2.1. Introducere

Sarcinile unui administrator al BD sunt urmatoarele:

A proiecta si a crea BD



A administra facilitatile oferite de BD

A administra structurile logice si fizice ale BD

A administra stocarea (inmagazinarea) informatiilor pe baza unui proiect

A administra securitatea BD

A administra reteaua asociata BD

A administra momentele de salvare a informatiilor (backup) si cele legate de reconstituirea (recovery) BD

A administra ajustarea BD (tuning DB)

Administratorii BD Oracl 14414t1914o e (Oracle DBAs) sunt responsabili cu intretinerea server-ului Oracle astfel incat acesta sa poata procesa cerintele utilizatorilor. Pentru aceasta este necesara intelegerea deplina a arhitecturii SGBDR Oracle.

Cursul se focalizeaza pe prezentarea in linii generale a arhitecturii SGBDR Oracle si a sarcinilor ce le revin DBA, asa cum sunt enumerate mai sus, dar si altele: planificarea si crearea BD, administrarea facilitatilor oferite de BD, administrarea memoriei, a structurilor logice si fizice, a utilizatorilor si a privilegiilor acordate acestora etc.

6.2.2. Componentele arhitecturii serverului Oracle

6.2.2.1. O trecere in revista a componentelor de baza

Arhitectuira SGBD Oracle include un numar de componente de baza care vor fi discutate in cele ce urmeaza.

Server-ul Oracle: Exista cateva fisiere, procese si structuri de memorie intr-un server Oracle, dar nu sunt utilizate toate aceste elemente atunci cand este procesata o instructiune SQL. Unele sunt utilizate pentru a imbunatati performantele BD, altele pentru refacerea, reconstituirea BD in urma unui eveniment caracterizat prin distrugere sau eroare hard sau soft, altele pentru realizarea unor sarcini legate de buna functionare curenta a BD. Server-ul Oracle consta dintr-o instanta Oracle si o BD Oracle.

Instanta Oracle: este o combinatie intre procese de fundal si structuri de memorie. Instanta trebuie pornita pentru a accesa datele dintr-o BD. De fiecare data cand o instanta este pornita se aloca SGA si se pornesc procesele de fundal Oracle. Procesele de fundal realizeaza functiuni in numele procesului invocat. Ele integreaza functii care ar trebui altfel sa fie realizate de programe Oracle multiple, rulate la fiecare utilizator. Aceste procese de fundal executa operatii de I/O si monitorizeaza alte procese Oracle cu scopul de a creste gradul de paralelism al executiei operatiilor, crestere ce are ca rezultat o mai buna performanta si o mai buna fiabilitate.

BD Oracle: consta dintr-un numar de fisiere ale sistemului de operare (SO) cunoscute ca fisierele BD (database files) care au rolul de a stoca fizic (inmagazina) informatia BD. In fisierele BD sunt mentinute datele consistente ale BD si tot aici se face regenerarea (recovery) informatiilor in cazul unei avarii a instantei.

Alte fisiere importante: Fisierele non-BD sunt utilizate pentru a configura instanta, a certifica utilizatorii si privilegiile lor si a reface BD in eventualitatea unei avarii de disc.

Procese utilizator si procese server: sunt procese elementare antrenate atunci cand o instructiune SQL este executata. Obs.: mai exista si alte procese ce concura la executia unei instructiuni SQL.

Alte procese: Mai exista si alte procese, intr-un numar mare, care se produc in functie de diferite optiuni ale utilizatorului, cum ar fi: Advanced Queuing, Real Application Clusters, Shared Server, Advanced Replication etc.

6. 2. 2. 2. Server-ul Oracle

Este un SGBD care furnizeaza o conceptie deschisa, cuprinzatoare, multilaterala si integrata referitoare la administrarea informatiei. Consta din perechea: o instanta Oracle si o BD Oracle.

Server-ul Oracle reprezinta factorul central in administrarea BD. In general, un server Oracle trebuie sa administreze o mare cantitate de date intr-un mediu multi-utilizator astfel incat mai multi utilizatori sa acceseze aceleasi date intr-un mod concurent. Toate acestea trebuie duse la bun sfarsit de o maniera de inalta performanta. Serverul Oracle trebuie, de asemenea, sa previna accesul neautorizat la date si sa furnizeze solutii eficiente pentru repararea consecintelor eventualelor avarii.

6. 2. 3. Instanta Oracle

Reprezinta modalitatea de a accesa o BD Oracle. De fiecare data deschide o BD si numai una.Consta din structuri de memorie (SGA) si procese de fundal care au rolul de a administra BD. O instanta este identificata prin utilizarea unor metode specifice la fiecare SO. Poate deschide si utiliza o singura BD, la un moment dat.

6. 2. 4. Stabilirea unei conexiuni si creerea unei sesiuni

Conectarea la o instanta Oracle presupune:

stabilirea unei conexiuni

crearea unei sesiuni

Inainte ca utilizatorul sa trimita o instructiune SQL la o BD Oracle, el trebuie sa se conecteze la o instanta:

utilizatorul porneste un instrument Oracle precum SQL*Plus sau ruleaza o aplicatie dezvoltata cu ajutorul unui instrument precum Oracle Forms. Aplicatia sau instrumentul sunt executate ca procese utilizator.

In majoritatea configuratiilor de baza, atunci cand un utilizator se conecteaza la un server Oracle, este creat un proces pe calculatorul server (pe care ruleaza server-ul Oracle). Acest proces este denumit proces server. Procesul server comunica cu instanta Oracle in numele procesului utilizator care ruleaza pe calculatorul client. Procesul server executa instructiunile SQL in numele utilizatorului.

6. 2. 4.1. Conexiunea

O conexiune este o cale de comunicare intre un proces utilizator si un server Oracle. Un utilizator al BD se poate conecta la un server Oracle intr-unul din urmatoarele 3 moduri:

- Utilizatorul se conecteaza la SO ruland instanta Oracle si pornind o aplicatie sau un instrument care acceseaza BD pe acel sistem.Calea de comunicatie este stabilita utilizand mecanisme de comunicatie interproces disponibile pe SO gazda.

- Utilizatorul porneste aplicatia sau instrumentul pe un calculator local si se conecteaza printr-o retea la calculatorul pe care ruleaza instanta Oracle. In aceasta configuratie, numita client-server, este utilizat un soft de retea pentru a comunica intre utilizator si serverul Oracle.

- Intr-o conexiune de tip 3-etaje (nivele) calculatorul utilizatorului comunica printr-o retea la o aplicatie sau un server de retea, care este conectat prin intermediul unei retele la masina pe care ruleaza instanta Oracle. De exemplu, utilizatorul ruleaza un browser pe un calculator pe o retea pentru a utiliza o aplicatie rezidenta pe un server NT care recupereaza datele dintr-o BD Oracle care ruleaza pe un Unix ca SO gazda.

6. 2. 4.2. Sesiuni

O sesiune este o conexiune specifica a unui utilizator la un server Oracle. Sesiunea porneste atunci cand utilizatorul este validat de catre server-ul Oracle si se termina atunci cand utilizatorul se deconecteaza (log out) sau cand exista o terminare anormala. Pentru un utilizator de BD dat sunt posibile mai multe sesiuni concurente daca acest utilizator este conectat (log on) de pe mai multe instrumente, aplicatii sau terminale, in acelasi timp. Exceptand cazul unor instrumente specializate de administrare a BD, pornirea unei sesiuni a unei BD necesita ca serverul Oracle sa fie disponibil pentru uz.

Obs.: Tipul de conexiune prezentat mai sus, unde exista o corespondenta unu-la-unu un utilizator si un proces server se numeste conexiune cu server dedicat. Cand utilizam o configuratie de server partajat, este posibil ca multiple procese utilizator sa se conecteze la procese server partajate.

6. 2. 5. BD Oracle

Este o colectie de date care este tratata ca un tot unitar. Scopul principal este de a stoca si de a recupera informatia stocata. O BD Oracle are o structura logica si una fizica. Structura fizica consta intr-un set de fisiere ale SO asociate BD. O BD Oracle consta din 3 tipuri de fisiere:

Fisiere de date ce contin datele actuale ale BD. Aici este inclus si Dictionarul de date (Data Dictionary).

Fisiere online redo log ce contin o inregistrare a modificarilor facute in BD si care ajuta la recuperarea datelor in cazul unor incidente.

Fisire de control ce contin informatia necesara mentinerii si verificarii integritatii BD

6. 2. 5.1. Alte structuri importante de fisiere

Server-ul Oracle face uz si de alte fisiere care nu fac parte din BD:

Fisierele de parametri care definesc caracteristicile unei instante Oracle. De exemplu, contin parametri care dimensioneaza unele structuri de memorie din cadrul SGA.

Fisierul de parole care autentifica utilizatorii privilegiati la pornirea (start up) si oprirea (shut down) unei instante Oracle.

Fisierele de tip archived redo log care sunt copii off-line ale fisierelor de tip online archived redo log si sunt necesare pentru refacerea datelor in cazuri de avarie.

6. 2. 5.2. Structura memoriei

Structura memoriei Oracle este compusa din 2 componente:

SGA (System Global Area), care este alocata la start up-ul instantei si este fundamentala pentru instanta Oracle.

PGA (Program Global Area), care este alocata atunci cand este pornit un proces server.

6.2.6. System Global Area (SGA)

Se mai numeste Shared Global Area (zona de memorie partajata). Este utilizata pentru a stoca informatia BD care este partajata de catre procesele BD. Contine date si informatii de control pentru server-ul Oracle si este alocata (repartizata) in zona de memorie virtuala a calculatorului unde este rezident Oracle.

Pentru a vedea alocarea memoriei SGA se poate utiliza urmatoarea instructiune:

SQL> SHOW SGA;

Total System Global Area 35437964 bytes

Fixed Size 6543794 bytes

Variable Size 19521536 bytes

Database Buffers 16777216 bytes

Redo Buffers 73728 bytes

6.2.6.1. SGA dinamica

Incepand cu Oracle9i este implementata o infrastructura care permite configurarea dinamica a SGA, adica a dimensiona Database Buffer Cache, Shared Pool si Large Pool fara a executa shut down la instanta. In masura in care putem sa ne imaginam, ar trebui ca, initial, Database Buffer Cache si Shared Pool sa fie sub-dimensionati urmand ca dimensiunile lor sa fie marite pe masura ce activitatea lor creste in volum, pana la un maxim dat de parametrul SGA_MAX_SIZE.

6.2.6.2. Dimensionarea SGA

Marimea lui SGA este determinata de cativa parametri de initializare. Parametrii care afecteaza cel mai mult marimea SGA sunt:

DB_CACHE_SIZE - indica dimensiunea memoriei cache a blocurilor standard. Valorile implicite sunt: 48 MB pentru Unix si 52 MB pentru NT.

LOG_BUFFER - indica numarul de bytes alocati pentru Redo Log Buffer.

SHARED_POOL_SIZE - indica marimea in bytes a zonei de memorie dedicate pentru SQL partajat si PL/SQL partajat. Marimea implicita este de 16 MB, iar daca se merge pe 64 de biti, atunci marimea implicita este de 64 MB.

LARGE_POOL_SIZE - indica marimea lui Large Pool. Valoarea implicita este 0 (mai putin cazul parametrului de tip init.ora: PARALLEL_AUTOMATIC_TUNING setat pe TRUE cand valoarea implicita este calculata in mod automat).

JAVA_POOL_SIZE - indica marimea lui Java Pool si are valoarea implicita de 24 MB.

Prin urmare, marimea lui SGA nu poate depasi SGA_MAX_SIZE minus valorile pentru DB_CACHE_SIZE, LOG_BUFFER, SHARED_POOL_SIZE, LARGE_POOL_SIZE si JAVA_POOL_SIZE.

O granula este o unitate de memorie virtuala contigua. Marimea unei granule depinde de dimensiunea totala, estimata a SGA al carui calcul are la baza valoarea parametrului SGA_MAX_SIZE. Astfel, o granula are:

- 4 MB daca valoarea estimata a SGA este < 128 MB

- 16 MB in rest.

Marimile componentelor Database Buffer Cache, Shared Pool si Large Pool pot creste sau descreste intre anumite limite in functie de frontierele granulelor. La pornirea instantei, server-ul Oracle aloca intrarile granulelor, una pentru fiecare granula ca suport pentru bytes spatiului de adresa la SGA_MAX_SIZE. Pe parcursul operatiei de pornire fiecare componenta necesita cat mai multe granule. Configuratia SGA minimala este de 3 granule (una pentru SGA fixata (include buffer-ele redo), una pentru Database Buffer Cache si una pentru Shared Pool).

6.2.6.3. Shared Pool

Are rolul de a stoca:

instructiunile SQL cele mai recent executate

definitiile datelor cele mai recent utilizate

Consta din structuri de memorie raportate la performante cheie:

Library Cache

Data Dictionary Cache

Este dimensionat prin parametrul SHARED_POOL_SIZE:

ALTER SYSTEM SET

SHARED_POOL_SIZE = 64M;

6.2.6.4. Library Cache

Stocheaza informatii despre instructiunile SQL si PL/SQL cele mai recent utilizate

Valideaza partajarea instructiunilor utilizate in comun

Este administrata de algoritmul LRU (Least Recently Used) - blocul cel mai recent utilizat este in capul listei

- Consta din 2 structuri: - zona partajata SQL

- zona partajata Pl/SQL

Marimea sa este determinata prin dimensionarea lui Shared Pool

6.2.6.5. Data Dictionary Cache

Reprezinta o colectie de cele mai recent utilizate definitii in BD

Include informatii despre fisierele BD, tabele, indexuri, coloane, utilizatori, privilegii si despre alte obiecte ale BD

In timpul fazei de analiza sintactica, procesul server consulta dictionarul de date pentru informatii legate de numele obiectelor si validarea accesului

Introducere in memoria cache a informatiei dictionarului de date. Imbunatateste timpul de raspuns la interogari si operatii de tip DML.

Marimea sa este determinata prin dimensionarea Shared Pool.

6.2.6.6. Database Buffer Cache

Stocheaza copii ale blocurilor de date care au fost recuperate din fisierele de date

Genereaza o inalta performanta atunci cand se obtin si se reactualizeaza date

Este administrata prin algoritmul LRU

Marimea blocului este demonstrata de parmetrul DB_BLOCK_SIZE.

Atunci cand este procesata o interogare, procesul server-ului Oracle cauta in Database Buffer Cashe anumite blocuri de care are nevoie. Daca blocul nu este gasit in Database Buffer Cashe, procesul server citeste blocul din fisierul de date si plaseaza o copie in Database Buffer Cashe. Deoarece interogarile ulterioare pentru acelasi bloc pot gasi blocul in memorie, interogarile nu pot interogari fizice. Server-ul Oracle utilizeaza un algoritm LRU care scoate blocuri care nu au fost accesate recent pentru a face loc pentru noi blocuri in Database Buffer Cashe.

6.2.6.7. Redo Log Buffer

Inregistreaza toate schimbarile efectuate in blocurile de date ale BD.

Scopul primordial este de regenerare (recovery).

Schimbarile inregistrate sunt numite intrari redo.

Intrarile redo contin informatii utile la reconstructie sau schimbari redo.

Marimea este definita prin LOG_BUFFER.

Redo Log Buffer este un buffer circular care contine schimbarile efectuate in blocurile de date. Informatia este stocata in intrarile redo. Intrarile redo contin informatii necesare re-crearii datelor anterior schimbarilor facute de operatiile INSERT, UPDATE, DELETE, CREATE, ALTER sau DROP. Marimea lui Redo Log Buffer este definita de catre parametrul de initializare LOG_BUFFER.

6.2.6.8. Large Pool

Este o zona de memorie optionala in SGA.

Simplifica sarcina plasata in Shared Pool

Este utilizata pentru

Memoria sesiunii (UGA) pentru server-ul partajat

Procese server de I/O

Operatii de backup si restore (refacere) sau RMAN

Buffere de mesaje cu executie paralela

PARALLEL_AUTOMATIC_TUNING setat pe TRUE

Nu utilizeaza o lista LRU.

Este dimensionat prin LARGE_POOL_SIZE.

Poate fi redimensionat dinamic.

6.2.6..9. Java Pool

Servicii de analiza sintactica a interogarilor pentru comenzi Java

Este cerut daca avem instalat si utilizam Java

Este dimensionat prin parametrul JAVA_POOL_SIZE.

6.2.7. Program Global Area (PGA)

- Are memorie rezervata pentru fiecare proces utilizator care se conecteaza la o BD Oracle.

- Este alocata atunci cand procesul este creat si este dealocata atunci cand procesul este terminat.

- Este utilizata doar de un singur proces.

6.2.7.1. Structura proceselor

Oracle prezinta numeroase avantaje ce provin de la tipuri variate de procese.

Procese utilizator: pornesc in momentul in care un utilizator al BD cere sa se conecteze la server-ul Oracle

Procesul server: se conecteaza la instanta Oracle si este pornit atunci cand un utilizator stabileste o sesiune

Procese de fundal: Pornesc atunci cand o instanta oracle este pornita.

6.2.7.2. Proces utilizator

Este un program care necesita o interactiune cu server-ul Oracle.

In primul rand, trebuie stabilita o conexiune.

Nu interactioneaza direct cu server-ul Oracle.

Un utilizator al BD care solicita informatii de la BD, in primul rand trebuie sa realizeze o conexiune cu server-ul Oracle. Conexiunea este posibila utilizand un instrument de interfata a BD, ca de exemplu SQL*Plus, dupa ce a inceput procesul utilizator. Procesul utilizator nu interactioneaza direct cu server-ul Oracle. De fapt, el genereaza solicitari prin interfata de program a utilizatorului (UPI), care creaza o sesiune si porneste un proces server.

6.2.7.3. Proces server

Este un program care interactioneaza direct cu server-ul Oracle.

Indeplineste apelurile solicitate si returneaza rezultatele.

Poate fi server dedicat sau server partajat.

Indata ce un utilizator a stabilit o conexiune, este pornit un proces server pentru a rezolva cerintele proceselor utilizator. Un proces server poate fi fie un proces server dedicat fie un proces server partajat. Intr-un mediu de server dedicat, procesul server rezolva cerintele unui singur proces utilizator. Indata ce procesul utilizator este deconectat, procesul server se incheie. Intr-un mediu de server partajat, procesul server rezolva cerintele mai multor procese utilizator. Procesul server comunica cu serverul Oracle utilizand OPI (Oracle Program Interface).

6.2.7.4. Procese de fundal

Mentin si impun relatii intre structurile fizice si cele de memorie:

Procese de fundal obligatorii: DBWn, LGWR, PMON, SMON, CKPT.

Procese de fundal optionale: ARCn, CJQ0, Dnnn, LCKn, LMDn, LMON, LMS, Pnnn, QMNn, RECO, Snnn.

6.2.8. Structura logica a BD

- Dicteaza modul in care este utilizat spatiul fizic asociat BD.

- Se caracterizeaza printr-o ierarhie constand din spatii-tabel, segmente, extensii si blocuri.

O ierarhie a structurii logice se caracterizeaza prin urmatoarele:

- O BD Oracle contine cel putin un spatiu-tabel.

- Un spatiu-tabel contine unul sau mai multe segmente.

- Un segment este facut din extensii.

- O extensie este facuta din blocuri logice.

- Un bloc reprezinta cea mai mica unitate logica pentru operatii de scriere si citire.

Arhitectura BD Oracle include structuri logice si fizice care compun BD.

Structura fizica include fisierele de control, fisierele online redo log si fisierele de date ce compun BD.

Structura logica include spatiile-tabel, segmentele, extensiile si blocurile.

Server-ul Oracle permite un control foarte fin al spatiului de pe disc asociat spatiului-tabel si structurilor logice de stocare, incluzand segmente, extensii si blocuri de date.

6.2.8.1. Spatii-tabel (Tablespaces)

Intr-o BD Oracle datele sunt stocate in spatii-tabel.

O BD Oracle poate fi grupata logic in arii logice mai mici care fac parte din spatiul numit spatii-tabel.

Un spatiu-tabel poate apartine unei singure BD, la un moment dat.

Fiecare spatiu-tabel consta din una sau mai multe fisiere ale SO care sunt denumite fisiere de date.

Un spatiu-tabel poate contine unul sau mai multe segmente.

Spatiile-tabel pot fi aduse on-line in timp ce BD ruleaza.

Cu exceptia spatiului-tabel SYSTEM sau a unui spatiu-tabel cu un segment undo activ, restul spatiilor-tabel pot fi luate off-line, pastrand BD in rulare.

Spatiile-tabel pot fi comutate intre starile: read/write si read-only.

6.2.8.2. Fisierele de date (nu ca structura logica)

Fiecare spatiu-tabel dintr-o BD Oracle consta din una sau mai multe fisiere numite fisiere de date. Sunt structuri fizice care corespund SO pe care ruleaza server-ul Oracle.

Un fisier de date poate apartine numai unui singur spatiu-tabel.

Un server Oracle creaza un fisier de date pentru un spatiu-tabel prin alocarea unui spatiu corespunzator pe disc plus a unei mici parti din spatiul global.

DBA poate schimba marimea unui fisier de date conform imaginatiei si conceptiei sale sau poate specifica faptul ca fisierul de date ar trebui sa creasca in mod dinamic corespunzator cu cresterea spatiului-tabel.

6.2.8.3. Segmente

Un segment este spatiul alocat pentru o structura de stocare logica, specifica intr-un spatiu-tabel.

Un spatiu tabel poate fi alcatuit din unul sau mai multe segmente.

Un segmente nu se poate intinde pe spatii-tabel, totusi, un segment poate cuprinde mai multe fisiere de date care apartin aceluiasi spatiu-tabel.

Fiecare segment este compus dintr-unul sau mai multe extensii.

6.2.8.4. Extensii

Spatiul este alocat la un segment prin extensii.

Una sau mai multe extensii compun un segment.

o       Cand un segment este creat el este compus din cel putin un segment

o       Pe masura ce segmentul creste sunt adaugate noi extensii la acel segment.

o       Un DBA poate sa adauge manual noi extensii la un segment.

O extensie reprezinta o multime de blocuri Oracle contigue.

O extensie nu se poate intinde in mai multe fisiere de date, dar ea trebuie sa existe intr-un fisier de date.

6.2.8.5. Blocuri de date

Serverul Oracle administreaza spatiul de stocare din fisierele de date in unitati de stocare numite blocuri Oracle sau blocuri de date.

Blocurile de date reprezinta structura cea mai fina in care BD Oracle stocheaza datele.

Sunt cele mai mici unitati de stocare pe care server-ul Oracle le poate aloca, citi sau scrie.

Un bloc de date corespunde la unul sau mai multe blocuri ale SO alocate intr-un fisier de date existent.

Marimea unui bloc de date standard pentru o BD Oracle este specificata prin intermediul parametrului de initializare DB_BLOCK_SIZE atunci cand este creata BD.

Marimea blocului de date ar trebui sa fie un multiplu al marimii blocului SO pentru a evita operatii inutile de I/O.

Marimea maxima a blocului de date depinde de SO.

6.2.9. Procesarea instructiunilor SQL

- Conectare la o instanta se face prin:

- Proces utilizator

- Proces server

- Componentele server-ului Oracle care sunt utilizate depind de tipul de instructiune SQL:

- interogari ce returneaza linii

- instructiuni DML ce angajaza schimbari

- infaptuiesc refacerea sigura a tranzactiilor

- Exista componente ale server-ului Oracle care nu participa la procesarea instructiunilor SQL.

6.2.9.1. Procesarea unei interogari

Analiza:

o       Cauta instructiuni identice

o       Controleaza sintaxa, numele obiectului si privilegiile acestuia

o       Blocheaza obiectele utilizate pe parcursul analizei

o       Creaza si stocheaza planul de executie

Legarea: Obtine valorile variabilelor

Executia: Proceseaza instructiunea

Aducerea: Returneaza liniile la procesul utilizator

6.2.9.2. Procesarea unei instructiuni DML

- Analiza: Aceeasi ca la faza de analiza de la procesarea unei interogari

- Legarea: Aceeasi ca la faza corespunzatoare de la procesarea unei interogari

- Executia:

- Daca datele si blocurile blocurile undo nu sunt deja in Database Buffer Cache, procesul server le citeste din fisierele de date si le introduce in Database Buffer Cache.

- Procesul server plaseaza blocari pe liniile care trebuie modificate. Blocul undo este utilizat pentru a stoca imaginea anterioara a datelor astfel incat instructiunile DML sa fie derulate inapoi (roll back), daca este necesar.

- Blocurile de date inregistreaza noi valori pentru date.

- Procesul server inregistreaza imaginea anterioara in blocul undo si reactuali-zeaza blocul de date. Abele schimbari sunt efectuate in Database Buffer Cache. Oricare dintre blocurile schimbate in Database Buffer Cache sunt marcate ca buffer-e afectate, adica acele buffer-e care nu sunt identice cu blocurile corespondente de pe disc.

- Procesarea unor comenzi de tip DELETE sau INSERT presupune pasi similari. Imaginea anterioara pentru un DELETE contine valorile coloanelor din liniile sterse, iar imaginea anterioara pentru un INSERT contine informatiile anterioare din locatiile liniilor.

6.2.9.3. Procesarea unei instructiuni DDL

Executia instructiunilor DDL difera fata de executia instructiunilor DML si a interoga-rilor pentru ca succesul executiei unei instructiuni DDL presupune accesul la dictionarul de date (data dictionary). Pentru aceste instructiuni analiza actuala include analiza, cautarea in dictionarul de date si executia. Instructiunile SQL pentru administrarea tranzactiilor, a sesiunilor si a sistemului sunt procesate utilizand faze de analiza si executie. Pentru a le re-executa realizam simplu o alta executie.


Document Info


Accesari: 3544
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )