A
gyakorlati
foglalkozások az
előadások
anyagára épülnek 2.EA: Oracle rendszer komponensei. Fizikai
tárolás szervezése.
Még néhány szó a RAID
megoldásokról Raid.doc
Lekérdezések optimalizálása
algebrai_opt.ppt (91-105 o.)
A fizikai fájlszervezés alapjai, kupac, hash
(kiterjeszthető, lineáris) fizika.ppt (1-20 o.)
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 valamelyik 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. nikovits.tabla_123) és adjuk meg, hogy
ez a
tábla mely
adatfájlokban foglal helyet.
3.11. Í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.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, majd
keressük ki a
megfelelő
adatszótárnézetben az erről
tárolt
információt. --
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
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)
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.)
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.