Asignación de espacio secundario para espacios de tablas e índices de Db2
Con conjuntos de datos gestionados por Db2, Db2 puede calcular la cantidad de espacio que se debe asignar a extensiones secundarias mediante un algoritmo de escala móvil, o bien puede especificar la cantidad secundaria al crear o modificar un espacio de tabla o un índice.
Db2 utiliza la escala móvil para determinar el número de cilindros para cada extensión hasta un cierto número de extensiones, que depende del tamaño del conjunto de datos:

- Para conjuntos de datos de 128 GB o más, las primeras 64 extensiones se asignan en tamaño creciente, y las extensiones posteriores se asignan con 1785 cilindros.
- Para conjuntos de datos de entre 32 y 64 GB, las primeras 127 extensiones se asignan en tamaño creciente, y las extensiones posteriores se asignan con 559 cilindros.
- Para conjuntos de datos inferiores a 32 GB, las primeras 127 extensiones se asignan en tamaño creciente, y las extensiones posteriores se asignan con 127 cilindros.

Este enfoque tiene varias ventajas:
- Minimiza la posibilidad de desperdiciar espacio aumentando el tamaño de las extensiones secundarias lentamente al principio.
- Evita asignaciones muy grandes para las extensiones restantes, lo que probablemente causaría fragmentación.
- No requiere que los usuarios especifiquen valores SECQTY al crear y modificar espacios de tabla y espacios de índice.
- En teoría, es posible alcanzar el tamaño máximo del conjunto de datos sin agotar las extensiones secundarias.
En el caso de una fragmentación grave del DASD, pueden ser necesarias hasta 5 extensiones para satisfacer una solicitud de extensión lógica. En esta situación, el conjunto de datos no alcanza el tamaño teórico del conjunto de datos.
Puede modificar la opción Eliminación de restricción de extensión. Al establecer la opción Eliminación de restricción de extensión en SÍ en la clase de datos SMS, el número máximo de extensiones puede ser de hasta 7257. Sin embargo, los límites de 123 extensiones por volumen y un recuento máximo de volumen de 59 por conjunto de datos siguen siendo válidos. Para obtener más información, consulte Uso de extensiones VSAM.
La siguiente tabla muestra la asignación máxima de extensiones secundarias para un espacio de tabla que no utiliza numeración de páginas relativa. Se asume que el tamaño de la primera extensión asignada es un cilindro.
| Tamaño máximo del conjunto de datos (GB) | Asignación máxima (cilindros) | Número de extensiones para alcanzar el tamaño completo |
|---|---|---|
| 1 | 127 | 54 |
| 2 | 127 | 75 |
| 4 | 127 | 107 |
| 8 | 127 | 154 |
| 16 | 127 | 246 |
| 32 | 559 | 172 |
| 64 | 559 | 255 |
128![]() |
1785![]() |
145![]() |
256![]() |
1785![]() |
254![]() |
- No especifica un valor para la cláusula SECQTY de una instrucción CREATE TABLESPACE o CREATE INDEX
- Especifica
SECQTY -1en una instrucción ALTER TABLESPACE o ALTER INDEX.
De lo contrario, Db2 siempre utiliza el valor entero SECQTY especificado para las asignaciones de extensión secundarias, si se especifica explícitamente una.
actual secondary extent size = MAX ( MIN ( ss_extent, MaxAlloc ), SECQTY)En este cálculo, ss_extent representa el valor derivado del algoritmo de escala móvil, y MaxAlloc es la asignación máxima en cilindros, que depende del tamaño máximo potencial del conjunto de datos, como se describe en la Tabla 1. Este enfoque le permite alcanzar el tamaño máximo de página establecido más rápidamente. De lo contrario, Db2 utiliza el valor que se deriva del algoritmo de escala móvil.
Si no proporciona un valor para la cantidad de asignación de espacio secundario, Db2 utiliza el siguiente cálculo para determinar un valor de asignación de espacio secundario.
MAX (ss_extent, MIN ( 0.1 × PRIQTY, MaxAlloc))
Db2 , utiliza el siguiente proceso para determinar la cantidad de asignación de espacio secundario:
- Db2 determina primero los dos valores siguientes para el arrendador:
- 10 % del valor de la asignación de espacio principal (PRIQTY).
- La asignación máxima en cilindros ( MaxAlloc ), tal como se describe en el cuadro 1.
- Db2 luego compara el resultado del paso anterior con el valor determinado por el algoritmo de escala móvil (ss_extent ) y utiliza el mayor de estos dos valores para la cantidad real de asignación de espacio secundario.

Las cantidades de asignación de espacio secundario no superan los valores de la cláusula DSSIZE o PIECESIZE.
Si no desea que Db2 amplíe un conjunto de datos, puede especificar SECQTY 0 al crear o modificar el espacio de tabla o el índice. Cuando especifique este valor, la cantidad secundaria real será 0.
Especificar SECQTY 0 es una forma útil de evitar que los archivos de trabajo de DSNDB07 crezcan desproporcionadamente.
- La cantidad que se calcula mediante la metodología de escala móvil
- El valor de cantidad principal, como se describe en Asignación de espacio principal
- El valor SECQTY especificado