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.