-- CREATE TABLE tr_proba(sorsz NUMBER(4), szam NUMBER, szoveg VARCHAR2(40)) -- INSERT INTO tr_proba VALUES(1, 10, 'Elso sor') -- INSERT INTO tr_proba VALUES(2, 20, 'Masodik sor') 1. ablak 2. ablak SET AUTOCOMMIT OFF -------------------------> SET AUTOCOMMIT OFF SELECT * FROM tr_proba; -------------------------> SELECT * FROM tr_proba; UPDATE tr_proba SET szam=szam+1 WHERE sorsz=1; -------------------------> SELECT * FROM tr_proba; COMMIT; -------------------------> SELECT * FROM tr_proba; ---------------------------------------------------------- COMMIT; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; SELECT * FROM tr_proba; -------------------------> SELECT * FROM tr_proba; UPDATE tr_proba SET szam=szam+1 WHERE sorsz=1; -------------------------> SELECT * FROM tr_proba; COMMIT; -------------------------> SELECT * FROM tr_proba; (nem látja az újat) ------------------------------------------------------------ Lekerdezések egy másik tranzakció futása közben: Melyek az eppen futo aktiv tranzakciok? SELECT tr.status, tr.start_time, se.sid, se.username, tr.log_io, tr.phy_io FROM v$session se, v$transaction tr WHERE se.taddr = tr.addr A tranzakció melyik utasitast futtatja eppen? SELECT tr.start_time, se.username, tx.sql_text FROM v$transaction tr, v$session se, v$sqltext tx WHERE tr.addr = se.taddr AND se.prev_sql_addr = tx.address AND se.prev_hash_value = tx.hash_value ORDER BY tr.start_time, tx.piece Egy tranzakcio melyik Rollback szegmenst hasznalja? SELECT rn.name, tr.start_time, tr.addr FROM v$rollname rn, v$transaction tr WHERE rn.usn = tr.xidusn Az undo/rollback szegmensekre vonatkozó statisztikák időintervallumokra lebontva. Hány blokkot használt, hány tranzakció futott, mennyi ideig futott a leghosszabb lekérdezés. SELECT begin_time, end_time, undoblks, txncount, maxquerylen, maxqueryid FROM v$undostat -------------------------------------------------------------- Holtpont kiprobalasa: UPDATE tr_proba SET szam=111 WHERE sorsz=1; UPDATE tr_proba SET szam=222 WHERE sorsz=2; UPDATE tr_proba SET szam=22222 WHERE sorsz=2; UPDATE tr_proba SET szam=11111 WHERE sorsz=1; Zarolasok megnezese Melyik session milyen zarolast tart fenn? SELECT se.sid, se.username, lo.type, lo.lmode FROM v$lock lo, v$session se WHERE se.sid = lo.sid AND username is not null Melyik session var eppen egy zarolasra es miota? SELECT se.sid, se.username, lo.type, lo.lmode, lo.request, lo.ctime FROM v$lock lo, v$session se WHERE se.sid = lo.sid AND username is not null AND lo.request > 0 Melyik sessionre vár valaki más és a blokkoló mióta tartja a zárat? SELECT se.sid, se.username, lo.type, lo.lmode, lo.ctime, lo.block FROM v$lock lo, v$session se WHERE se.sid = lo.sid AND username is not null AND lo.block > 0 Mely objektumokat tartja zarolas alatt a session? SELECT lo.oracle_username, lo.session_id, lo.locked_mode, db.object_name, db.object_type FROM v$locked_object lo, dba_objects db WHERE lo.object_id = db.object_id