Az adatbázis fizikai szerkezete, az adatszótár, és az adatbáziskezelő rendszer monitorozása

r

A gondolattérkép az előadás anyaga és saját jegyzetem alapján készült. Ahol nincs megjelölve forrás, ott az ezekből származó információkat használtam fel.alsclscdcdéscdcdd

Adatbázis fizikai szerkezete

r

Az adatbázis fizikai szerkezete nem más, mint fájlok halmaza. Ezek tartalmazzák a logikai szinten tárgyalt adatbázis elemeket (táblákat, kényszereket, indexeket, nézeteket, tárolt kódokat, és egyéb objektumokat) könyvtárakba és állományokba szerveződve a merevlemezen. Ki kell emelni viszont, hogy a komolyabb adatbáziskezelőknél nincs 1:1 megfeleltetés a tábla és a fájlok között, lehet egy tábla több fájl, de akár több tábla egy fájl is.

Oracle adatbázis állományai (fájltípusok)

r

Az Oracle adatbázis fizikailag nem más, mint állományok halmaza, melyet az adatbáziskezező rendszer egységként kezel. Ezeket az állományokat látja az operációs rendszer, a fájlkezelő rendszer, és a számítógép rendszergazdája.Három féle fő állománytípust (fájltípust) tudunk elkülöníteni:datafile-okkontroll file-okredo log file-ok

adatállomány

r

Az adatállomány az adatbázis hasznos adatatait tartalmazó fájlok összesége, ez teszi ki az adatbázis túlnyomó részét, nagy helyet foglal a merevlemezen. Az adatfájlok számát a DBA (database admisnistrator) definiálja, egy-kettőtől akár több száz is lehet.

naplóállomány

r

A redo log fájlok a naplóállomány szerepét töltik be az Oracle adatbázisoknál. Minimum kettő van belőlük általában. A legfontosabb szerepük az adatbázis visszaállíthatóságának biztosítása egy esetleges adatvesztés esetén.Ha egy tranzakciót végrehajtunk, akkor az először csak a memóriában hajtódik végre (cachelés), ez azért hátrányos, mert például egy áramszünet esetén ezek a fizikai rekordok a bennük tárolt változásokkal együtt elvesznek. Ezért szükséges ezeket a rekordokat a memóriából kiírni a merevlemezre (ez történik commitáláskor). Ilyenkor a lemezen ezek az adatok az redo log fájlokba íródnak ki. Fontos még megjegyezni, hogy ezek a módosítások a naplóállományból nem rögtön, hanem némi késleltetéssel kerülnek csak átvezetésre a datafájlokba. Ami viszont elengedhetetlenül fontos, hogy ezek a tranzakciók megismételhetőek legyenek, ha bármilyen okból erre szükség lenne, ezt a redo log fájlok biztosítják is (redo=megismétlés).

vezérlőállomány

r

A vezérlőállomány (kontroll fájlok) az adatbázis alapvető adatait, tulajdonságait tartalmazza. Ide tartozik például az adatbázis neve, kódolása, szerkezeti tulajdonságai... Ezen kívül még pointerek is vannak benne, amelyek a data fájlokra mutatnak, ezáltal egyfajta kiinduló pontként szolgálva. Kb. 10-50 Mb területet foglal a merevlemezen. Az Oracle alapú adatbázisoknál általában 2 pédány található ezekből a kontroll fájlokból tükrözve, ezzel biztonsági mentést biztosítva egy esetleges adatvesztés esetére.

egyéb fájltípusok

r

A három fő fájltípuson kívül vannak még egyéb állományok is az adatbázisban, ezek bemutatása következik most.

parameter file

r

A paraméter fájl egy nélkülözhetetlen működési fájl, amit az adatbázis rendszergazdája hoz létre. Ez nem más mint egy szöveges állomány, amiből a szoftver olvassa ki induláskor a működési paramétereket.

password file

r

A password fájl azért szükséges, mert a felhasználók jelszavai az adatszótárban kerülnek tárolásra, ami értelemszerűen nem elérhető, ha a rendszer kikapcsolt állapotban van. Viszont a rendszergazdáknak már startup parancs kiadásához is be kell írniuk a jelszavukat. Erre szolgál ez a jelszó fájl, eltárolja a rendszergazdai jelszavakat a rendszer elindításához.

archived log files

r

Az adatbázisoknál az egyik legfontosabb probléma egy esetleges adatvesztés. Ez akár lehet egy kisebb áramszünet miatti fennakadás, de egy nagyobb adatállomány elvesztése is egy lemezhiba folytán. Ennek a kiküszöbölésére szolgálnak az archived log fájlok, melyek biztonsági mentésket tartalmaznak a redo log fájlokról, mivel ezek a fájlok ha az egyik megtelik, folyamatosan felülírják egymást, így a régebbi változtatások nyomon követésére már nem adnak lehetőséget. Viszont a bennük tárolt infromációk egy háttérprocessz keretében átíródnak az archived log fájlokba, ahol ezek az adatok már tárolásra kerülnek, nem írják felül egymást. Ez a biztonsági megoldás viszont nem egy alapértelmezett dolog az adatbázisoknál, csak egy opció, de erősen ajánlott a kihasználása.

