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.) OracleEnterprise Manager
lehetőségei (KA AB2EA oldalán) Instancia.ppt, instancia.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
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)
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
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.