Blocul de date reprezinta cea mai mica unitate de stocare utilizata de programul Oracle pentru stocarea datelor. Un bloc de date corespunde unui bloc fizic de octeti de pe disc. în interiorul fisierelor de date spatiul de stocare este compus din blocuri de date.
Formatul blocurilor de date Oracle este identic, indiferent daca blocul de date contine un tabel, un index sau clustere de date.
Blocurile de date includ urmatoarele componente:
Antetul - Contine informatii referitoare la bloc cum ar fi adresa blocului si tipul segmentului.
Catalogul de tabele - Contine informatii despre tabele care poseda linii în blocul respectiv.
Catalogul de linii - Contine informatii despre liniile din bloc.
Linii de date - Contine date apartinând unor tabele sau unor indecsi. Programul Oracle permite liniilor de date sa se întinda pe spatiul mai multor blocuri. Spatiul alocat liniilor de date nu este eliberat de server atunci când sunt sterse linii. Acest spatiu este reutilizat numai atunci când sunt inserate noi linii în blocul respectiv.
Spatiu liber - Folosit pentru inserarea noilor linii si pentru actualizarea liniilor care necesita spatiu suplimentar.
Figura 2.2 Ilustreaza componentele unui bloc de date.
Figura 2.2 Componentele unui bloc de date. |
|
Pentru controlul utilizarii spatiului liber al blocului de date, proiectantul aplicatiei are la dispozitie doi parametri, pctfree si pctused. Ambii parametri pot fi specificati numai în momentul crearii sau modificarii tabelelor si clusterelor.
Parametrul pctfree este folosit pentru a defini procentajul blocului de date care urmeaza sa fie pastrat liber pentru eventualele actualizari ale liniilor care exista deja în blocul de date respectiv. Parametrul din exemplul urmator, atunci când este folosit împreuna cu comanda create table, va rezerva 35 de procente din blocul de date utilizat pentru tabelul respectiv ca spatiu liber pentru eventualele actualizari viitoare:
pctfree 35
Parametrul pctused este folosit pentru a defini procentul din spatiul existent în blocul de date pe care programul Oracle va încerca sa-1 completeze înainte de a aloca o noua extindere. Parametrul din exemplul care urmeaza, atunci când este folosit împreuna cu comanda create table, specifica programului Oracle sa nu insereze alte linii în blocul de date daca nu sunt libere cel putin 40 de procente din acesta:
pctused 40
Parametrii pctfree si pctused sunt folositi împreuna pentru a optimiza utilizarea spatiului din blocurile de date si extinderile unui segment de date.
Structurile logice de stocare creeaza modelul de date relational în baza de date fizica. Aceste structuri definesc modul în care va fi utilizata baza de date fizica.
Structurile logice de stocare sunt necesare pentru ca administratorul si proiectantul bazei de date sa maximizeze eficienta bazei de date. De asemenea, aceste structuri sunt folosite pentru a optimiza utilizarea spatiului de pe disc prin reducerea redundantei datelor.
Baza de date Oracle este împartita în unitati logice numite spatii-tabel. Datele bazei de date sunt stocate în fisiere de date. 'Un spatiu-tabel poseda cel putin un segment pentru stocarea datelor bazei de date. Fiecare segment este compus din extinderi. O extindere este formata din unitati contigue de spatiu de stocare numite blocuri de date.
|