Cómo Db2 retrotrae el trabajo

Si se produce una anomalía en una unidad de recuperación, Db2 retrotrae (restituye) los cambios en los datos. Rolling back devuelve los datos a su estado al inicio de la unidad de recuperación; es decir, Db2 deshace el trabajo.

Para un espacio de tabla de partición por crecimiento, si se añade una nueva partición en la unidad de recuperación, se pueden deshacer las actualizaciones no confirmadas, pero la partición física no se elimina.

Los eventos se muestran en la siguiente figura.

Figura 1. Unidad de recuperación (reversión)
Comenzar descripción de figura. Esta cifra representa una unidad de recuperación en relación con el tiempo. Finalizar descripción de figura.
Iniciar información de la interfaz de programación de uso general.Los posibles eventos que desencadenan el «Inicio de reversión» en esta figura incluyen:
  • Instrucción SQL ROLLBACK
  • Bloqueo (informado como SQLCODE -911)
  • Tiempo de espera (informado como SQLSTATE 40001)

Los efectos de las inserciones, actualizaciones y eliminaciones de valores de objetos grandes (LOB) se eliminan junto con todos los demás cambios que se realizaron durante la unidad de trabajo que se está revirtiendo, incluso si los valores LOB que se cambiaron residen en un espacio de tabla LOB que tiene el atributo LOG NO.

Un operador o una aplicación puede emitir el comando CANCEL THREAD con la opción NOBACKOUT para cancelar subprocesos de larga duración sin deshacer los cambios de datos. Db2 deshace los cambios en las tablas de catálogos y directorios, independientemente de la opción NOBACKOUT. Como resultado, Db2 no lee los registros de registro y no escribe ni aplica los registros de registro de compensación. Después del procesamiento CANCEL THREAD NOBACKOUT, Db2 marca todos los objetos asociados con el hilo como pendientes de actualización (REFP) y los coloca en una lista de páginas lógica (LPL).

La solicitud NOBACKOUT podría fallar por cualquiera de las dos razones siguientes:
  • Db2 no desinstala completamente las actualizaciones del catálogo o directorio (mensaje DSNI032I con motivo 00C900CC ).
  • El hilo es parte de una transacción global (mensaje DSNV439I ).
Finalizar la información de la interfaz de programación de uso general.