Oracle - Sesiones colgadas en Oracle

 
Vista:

Sesiones colgadas en Oracle

Publicado por Sam (3 intervenciones) el 04/07/2007 20:42:20
Hola, estoy corriendo un procedure en una BD Oracle 8i contra un base de datos 9i que es imagen de otra 9i, a traves de un DBlink, durante 2 meses se ejecuto sin problemas, hasta que comenzaron a colgarse las sesiones del procedure sin obtener respuesta, hora hora se activan una tras otra hasta llenar el rollback de la 8i y colapsar, la unica forma en que no colapse despues que la primera sesion se guinda es bajando la BD 9i(imagen), es entonces que el proceso se normaliza, hasta que por alguna razon que aun desconozco vuelve a caer, el procedure esta hecho para almacener los errores, sin embargo al que darse colgadas no arroja error alguno ni por timeout. Espero que alguien pueda ayudarme... Gracias!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Sesiones colgadas en Oracle

Publicado por Hector (127 intervenciones) el 06/07/2007 03:33:58
Hola. Se me ocurre que lo que puedes hacer es poner una 'valvula de escape' a tu procedimiento de sincronía, porque esta durando mas de la hora que le pusiste al job. Se me ocurre algo comoe esto (esbozado, sin chequeo sintactico y a la memoria, asi que por favor perdona los gazapos):

Procedure Actualizar Is
vSeEstaEjecutando TablaControl.SeEstaEjecutando%Type;
Begin
Select SeEstaJecutando
Into vSeEstaEjecutando
From TablaControl;
If vSeEstaEjecutando = 'S' Then
Return;
Else
Update TablaControl
Set SeEstaEjecutando = 'S';
Commit;
/*Aqui haces tu proceso de actualizacion*/
Update TablaControl
Set SeEstaEjecutando = 'N';
Commit;
End If;
End;

De esta manera si ya se esta ejecutando no se vuelve a ejecutar y ya no deberia de llenarte el rollback.

Solo asegurate de no repetir tres veces la definicion del job como te paso en el foro! :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar