Az
Oracle
tranzakciókezelési megoldásai
- II.ZH feladatainak megbeszélése, gyakorlati
jegyek
zárása és
beírása az indexbe.
- Ezen az utolsó gyakorlaton nézzük meg
a
gyakorlatban az Oracle megoldásokat!
Feladatok - Nikovits
Tibor
Információkezelés gyakorlatai
alapján
lásd tranz_peldak.txt (megoldásokkal)
konk_1
- Tranzakció-kezelés
alapjai. COMMIT,
ROLLBACK,SAVEPOINT
- Nyissunk meg egyszerre két SQLPLUS
ablakot (vagy sqldevelopert),
tiltsuk le az automatikus commit-ot
(SET
AUTOCOMMIT OFF)
és
végezzünk olvasó
és
módosító műveleteket a két
ablakból felváltva.
Az előző 61dcl_2 feladatban
létrehozott
táblákat és nézeteket
használjuk.
- Az aktív tranzakciók
futása
közben adjuk meg a rendszerkatalógusok
alapján
a következő
információkat a
saját magunk által futtatott
tranzakciókról.
(Lásd az alábbi
feladatokat itt is: tranz_peldak.txt,
megoldásokkal)
- Melyek az aktiv tranzakciók, mikor
indultak el,
és ki futtatja azokat?
- A tranzakció melyik
utasítást futtatja éppen?
konk_2
- Melyik rollback szegmenst
használják
épp az aktív tranzakciók?
- Melyik adatfájlba
írják a
tranzakciók a rollback blokkjaikat?
konk_3
- Holtpont
kipróbálása
- Adjunk meg két
utasítássorozatot a
két ablakban úgy, hogy DEADLOCK alakuljon ki.
(Lásd
például itt is: tranz_peldak.txt,
megoldásokkal)
konk_4
- Az
Oracle
tranzakcióelkülönítési
szintjei
- Adjunk meg két
utasítássorozatot a
két ablakban úgy, hogy az egyik ablak
a következő
hibaüzenetet kapja:
"ORA-08177: Cannot serialize access for
this transaction"
(Tipp: SET TRANSACTION
ISOLATION
LEVEL SERIALIZABLE;)
konk_5
- Zárolások
megnézése
- Melyik session milyen
típusú (sor->TX,
tabla->TM) és milyen módú
zárolást tart
fenn éppen? (RS->2, RX->3, S->4,
SRX->5, X->6)
(SID,
USERNAME,
TYPE, LMODE)
konk_6
- Melyik session vár épp egy
zárolásra
(SID,
USERNAME,
TYPE,
LMODE, REQUEST),
illetve melyik zárolasra
vár épp
valaki
(SID,
USERNAME,
TYPE,
LMODE, BLOCK)?
konk_7
- Milyen régen tartja fenn a rendszer a
zárolasokat, illetve
milyen
régen vár valaki egy
zárolásra?
(SID,
USERNAME,
TYPE,
LMODE, CTIME, REQUEST)
konk_8
- Mely objektumokat tartja
zárolás alatt valamelyik session jelen
pillanatban?
konk_9
- Derítsük ki (megfelelő
manuális
lock-oló utasítások
segítségével), hogy a
Row Exclusive (RX)
módú
zárolást milyen módú
zárolásokkal egyidejűleg
engedélyezi a rendszer,
és mely
módú zárolások
esetén kell várnia a
későbbi
kérelmezőnek.