2.4. DBMS telepítés, karbantartás

2.4.1. MySQL adatbáziskezelő

2.4.1.1. Ismertesse a mySQL  adatbázis-kezelő telepítési folyamatát!

A telepítő programja letölthető többek között a http://dev.mysql.com/downloads honlapról. A mySQL rendszer telepítése napjainkban viszonylag egyszerű feladattá vált, már ami a kezdeti induló lépéseket illeti. A telepítés során az alábbi paramétereket kell beállítani:

  1. szervergép típusa

  2. adatbázis jellege:

  3. katalógusok kijelölése:

  4. adatkezelés jellege

  5. hálózati kapcsolat engedélyezése

  1. adatbázis karakterkészlet megadása

  2. Root DBMS rendszergazda jelszavának beállítása

  3. A telepítés után az adatbázis objektumok kezelése következhet

2.4.1.2. Ismertesse a mySQL adatbázis megvalósulási típusait.

A tábla több tárolási módban létezhet, a tárolási mód az elvégzendő műveletekre is kihat.

A főbb tárolási módok:

  1. myISAM tábla: egy egyszerűbb tárolási mód, ahol a tábla adatai több állományba szétosztva helyezkednek el. A felhasznált állománytípusok: adatfile, indexfile és formátum leíró file. Az adatfile alapvetően a rekordok szekvenciáját tartalmazza. A rekord lehet fix és lehet változó hosszúságú. Index esetében fizika szinten a megvalósítás lehet Btree, R-tree és Full-text típusú struktúra. Ezen tárolási mód csak tábla szintű zárolást tud megvalósítani és nem lehet idegen kulcsot és tranzakció kezelést sem alkalmazni.

  1. innoDB tábla: összetett tárolási mechanizus áll mögötte, melyben megvalósítható a tranzakció kezelés, a rekord színtű zárolás, az idegen kulcs ,megkötés érvényesítése és a crash recovery mechanizmus. Hátránya, hogy lassabb az adatkezelés folyamata, de sokkal több funkcionalitást és nagyobb megbízhatóságot nyújt.

  2. memory table: memóriában, heap-ben tárolt adattáblákat jelent ez a mechanizmus. Elsősorban a temporális adatok kezelésére alkalmazzák. Ez a struktúra sem támogatja a tranzakció kezelést és az idegen kulcs megkötéseket, a zárolás itt is csak táblaszintű lehet.

A tábla tárolási típusát a CREATE TABLE parancsnál egy TYPE=tipus taggal jelölhetjük ki.

2.4.1.3. Ismeretesse a felhasználó kezelésének fontosabb parancsait

Egy új felhasználót e

CREATE USER unev IDENTIFIED BY jelszo

paranccsal lehet létrehozni. A felhasználó objektum hozzáférési jogait a

GRANT muvelet ON objektum TO felhasználó

paranccsal lehet megadni. A teljes adatbázishoz való teljes jogkkört a

GRANT ALL ON dbnev.* TO feljh

utasítás engedélyezi.

2.4.1.4. Hozzon létre egy tanfolyam adatbázist.

   CREATE DATABASE `Tanfolyam` 
   DEFAULT CHARACTER SET utf8
   COLLATE utf8_hungarian_ci;

2.4.1.5. Hozzon létre egy kurzus innoDB típusú adattáblát a tanfolyam adatbázisban, a mezők között szerepeljen a megnevezés, létszám adatok, kezdés ideje és a díjadatok.

   CREATE TABLE `Tanfolyam`.`Kurzus` (`ID` VARCHAR( 8 ) NOT NULL ,
   `Megnevezes` VARCHAR( 30 ) NOT NULL , `Min_letszam` INT( 2 )
   NOT NULL ,`Max_letszam` INT( 3 ) NOT NULL `Kezdes_ideje` DATE
   NOT NULL , `Dij` INT( 6 ) NOT NULL ,PRIMARY KEY ( `ID` ))
   ENGINE = InnoDB;

2.4.1.6. Hozzon létre egy OKTATÓ adattáblát, melyen rekordszintű zárolás hajtható végre. Adja meg a tábla szerkezetében a név, személy igazolvány, email, születési idő és lakcím mezőket.

   CREATE TABLE `Tanfolyam`.`Oktato` (`Szig` VARCHAR(8) NOT NULL,
   `Nev` VARCHAR(30) NOT NULL, `Email` VARCHAR(20) NOT NULL,
   `Szuletesi_ido` DATE NOT NULL, `Irsz` INT(4) NOT NULL CHECK
   (`Irsz`>999), `Varos` VARCHAR(40) NOT NULL, `Utca` VARCHAR(40)
   NOT NULL, `Hsz` VARCHAR(6) NOT NULL, PRIMARY KEY (`Szig`))
   ENGINE = InnoDB;

