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.
- 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.
- 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 (unnuevo 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. - 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.
- 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.
Archivos creados durante una operación REORG de tabla en línea
- 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.