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!
 
Segédanyagok:
Az előadáson és vizsgán szerepel, lásd Kiss Attila - Adatbázisok 2 előadások
>> Az Oracle naplózási és helyreállítási megoldásai:  naplo.ppt (119-127 oldal)
>> Az Oracle tranzakciókezelési megoldásai: konkurencia.ppt (174-194 oldal)
>> Oracle Online Documentation -  Administrator's Guide: HTML   PDF
>> Nikovits Tibor összefoglalói: tranzakciok.txt     tranz_peldak.txt
     lek_dinam_nez.txt   dinam_nezetek.txt   zarolasok.txt   autonom_tranz.txt
 
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.
    
 Vissza az AB2 gyakorlat oldalára             Vissza a Kezdőlapra