2.4.1.7. Készítsen hallgató, és kurzus_oktató, kurzus_hallgató kapcsoló táblákat.

   CREATE TABLE `Tanfolyam`.`Hallgato` (`Szig` VARCHAR(8) NOT NULL,
   `Nev` VARCHAR(30) NOT NULL, `Email` VARCHAR(20) NOT NULL,
   `Szuletesi_ido` DATE NOT NULL, `Irsz` INT(4) NOT NULL CHECK
   (`Irsz`>999), `Varos` VARCHAR(40) NOT NULL, `Utca` VARCHAR(40)
   NOT NULL, `Hsz` VARCHAR(6) NOT NULL, PRIMARY KEY (`Szig`))
   ENGINE = InnoDB;
   
   CREATE TABLE `Tanfolyam`.`Kurzus_Oktato` (`Kurzus` VARCHAR( 8 )
   NOT NULL REFERENCES `Tanfolyam`.`Kurzus`, `Oktato` VARCHAR( 8 )
   NOT NULL REFERENCES `Tanfolyam`.`Oktato`)
   ENGINE = InnoDB;
   
   CREATE TABLE `Tanfolyam`.`Kurzus_Hallgato` (`Kurzus` VARCHAR( 8 )
   NOT NULL REFERENCES `Tanfolyam`.`Kurzus`, `Hallgato` VARCHAR( 8 )
   NOT NULL REFERENCES `Tanfolyam`.`Hallgato`)
   ENGINE = InnoDB;

2.4.1.8. Kérdezze le milyen adattáblák vannak az aktuális adatbázisban.

SHOW TABLES

2.4.1.9. Kérdezze le a Hallgató tábla szerkezetét.

DESCRIBE Hallgato

2.4.2. Oracle adatbáziskezelő

2.4.2.1. Ismertesse az Oracle adatbázis-kezelő fajtáit!

Az Oracle Database 11g a világ piacvezető adatbáziskezelője, mivel a felhasználók különböző igényeihez tud igazodni. Emiatt az Oracle adatbázisa négyféle változatban is elérhető a különböző igények kielégítése miatt:

Oracle Database 10g Express Edition (XE): Ingyenesen használható fejlesztésre, kis helyigényű, gyorsan letölthető és egyszerűen kezelhető. Felhasználók: PHP, Java, .NET, XML alkalmazásfejlesztők, DBA-k (Database Administrator), független szoftver- és hardvergyártók, iskolák és diákok.

Oracle Database Standard Edition: Legalább 5 felhasználó esetén alkalmazható, 4 socket esetén. A Real Application Cluster (RAC) használatával csak azokat a részeit kell megvennünk a programnak, amiket használni fogunk, és ha változás történik a cégnél, akkor bővíthetjük az adatbázis funkcióit, ezáltal csökkenek a vállalati kiadások.

Oracle Database Standard Edition One: A Standard Edition egyszerűsített verziója, ami minimum 5 felhasználós rendszereknél használható, 2 socket esetén. Olyan vállalati megoldás, ami biztonságos, könnyen kezelhető és az adott vállalatra optimalizálható.

Oracle Database 11g Enterprise Edition: Nagyvállalatok számára a legjobb megoldás, akár egy  akár több rendszerből épül fel a konfiguráció. Védelmet nyújt a szerver hibáktól kezdve az emberi mulasztásig, különböző szolgáltatásokat biztosít az OLTP (online tranzakciókezelés), a BI (üzleti intelligencia) terén...

A négy verzió összehasonlítása:

Jellemző

Express Edition 10g

Standard Edition One

Standard Edition

Enterprise Edition

Maximum

1 CPU

2 foglalat

4 foglalat

korlátlan

RAM

1 GB

OS Max

OS Max

OS Max

Adatbázis méret

4 GB

korlátlan

korlátlan

korlátlan

2.4.2.2. Ismertesse az Oracle adatbázis-kezelő telepítési folyamatát!

2.4.2.2.1. Oracle XE telepítése

Az ingyenes Oracle Database Express Edition 10g letölthető az Oracle hivatalos honlapjáról Windows illetve Linux operációs rendszerekre is:

http://www.oracle.com/technetwork/database/express-edition/downloads/index.html.

A letöltéshez szükség van egy Oracle fiók létrehozására, enélkül a programot nem engedi letölteni a rendszer.

A telepítő a létrehozandó adatbázishoz szükséges adatokat kér a felhasználótól. Először a jövőbeni adatbázis jelszavát kell megadni, ami majd a SYS és a SYSTEM adatbázis jelszava is lesz.

