2.gyak. Adattárolás, DBA-nézetek
    
>> 3.témakör: Adattárolással kapcsolatos fogalmak, DBA-nézetek  
>> 4.témakör: Egyéb objektumok (pl. adatbázis-kapcsoló) 
   

A gyakorlati foglalkozás és az előadások anyagára épül. 
2.EA: Oracle rendszer komponensei. Fizikai tárolás szervezése.
Oracle példány, folyamatok, memóriaterületek Oracle.ppt (KA) (1-38.o.)
Oracle Enterprise Manager lehetőségei (KA AB2EA oldalán)
Instancia.pptinstancia.pdf,  instancia_inditas.pdf (NT)
OracleConcepts11g.pdf  (KA széljegyzetével) (uez)
Fizikai tárolás szervezése storage-hu.ppt (KA) (1-28.o. RAID végéig)
   
-- előadáshoz kapcsolódó további olvasmány:
Molina-Ullman-Widom: Adatbázisrendszerek megvalósítása, Panem, 2001.
2.fej. Adattárolás (memóriahierarchia, lemezek, lemezhiba helyreállítása)
    

3.témakör: Adattárolással kapcsolatos fogalmak, DBA-nézetek
DBA_TABLES, DBA_DATA_FILES, DBA_TEMP_FILES,
DBA_TABLESPACES, DBA_SEGMENTS, DBA_EXTENTS,
DBA_FREE_SPACE


Segédanyag: LogDB_Struct.pdf  + OracleDoc: Concepts
+ 02-DBA nézetek.pdfKatalTablak  + OracleDoc: Reference
   
3.01. Melyik táblatéren van az ORAUSER felhasználó dolgozo táblája? (DBA_TABLES)
   
3.02. Adjuk meg az adatbázishoz tartozó adatfile-ok (és temporális fájlok) nevét és méretét
         méret szerint csökkenő sorrendben. (DBA_DATA_FILES, DBA_TEMP_FILES)
   
3.03. Adjuk meg, hogy milyen táblaterek vannak létrehozva az adatbázisban,
         az egyes táblaterek hány adatfájlból állnak, és mekkora az összméretük.
         (tablater_nev, fajlok_szama, osszmeret) Vigyázat, van temporális táblatér is!
   
3.04. Mekkora a blokkok mérete a USERS táblatéren? (DBA_TABLESPACES)
   
3.05. Melyik a legnagyobb méretű tábla szegmens az adatbázisban (a tulajdonost is adjuk meg)
         és hány extensből áll? (A particionált táblakat ne vegyük figyelembe) (DBA_SEGMENTS)
   
3.06. Melyik a legnagyobb méretű index szegmens az adatbázisban és hány blokkból áll?
         (A particionált indexeket most ne vegyük figyelembe.)
   
3.07. Adjuk meg adatfájlonként, hogy az egyes adatfajlokban mennyi a foglalt hely
         összesen (írassuk ki a fájlok méretét is). (DBA_EXTENTS)
   
3.08. Melyik két felhasználó objektumai foglalnak összesen a legtöbb helyet az adatbázisban?
   
3.09. Van-e a NIKOVITS felhasználónak olyan táblája, amelyik több adatfájlban is foglal helyet?
   
3.10. Válasszunk ki a fenti táblákból egyet (pl. tabla_123) és adjuk meg, hogy ez a tábla
          mely adatfájlokban foglal helyet.
     
HF03.  Írjunk meg egy PL/SQL procedúrát, amelyik kiírja, hogy a paraméterül  
         kapott tábla melyik fájlban mennyi helyet (hány adatblokkot) foglal el
               (Fájlnév, Méret) --> proc(tulajdonos, táblanév).
         Hívjuk meg az eljárást (’SH’, ’CUSTOMERS’) paraméterekkel.
   

4.témakör: Egyéb objektumok (szinonima, szekvencia, adatbázis-kapcsoló)
(DBA_SYNONYMS, DBA_SEQUENCES, DBA_DB_LINKS)
   
