Kategorier: Alla - adatbázis

av Richárd Kele för 7 årar sedan

227

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

Az adatbázisok működésének és szerkezetének megértése fontos a hatékony adatkezelés szempontjából. Az adatbázis fizikai szerkezete fájlok halmazából áll, amelyek logikai elemeket tartalmaznak.

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

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

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áziskezelő rendszer monitorozása

Oracle dinamikus performancia táblák és nézetek
szabad monitorozás
fő működési körülmények

Adatszótár (Data Dictionary)

keresés az adatszótárban

saját példa!!!

önálló feladat megoldása

megoldásokat beírni!!!


lépesi

3. végső lekérdezés

2. nézet szerkezete

1. szükséges nézet neve

tartalma
szótárnézetek

DBA_

ALL_

USER_

szótártáblák

datafile-ok táblája

táblaterek táblája

nézetek táblája

indexek táblája

oszlopok táblája

táblák táblája

fogalma

Adatbázis fizikai szerkezete

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 elemek létrehozása
sorrend

3. tábla

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;

2. táblaté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;

1. ,,fizikai" adatbázis

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.

Kapcsolat a logikai és a fizikai szerkezetek között Orcle adatbázisnál
adatbázis felépítése

fizikailag

adatállományok

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.

logikailag

táblaterek

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

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

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

Oracle adatbázis architektúrája

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

rétegei

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.

server

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

user

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

részei

adatbázis

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

processzek

server process

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.

user process

Instance

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

SGA

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.

database writer

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.

redo log buffer cache

database buffer cache

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.

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

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:

  1. datafile-ok
  2. kontroll file-ok
  3. redo log file-ok
egyéb fájltípusok

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.

archived log files

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.

password file

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.


parameter file

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.

vezérlőállomány

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.

naplóállomány

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).

adatállomány

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.