2.40. ábra - Oracle XE telepítő űrlapja: adatbázis jelszavak beállítása

Oracle XE telepítő űrlapja: adatbázis jelszavak beállítása

A jelszó beírása után kapunk egy összegzést arról, hogy mi hova lesz majd feltelepítve és ha jók az adatok, akkor a Tovább gombra kattintva elindul a telepítés.

2.41. ábra - Oracle XE telepítő űrlapja: bejelentkezés

Oracle XE telepítő űrlapja: bejelentkezés

A telepítés elvégzése után el is érhetjük a rendszert a böngészőn keresztül, ahol a SYSTEM felhasználónévvel az előbb megadott jelszóval tudunk belépni az adatbázisunkba.

2.4.2.3. Ismertesse az adatbázis létrehozásának folyamatát Oracle adatbázis-kezelőben!

Adatbázis táblák létrehozására többféle módot is kínál az XE. Dolgozhatunk a grafikus felület segítségével, illetve SQL parancsokkal is.

2.42. ábra - Oracle XE telepítő űrlapja: object browser

Oracle XE telepítő űrlapja: object browser

Az első lehetőség az Object Browser menüponton belül érhető el, ami bejelentkezés után a kezdőoldalon található. Válasszuk a Create és azon belül a Table menüpontot.

2.43. ábra - Oracle XE űrlapja: tábla létrehozás

Oracle XE űrlapja: tábla létrehozás

Egy tábla létrehozásához meg kell adni a tábla nevét, ami nem tartalmazhat szóközt, nem kezdődhet számmal vagy alulvonással. Ezután az oszlopneveket és az oszlopok tulajdonságait kell megadni.

Az adattípusok:

  1. NUMBER: szám, pontossága (1-38) és hossza (-84-127) megadható

  2. VARCHAR2: string (1-4000 bájt)

  3. DATE: dátum

  4. TIMESTAMP: másodpercben megadott időbélyeg

  5. CHAR: fix hosszúságú karakterek (1-2000 bájt)

  6. CLOB: character Large Object (8TB)

  7. BLOB: binary Large Object (8TB)

  8. NVARCHAR2

  9. BINARY_FLOAT

  10. BINARY_DOUBLE       

Az adattípuson és a típushoz kapcsoló adatokon kívül az is beállítható, hogy kötelező-e a mezőnek értéket adni (Not Null).

Ezután az elsődleges kulcsok beállítását kéri a rendszer, amennyiben meg akarunk adni.

Az elsődleges kulcsok után az idegen kulcsok megadása következik, végül pedig beállíthatunk megkötéseket is, amik két csoportba sorolhatók:

  1. Check: Ha valamelyik oszlop értékét ellenőrizni akarjuk (például az életkor 0-100 közé essen).

  2. Unique: Ha egy oszlopban csak különböző értékek lehetnek.

2.44. ábra - Oracle XE űrlapja: kulcs megadása

Oracle XE űrlapja: kulcs megadása

Ha mindent jól adtunk meg, akkor ezután a rendszer jelzi a tábla létrejöttét. Másik lehetőség, hogy SQL parancs futtatásával hozzuk létre a táblát. Ekkor a kezdőoldalon az SQL menüt kell választani:

2.4.2.4. Ismertesse a táblák kezelését Oracle adatbázis-kezelőben!

A táblák módosítása szintén az Object Browser vagy SQL parancs segítségével történhet.

Az Object Browsert használva, ha kiválasztottuk a módosítandó táblát, akkor a következő lehetőségek közül választhatunk a különböző fülek alatt:

  1. Add column: oszlop hozzáadása

  2. Modify column: oszlop módosítása

  3. Rename column: oszlop átnevezése

  4. Drop column:         oszlop törlése

  5. Rename: tábla átnevezése

  6. Copy: tábla másolása

  7. Drop: tábla törlése

  8. Truncate

  9. Create Lookup Table

  10. Query: adatlekérdezés

  11. Count rows: sorok száma

  12. Insert row: sor beszúrása

Ezeken kívül lehetőség van a megkötések módosítására / törlésére / létrehozására / be- és kikapcsolására, a különböző felhasználók jogainak beállítására, triggerek be- és kikapcsolására is.

Ha SQL parancsokkal szeretnénk a táblák kezelését megvalósítani, akkor ugyanúgy kell eljárni, mint a 4.2.3-nál.

2.4.2.5. Ismertesse a felhasználók kezelésének, karbantartásának folyamatát Oracle adatbázis-kezelőben!

A felhasználók menedzseléséhez az Administration menüben találhatunk eszközöket:

2.45. ábra - Oracle XE űrlapja: user menedzsment