Segédanyagok: EgyébObjektumok.txt  + OracleDoc: SQL Language Reference
   
4.01. Szinonimák létrehozása és használata
        - HR, SH táblákhoz készítsünk szinonimákat és keressük meg a katalógustáblában.
   
4.02.  Adjuk ki az alábbi utasítást: SELECT * FROM szinonima1;
          majd a katalógustáblák lekérdezésével derítsük ki, hogy kinek melyik tábláját
          kérdeztük le. (Ha nézettel találkozunk, azt is fejtsük ki, hogy az mit kérdez le.)
 
4.03. Szekvencia létrehozása és használata
         - Előkészítés: Az orauser.emp és orauser.dept hozzuk létre (de üresen!) saját táblákat.
         - Hozzunk létre egy szekvenciát, amelyik az osztály azonosítókat generálja
           a számunkra. Minden osztály azonosító a 10-nek többszöröse legyen.
            (create sequence)
         - Vigyünk fel 3 új osztályt és osztályonként minimum 3 dolgozót a táblákba.
           Az osztály azonosítókat a szekvencia segítségével állítsuk elő, és ezt tegyük be
           a táblába. (Vagyis ne kézzel írjuk be az azonosítót.)
         - A felvitel után módosítsuk a 10-es osztály azonosítóját a köv.érvényes (generált)
           osztály azonosítóra. (Itt is a szekvencia segítségével adjuk meg, hogy mi lesz a
           következő azonosító.) A 10-es osztály dolgozóinak az osztályazonosító ertékét is
           módosítsuk az új értékre.
 
4.04. Hozzunk létre adatbázis-kapcsolót (database link) a tomx adatbázisban,
         amelyik a másik oradb adatbázisra mutat.  -- Megjegyzés: Jelenleg a tomx
        Oracle 11g-s az oradb pedig Oracle 10g-s adatbázis. Az újabb verziójú tomx
        adatbázisból hozzunk létre kapcsolatot a korábbi verziójú oradb adatbázishoz!
            
                    CREATE DATABASE LINK oradb
        connect to <ehakod> identified by <jelszo>
        USING 'oradb';


         Az adatbáziskapcsoló segítségével adjuk meg olyan lekérdezést, amely mindkét
         adatbázis tábláit használja. A lekérdezések alapjául szolgáló táblák, lásd sema.pdf

                NIKOVITS.VILAG_ORSZAGAI TOMX adatbázis
        NIKOVITS.FOLYOK         ORADB adatbázis
 
         Az országok egyedi azonosítója a TLD (Top Level Domain) oszlop.
         Az ország hivatalos nyelveit vesszőkkel elválasztva a NYELV oszlop tartalmazza.
         A GDP (Gross Domestic Product -> hazai bruttó össztermék) dollárban van megadva.
         A folyók egyedi azonosítója a NEV oszlop.
         A folyók vízhozama m3/s-ban van megadva, a vízgyűjtő területük km2-ben.
         A folyó által érintett országok azonosítóit (TLD) a forrástól a torkolatig
         (megfelelő sorrendben vesszőkkel elválasztva) az ORSZAGOK oszlop tartalmazza.
         A FORRAS_ORSZAG és TORKOLAT_ORSZAG hasonló módon a megfelelő
         országok azonosítóit tartalmazza (egy folyó torkolata országhatárra is eshet, pl. Duna)
 
4.05. Mely folyók érintik Csehországot? (Tegyük fel, hogy csak az ország nevét tudjuk,
        vagyis azt, hogy a nevében szerepel a 'cseh' karakterlánc kis vagy nagybetűkkel.)
       
HF04. Mely országokon folyik keresztül a Nílus? Az országok nevét (!) a forrástól
           a torkolatig a megfelelő (!) sorrendben adjuk meg.
   
 Vissza az AB2 gyakorlat oldalára             Vissza a Kezdőlapra