Emplazar (en línea) la reorganización de tabla

La reorganización de tabla in situ reorganiza una tabla y permite el acceso completo a los datos de la tabla. El coste de este acceso ininterrumpido a los datos es una operación REORG de tabla más lenta.

A partir de Db2 Cancun Release 10.5.0.4, la reorganización de tablas inplace está soportada en Db2® pureScale® entornos.

Durante una operación REORG de tabla in situ o en línea, las partes de una tabla se reorganizan secuencialmente. Los datos no se copian en un espacio de tablas temporal; en su lugar, las filas se mueven dentro del objeto de tabla existente para restablecer la agrupación en clúster, reclamar espacio libre y eliminar filas de desbordamiento.

Hay cuatro fases principales en una operación REORG de tabla en línea:
  1. SELECT n páginas

    Durante esta fase, el gestor de bases de datos selecciona un rango de n páginas, donde n es el tamaño de una extensión con un mínimo de 32 páginas secuenciales para el proceso de REORG.

  2. Desalojar el rango

    El programa de utilidad REORG mueve todas las filas dentro de este rango a páginas libres de la tabla. Cada fila que se mueve deja atrás un registro de puntero de tabla (RP) REORG que contiene el ID de registro (RID) de la nueva ubicación de la fila. La fila se coloca en una página libre de la tabla como un registro de desbordamiento de tabla (RO) REORG que contiene los datos. Después de que el programa de utilidad termine de mover un conjunto de filas, espera hasta que finalicen todas las aplicaciones que están accediendo a los datos de la tabla. Estos exploradores antiguos utilizan RID antiguos cuando se accede a los datos de tabla. Cualquier acceso a tabla que se inicie durante este periodo de espera (un nuevo explorador) utiliza nuevos RID para acceder a los datos. Después de que se hayan completado todos los exploradores antiguos, el programa de utilidad REORG limpia las filas movidas, suprimiendo registros RP y convirtiendo registros RO en registros regulares.

  3. Rellenar el rango

    Una vez que todas las filas de un rango específico están vacías, se escriben de nuevo en un formato reorganizado, se ordenan según los índices que se hayan utilizado y obedecen a las restricciones de PCTFREE que se hayan definido. Cuando se reescriben todas las páginas del rango, se seleccionan las siguientes n páginas secuenciales de la tabla y se repite el proceso.

  4. Truncar la tabla

    De forma predeterminada, cuando se reorganizan todas las páginas de la tabla, la tabla se trunca para reclamar espacio. Si se especifica la opción NOTRUNCATE, la tabla reorganizada no se trunca.

Importante: Si una tabla tiene menos de 3 páginas, no se realizará la reorganización de tabla in situ.

Archivos creados durante una operación REORG de tabla en línea

Durante una operación REORG de tabla en línea, se crea un archivo de estado .OLR para cada partición de base de datos. Este archivo binario tiene un nombre cuyo formato es xxxxyyyy.OLR, donde xxxx es el ID de espacio de tablas y yyyy es el ID de objeto en formato hexadecimal. Para un REORG de una tabla particionada de rango, el nombre de archivo tiene el formato aaaabbbbxxxxyyyy.OLR donde aaaa es el ID de espacio de tablas de partición y bbbb es el ID de objeto de partición. Este archivo contiene la siguiente información necesaria para reanudar una operación REORG en línea desde el estado en pausa:
  • El tipo de operación REORG
  • El número de secuencia de anotaciones de vida (LSN) de la tabla que se reorganiza
  • El siguiente rango que se va a dejar vacante
  • Si la operación REORG está agrupando en clúster los datos o simplemente reclamando espacio
  • El ID del índice que se está utilizando para agrupar en clúster los datos

Se ejecuta una suma de comprobación en el archivo .OLR . Si el archivo se daña, causando errores de suma de comprobación, o si el LSN de tabla no coincide con el LSN de vida, se inicia una nueva operación REORG y se crea un nuevo archivo de estado.

Si se suprime el archivo de estado .OLR , el proceso REORG no se puede reanudar, se devuelve SQL2219N y se debe iniciar una nueva operación REORG.

Los archivos asociados con el proceso de reorganización no se deben eliminar manualmente del sistema.