Blogia
tecnolakis

Bloqueos Tipos

Existen principalmente dos tipos de bloqueo:
bloqueos de tablas (TM) y
bloqueos a nivel de fila (TX)

Los bloqueos a nivel de tabla son creados cuando se ejecuta una sentencia DML del tipo: update, insert, delete, select ..for update sobre la tabla entera.

Los bloqueos a nivel de fila se crean cuando se ejecutan senencias DML contra un conjunto de registros específicos.

 

En este ejemplo tenemos la tabla SMT_TESTCASE bloqueada con una sentencia:

 

SELECT * FROM SMT_TESTCASE FOR UPDATE

(y no hemos realizado el commit), asi que cualquier sentencia posterior que intente acceder a la tabla se queda parada (es este caso se paran las dos sentencias DELETE from hasta que la tabla bloqueada ya no este en situacion de bloqueo).

 

 

SELECT

’TM’,’TABLE’,’TX’,’Record(s)’) TYPE_LOCK,
decode(L.REQUEST,
0,’NO’,’YES’) WAIT,
s.LOCKWAIT,
l.TYPE,
s.EVENT,
S.OSUSER OSUSER_LOCKER,
S.PROCESS PROCESS_LOCKER,
S.USERNAME DBUSER_LOCKER,
O.OBJECT_NAME OBJECT_NAME,
O.OBJECT_TYPE OBJECT_TYPE,
concat(
’ ’,s.PROGRAM) PROGRAM,
O.OWNER OWNER,
s.TERMINAL,
s.MACHINE,
s.sid,
s.process
FROM v$lock l,dba_objects o,v$session s
WHERE l.ID1 = o.OBJECT_ID
AND s.SID =l.SID
AND l.TYPE in (
’TM’,’TX’)
and o.object_name=
’F4102’
and l.BLOCK=
1;

decode(L.TYPE,
 

 

 

 

 

SELECT 

decode(L.TYPE,’TM’,’TABLE’,’TX’,’Record(s)’) TYPE_LOCK,
decode(L.REQUEST,
0,’NO’,’YES’) WAIT,
S.OSUSER OSUSER_LOCKER,
S.PROCESS PROCESS_LOCKER,
S.USERNAME DBUSER_LOCKER,
O.OBJECT_NAME OBJECT_NAME,
O.OBJECT_TYPE OBJECT_TYPE,
concat(
’ ’,s.PROGRAM) PROGRAM,
O.OWNER OWNER,
s.PROCESS
FROM v$lock l,dba_objects o,v$session s
WHERE l.ID1 = o.OBJECT_ID
AND s.SID =l.SID
AND l.TYPE in (
’TM’,’TX’);

-------- Genere una consulta devolviendo el Cliente PID de la session que estamos ejecutando -----------
SELECT p.spid oracle_dedicated_process, s.process clientpid FROM v$process p, v$session s WHERE p.addr = s.paddr
AND s.audsid = userenv(
’sessionid’);

-------------------------------------------------------------------------------------------------------------------

--

 

1 comentario

Noelia Abril Lujan -

ddd