Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Acceder a un registro en forma exclusiva por varios procesos concurrentes

Estas en el tema de Acceder a un registro en forma exclusiva por varios procesos concurrentes en el foro de Oracle en Foros del Web. Buenas a todos, estoy teniendo un problema con un conjunto de procesos que acceden en paralelo a una BBDD Oracle 9i, y necesito saber como ...
  #1 (permalink)  
Antiguo 13/01/2009, 10:04
 
Fecha de Ingreso: enero-2009
Mensajes: 2
Antigüedad: 15 años, 3 meses
Puntos: 0
Acceder a un registro en forma exclusiva por varios procesos concurrentes

Buenas a todos, estoy teniendo un problema con un conjunto de procesos que acceden en paralelo a una BBDD Oracle 9i, y necesito saber como hacer para que, cuando un proceso toma un registro de una tabla, lo bloquee en modo exclusivo, y que los demás procesos que quieran acceder a dicho registro, queden en espera, y no devuelvan el control al proceso padre, que esperen hasta acceder al registro, obviamente, que lo tomen en modo exclusivo, y que lo desbloqueen al liberrarlo, y, mientras esperan su turno, que queden en sleep, hasta que le toque tomar dicho registro.
Muchas gracias desde ya a todos.
Saludos.
  #2 (permalink)  
Antiguo 13/01/2009, 21:11
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 1 mes
Puntos: 7
Respuesta: Acceder a un registro en forma exclusiva por varios procesos concurrentes

checate la sintaxis del

select ...
for update
__________________
Blogzote.com :-) Mi blog
  #3 (permalink)  
Antiguo 20/01/2009, 12:49
 
Fecha de Ingreso: enero-2009
Mensajes: 2
Antigüedad: 15 años, 3 meses
Puntos: 0
De acuerdo Respuesta: Acceder a un registro en forma exclusiva por varios procesos concurrentes

Muchas gracias por tu respuesta, pero esa opción ya la había descartado. Encontré un paquete llamado DBMS_LOCK, que cumple con los requisitos de ejecución que necesito.
Gracias de nuevo.
  #4 (permalink)  
Antiguo 21/01/2009, 02:59
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 16 años, 10 meses
Puntos: 43
Respuesta: Acceder a un registro en forma exclusiva por varios procesos concurrentes

Tengo mis dudas sobre eso.

Supongo que te refieres al DBMS_LOCK.SLEEP(N), donde N es el número de segundos que se queda parado el "cursor". Por lo que planteas no te va a servir.

Haz caso a kikolice y enfocalo por el SELECT... FOR UPDATE.
  #5 (permalink)  
Antiguo 21/01/2009, 11:11
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 1 mes
Puntos: 7
Respuesta: Acceder a un registro en forma exclusiva por varios procesos concurrentes

yo nunca he usado ese package pero igual coincido que como tu problema bien se podria solucionar con un select for update
__________________
Blogzote.com :-) Mi blog
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:21.