Oracle adatbázis architektúrája

r

Az Oracle adatbázis architektúráját (szerkezetét) az alábbi kép szemlélteti:

részei

Instance

r

A felhasználó nem magába az adatbázisba jelentkezik be, hanem az ahhoz tartozó szoftverbe, amit Oracle-ben Instance-nak neveznek

főbb elemei

database buffer cache

r

A database buffer cache nem más mint egy gyorsító, nagyon kicsi része a tényleges adatbázisnak, azok az adatok tárolódnak itt, amiket a leggyakrabban használunk, így a selectek, módosítások itt lefutva sokkal gyorsabbak.

redo log buffer cache

database writer

r

A database writer (DBWR) feladata, hogy a cacheből kiírja az információkat a lemezre (de csak késleltetve), ez a folyamat egy background processz formájában megy végbe.

SGA

r

Az SGA az Instance memória tartománya. Itt helyezkedik el nagyon sok számláló, melyek az adatbázis eseményeit számolják. Ennek az adatbázis monitorozásánál van kiemelt szerepe.

processzek

user process

server process

r

A szerver processz nem más, mint amikor a user küldd egy utasítást (select, insert,...) az adatbázisra vonatkozóan, és a szerver visszaküldi azt eredményt.Minden userhez külön-külön szerver processz létezik adatbázis oldalon.

adatbázis

r

Ide maga a fizikai adatbázis tartozik az előbb bemutatott állományaival.

rétegei

r

Az Oracle adatbázis architektúrája, két végpontú (user, adatbázis), az-az két rétegű kliens-szerver architektúráról beszélhetünk. Azonban célszerű megemlíteni, hogy cégeknél létezik egy harmadik, application szerver réteg is.

user

r

A user maga a felhasználó, aki lekérdezést, vagy móosítást akar végrahajtani az adatbázison.

server

r

A szerver azt a számítógépet jelöli, aminek merevlemezén maga az adatbázis tárolódik.

Kapcsolat a logikai és a fizikai szerkezetek között Orcle adatbázisnál

adatbázis felépítése

logikailag

táblaterek

r

Logikai megközelítésben az adatbázis táblaterekből épül fel. Ezek elkülönített részek az adatbázisban, felhasználási típusuk szerint több fajtáját különítjük el. Külön táblatér van például az indexeknek, amelyek nem annyira értékesek mint az adatbázis valós adatai, ezért egy kevésbé védett táblatérben vannak, maga a tábla viszont egy jobban védett táblatérben helyezkedik el.A táblaterek szemléltetésére jó példa a tantermek egy egyetemen, vagy mondjuk egy lakás szobái.

szegmensek

r

A táblaterek további egységekre, úgynevezett szegmensekre bonthatók. A helyet igénylő objektumok egy-egy saját szegmenst kapnak, így az előző példánkhoz visszatérve külön szegmensben helyezkedik el egy tába és egy index.

extentek

r

A szegmenseket még kisebb darabok, extent-ek építik fel. Egy táblatér extentek ezreit vagy akár millióit is tartalmazhatja.

fizikailag

adatállományok

r

Fizikai megközelítés esetén az adatbázis és a hozzá tartozó táblaterek állományok halmazai, fájlokból épülnek fel.

Oracle adatbázis elemek létrehozása

sorrend

1. ,,fizikai" adatbázis

r

Database administrator hozza létre egy paranccsal:CREATE DATABASE database1...Ha a parancs lefutott, létrejön az adatbázis, ami előredefiniált táblaterekből áll, és a megfelelő datafájlból (fájlokból) implementálódik.

2. táblatér

r

Táblatér létrehozása Database Administartor által, meg kell adni a hivatkozás útvonalát is:CREATE TABLESPACE tablespace1 DATAFILE 'C:\folder1\tablespace1.dbf' SIZE 7G;

3. tábla

r

A tábla létrehozását már nem kell a DBA-nak végeznie, megfelelő jogosultsággal bárki elvégezheti. Itt fontos megadni melyik táblatérben helyezkedjen el:CREATE TABLE table1 (o1 number...)TABLESPACE tablespace1;

Adatszótár (Data Dictionary)

fogalma

tartalma

szótártáblák

táblák táblája

oszlopok táblája

indexek táblája

nézetek táblája

táblaterek táblája

datafile-ok táblája

szótárnézetek

USER_

ALL_

DBA_

keresés az adatszótárban

r

saját példa!!!

lépesi

1. szükséges nézet neve

2. nézet szerkezete

3. végső lekérdezés

önálló feladat megoldása

r

megoldásokat beírni!!!

Adatbáziskezelő rendszer monitorozása

fő működési körülmények

szabad monitorozás

Oracle dinamikus performancia táblák és nézetek

SGA