Oracle XE űrlapja: user menedzsment

A Manage Users menüpontot választva tudunk az adatbázis felhasználói között keresni, majd ezután tudjuk a kiválasztott felhasználó beállításait megnézni, módosítani.

Lehetőség van a felhasználó jelszavának megváltoztatására, privilégiumok csatolására, azaz hogy milyen műveletek végrehajtására jogosult a rendszerben.

Szerepkörök (Roles)

Közvetlenül adott rendszerprivilégiumok (Directly Grantes System Privileges): Ennél a résznél állíthatjuk be, hogy az adott felhasználó milyen műveletek végrehajtására jogosult. Például táblakészítés, view-készítés, procedúra létrehozása, trigger létrehozása...

2.4.2.6. Ismertesse az Oracle adatbázis-kezelő védelmi mechanizmusait!

Az Express Editionben a biztonsági beállításokat a Utilities menüpontból érhetjük el:

Itt lényegesen kisebb a biztonság, mint egy nagyvállalati adatbázis-kezelő esetén, ahol az Oracle folyamatosan fejleszti az adatok védelméért felelős programokat.

Oracle Data Guard

Az adatbázisunk adatainak védelméről az Oracle Data Guard gondoskodik, ami olyan felügyeleti, működésfigyelési és automatizálási szoftverinfrastruktúra, amely egy vagy több tartalék adatbázis létrehozásával, karbantartásával és folyamatos készenlétének biztosításával védi a szervezet adatait.

Oracle Advanced Security

A hálózati titkosításért, a transzparens adattitkosításért, a hatósági és belső előírások érvényesítéséről az Oracle Advanced Security gondoskodik.

Az Oracle adatbáziskezelőben az érzékeny adatok automatikusan titkosításra kerülnek, a transzparens adattitkosító mechanizmus a rendszerbe van ágyazva.

Adattitkosításhoz elég egy alter table SQL parancs kiadása:

ALTER TABLE táblanév modify(titkosítandó_adat encrypt no salt)

Hálózaton küldött adatok védelme

2.46. ábra - Oracle biztonság

Oracle biztonság

Többféle lehetőség közül választhat a felhasználó, például az Oracle Advanced Security natív titkosító és adattitkosítási algoritmusai közül, illetve az SSL közül.

Oracle Label Security

2.47. ábra - Oracle Label Security

Oracle Label Security

Az adatvédelemért az Oracle Label Security a felelős, ami az adatok biztonsági besorolását és a felhasználói jogosultságokat veszi alapul.

Biztonsági újítások az Oracle Database 11g-ben

  1. táblatér szintű transparent data encryptyon

  2. hardveres kulcsok támogatása

  3. megnövelt jelszó biztonság, mint például case-sensitive jelszavak, multibyte-os jelszavak, erősebb password-hash titkosítás (SHA-1, salt)

  4. erős authentikáció SYSDBA és SYSOPER esetén

  5. fejlettebb Kerberos támogatás

A leírtak mellett rengeteg más lehetőség is van a szervezet biztonsági rendszerének megerősítésére:

  1. Virtual Private Database

  2. Global Application Context: biztonságfelügyelet

  3. Fine Grained Auditing: kontextusalapú biztonsági auditálás

  4. Enterprise User Security: adatbázis-felhasználók felügyelete

  5. Secure Application Roles: adatbázis-objektumok hozzáférési jogosultságainak policy alapú szabályozása ...

2.4.2.7. Ismertesse az adatbázis mentések, import, export folyamatát Oracle adatbázis-kezelőben!

A mentésekért a Recovery Manager a felelős, ami a mentések adatait (mikor mi és hogyan lett lementve, hol vannak a másolatok, a log mentések adatai, a lementett adatbázis  sémája, mentési rutinok) egy recovery katalógusban tárolja.

A mentésnek különböző típusai vannak:

  1. teljes: az adatbázis lezárt, nem használható

  2. részleges

  3. inkrementális: csak az utolsó módosítás utáni adatok íródnak ki

  4. kommulatív: az előző inkrementális mentések együttes hatásának letárolása

  5. nyitott: nyitott adatbázis melletti

  6. konzisztens: minden adatfájl egy időpontra igazított

  7. inkonzisztens: az egyes adatfájlok különböző időpontokra igazítottak

Az importálás/exportálás célja az Oracle adatbáziok közötti adatmozgatás megvalósítása, erre saját specifikus Oracle formátumot használ.

Export: az adatbázis egyes szeleteinek kiemelése más formátumú leírásba, módjai:

  1. table: megadott táblák

  2. user: megadott felhasználók adati

  3. full: teljes adatbázis

Import: más forrásból származó adatok beépítése az adatbázisba