Structura fizica a bazei de date

Fisiere de date

Fiecare baza de date Oracle poseda unul sau mai multe fisiere de date fizice. Acestea contin toate datele bazei de date. Datele structurii logice a bazei de date, cum ar fi tabelele si indecsii, sunt stocate fizic în fisierele de date alocate bazei de date.
Caracteristicile unui fisier de date sunt:
-un fisier de date poate fi asociat cu o singura baza de date.
-un fisier da date poate fi setat pentru a-si aloca singur spatiu când baza de date nu mai are spatiu.
-unul sau mai multe fisiere de date formeaza o unitate de stocare a bazei de date numita tablespace.
Date din fisierul de date sunt citite, la nevoie, în timpul operarii normale cu baza de date si stocate în memoria cache a Oracle.
De exemplu, sa presupunem ca un utilizator doreste sa acceseze niste date dintr-un tabel al bazei de date. Daca informatia ceruta nu se afla deja în memoria cache a bazei de date, este citita din fisierele de date potrivite si stocate în memorie. Datele noi sau modificate nu sunt neaparat scrise în fisierele de date imediat. Pentru a reduce numarul de accesari la memorie si pentru a creste performanta, datele sunt puse în comun în memorie si scrise în fisiere de memorie potrivite toate deodata.

Fisierele Redo log

Fiecare baza de date Oracle are un set de doua sau mai multe fisiere redo log. Acest set e cunoscut sub numele de redo log pentru baza de date. Un redo log este alcatuit din intrari redo (înregistrari redo).
Functia principala a unui redo log este de a memora toate schimbarile aplicate datelor. Daca o cadere de sistem împiedica memorarea datelor modificate în fisierele de date, atunci aceste modificari pot fi obtinute din redo log, deci nu se pierde nimic.
Pentru protejarea in cazul unei caderi ce implica însusi fisierul redo log, Oracle permite un fisier redo log multiplicat astfel încât doua sau mai multe copii de fisier redo log sa fie mentinute pe discuri diferite.
Informatia dintr-un fisier redo log este folosita doar la recuperarea bazei de date în cazul unei caderi de sistem sau de mediu ce împiedica scrierea datelor în fisierul de date.
De exemplu, daca o pana de curent opreste operatiile bazei de date, atunci datele din memorie nu pot fi scrise în fisierele de date, si astfel datele sunt pierdute. În orice caz, datele pot fi recuperate la deschiderea bazei de date, dupa revenirea curentului. Aplicând informatia din cele mai recente fisiere redo log asupra fisierelor de date, Oracle restaureaza baza de date pâna la momentul în care a aparut pana de curent.
Procesul aplicarii informatiei redo log în timpul operatiei de recuperare se numeste de rulare înainte.

Fisiere de control

Fiecare baza de date Oracle are un fisier de control. Acesta contine înregistrari ce specifica structura fizica a bazei de date. De exemplu, contine urmatoarele informatii:
- numele bazei de date.
-nume si locatii ale fisierelor de date si redo log.
-momentul de timp al crearii bazei de date.

Utilizarea fisierelor de control

De fiecare data când o instanta a unei baze de date Oracle e pornita, fisierul s?u de control identifica baza de date si fisierele redo log ce trebuie deschise pentru a se trece la operatiile cu baza de date. Daca aspectul fizic al bazei de date este alterat (de exemplu daca este creat un nou fisier de date sau redo log), atunci fisierul de control este modificat automat de Oracle astfel încât sa reflecte schimbarea. Fisierul de control este folosit, de asemenea, în recuperarea bazei de date.

Utilitatile datelor

Cele trei utilitati pentru mutarea unui subset al unei baze de date Oracle dintr-o baza de date în alta sunt: Exportul, Importul si Încarcarea SQL*.

Utilitatea Export

Aceasta transfera obiecte de date între baza de date Oracle, chiar daca acestea sunt rezidente pe platforme cu hardware si software diferit. Export extrage definitiile obiectelor si datele tabelelor dintr-o baza de date Oracle si le stocheaza  într-un fisier binar, fisier Export localizat tipic pe disc sau banda (caseta).
Aceste fisiere pot fi apoi copiate utilizând Protocolul de Transfer al Fisierelor (FTP) sau transportate fizic (în cazul casetelor) catre alta locatie. Pot fi utilizate cu utilitatea Import pentru a transfera date între baze de date ce se afla pe sisteme neconectate printr-o retea sau ca backup, în plus fata de procedurile normale de backup.

Utilitatea Import

Aceasta  utilitate insereaza obiecte de date extrase dintr-o baza de date. Oracle de utilitatea Export, într-o alta baza de date. Fisierele Export pot fi citite doar de Import. Import citeste definitiile obiectelor si datele din tabele pe care utilitatea Export le-a extras dintr-o baza de date.

Utilitatea SQL* Loader

Fisierele Export pot fi citite doar de utilitatea Oracle Import. Daca este necesara citirea de date din fisiere ASCII sau fisiere delimitate, se poate folosi utilitatea SQL* Loader. Aceasta încarca datele din fisiere externe în tabelele unei baze de date. SQL* Loader accepta date de intrare într-o varietate de formate, realizeaza filtrari si încarca date în mai multe tabele ale bazei de date în timpul aceleiasi sesiuni de încarcare.