Procedimientos almacenados de espacios de tablas de RDS para Db2 - Amazon Relational Database Service

Procedimientos almacenados de espacios de tablas de RDS para Db2

Los procedimientos almacenados integrados que se describen en este tema administran espacios de tabla de bases de datos de Amazon RDS para Db2. Para ejecutar estos procedimientos, el usuario maestro debe conectarse primero a la base de datos rdsadmin.

Estos procedimientos almacenados se utilizan en diversas tareas. Esta lista no es exhaustiva.

Consulte los siguientes procedimientos almacenados integrados para obtener información sobre su sintaxis, parámetros, notas de uso y ejemplos.

rdsadmin.create_tablespace

Crea un espacio de tabla.

Sintaxis

db2 "call rdsadmin.create_tablespace( 'database_name', 'tablespace_name', 'buffer_pool_name', tablespace_page_size, tablespace_initial_size, tablespace_increase_size, 'tablespace_type', 'tablespace_prefetch_size')"

Parámetros

Se requieren los siguientes parámetros:

database_name

Nombre de la base de datos en la que se creará el espacio de tabla. El tipo de datos es varchar.

tablespace_name

Nombre del espacio tabla que se va a crear. El tipo de datos es varchar.

El nombre del espacio de tabla tiene las siguientes restricciones:

  • No puede ser el mismo que el nombre de un espacio de tabla existente en esta base de datos.

  • Solo puede contener los caracteres _$#@a-zA-Z0-9.

  • No puede empezar con _ o $.

  • No puede empezar con SYS.

Los siguientes parámetros son opcionales:

buffer_pool_name

Nombre del grupo de búferes al que se asignará el espacio de tabla. El tipo de datos es varchar. El valor predeterminado es una cadena vacía.

importante

Debe tener ya un grupo de búferes del mismo tamaño de página para asociarlo al espacio de tabla.

tablespace_page_size

El tamaño de página del espacio de tabla en bytes. El tipo de datos es integer. Valores válidos: 4096, 8192, 16384, 32768. El tamaño predeterminado es el tamaño de página utilizado al crear la base de datos al llamar a rdsadmin.create_database.

importante

Amazon RDS admite la atomicidad de escritura para páginas de 4 KiB, 8 KiB y 16 KiB. Por el contrario, las páginas de 32 KiB corren el riesgo de tener errores de escritura o de que se escriban datos parciales en el escritorio. Si utiliza páginas de 32 KiB, le recomendamos habilitar la recuperación a un momento dado y las copias de seguridad automáticas. De lo contrario, corre el riesgo de no poder recuperarse de las páginas con errores. Para obtener más información, consulte Introducción a las copias de seguridad y Restauración de una instancia de base de datos a un momento especificado para Amazon RDS.

tablespace_initial_size

El tamaño inicial del espacio de tabla en kilobytes (KB). El tipo de datos es integer. Valores válidos: 48 o superiores. El valor predeterminado es null (nulo).

Si no establece un valor, Db2 establece un valor adecuado para su caso.

nota

Este parámetro no se aplica a los espacios de tabla temporales porque los administra el sistema.

tablespace_increase_size

El porcentaje en el que se va a aumentar el espacio de tabla cuando se llene. El tipo de datos es integer. Valores válidos: 1-100. El valor predeterminado es null (nulo).

Si no establece un valor, Db2 establece un valor adecuado para su caso.

nota

Este parámetro no se aplica a los espacios de tabla temporales porque los administra el sistema.

tablespace_type

El tipo de espacio de tabla. El tipo de datos es char. Valores válidos: U (para datos de usuario), T (para datos temporales de usuario) o S (para datos temporales del sistema). El valor predeterminado es U.

tablespace_prefetch_size

El tamaño de página de captura previa del espacio de tabla. El tipo de datos es char. Valores válidos: AUTOMATIC (no distingue entre mayúsculas y minúsculas) o enteros positivos distintos de cero que sean menores o iguales a 32767.

Notas de uso

RDS para Db2 siempre crea una base de datos de gran tamaño para los datos.

Para obtener más información sobre cómo comprobar el estado de creación de un espacio de tabla, consulte rdsadmin.get_task_status.

Ejemplos

Ejemplo 1: creación de un espacio de tabla y asignación de un grupo de búferes

En el siguiente ejemplo, se crea un espacio de tabla llamado SP8 y se asigna un grupo de búferes llamado BP8 para una base de datos llamada TESTDB. El espacio de tabla tiene un tamaño de página de espacio de tabla inicial de 4096 bytes, un espacio de tabla inicial de 1000 KB y el aumento de tamaño de tabla está establecido en el 50 %.

db2 "call rdsadmin.create_tablespace( 'TESTDB', 'SP8', 'BP8', 4096, 1000, 50)"

Ejemplo 2: creación de un espacio de tabla temporal y asignación de un grupo de búferes

En el siguiente ejemplo, se crea un espacio de tabla temporal llamado SP8. Asigna un grupo de búferes denominado BP8 (con un tamaño de 8 KiB) a una base de datos llamada TESTDB.

db2 "call rdsadmin.create_tablespace( 'TESTDB', 'SP8', 'BP8', 8192, NULL, NULL, 'T')"

Ejemplo 3: Creación de un espacio de tablas y asignar un tamaño de página de captura previa

El siguiente ejemplo crea un espacio de tabla llamado SP8 para una base de datos llamada TESTDB. El espacio de tabla tiene un aumento de tamaño inicial del espacio de tabla de 50 y un tamaño de página de captura previa de 800.

db2 "call rdsadmin.create_tablespace( 'TESTDB', 'SP8', NULL, NULL, NULL, 50, NULL, '800')"

rdsadmin.alter_tablespace

Modifica un espacio de tabla.

Sintaxis

db2 "call rdsadmin.alter_tablespace( 'database_name', 'tablespace_name', 'buffer_pool_name', tablespace_increase_size, 'max_size', 'reduce_max', 'reduce_stop', 'reduce_value', 'lower_high_water', 'lower_high_water_stop', 'switch_online', 'tablespace_prefetch_size')"

Parámetros

Se requieren los siguientes parámetros:

database_name

Nombre de la base de datos que usa el espacio de tabla. El tipo de datos es varchar.

tablespace_name

El nombre del espacio de tabla que se va a modificar. El tipo de datos es varchar.

Los siguientes parámetros son opcionales:

buffer_pool_name

Nombre del grupo de búferes al que se asignará el espacio de tabla. El tipo de datos es varchar. El valor predeterminado es una cadena vacía.

importante

Debe tener ya un grupo de búferes del mismo tamaño de página para asociarlo al espacio de tabla.

tablespace_increase_size

El porcentaje en el que se va a aumentar el espacio de tabla cuando se llene. El tipo de datos es integer. Valores válidos: 1-100. El valor predeterminado es 0.

max_size

El tamaño máximo del espacio de tabla. El tipo de datos es varchar. Valores válidos: número entero K | M | G o NONE. El valor predeterminado es NONE.

reduce_max

Especifica si se debe reducir la marca de agua máxima hasta su límite máximo. El tipo de datos es char. El valor predeterminado es N.

reduce_stop

Especifica si se debe interrumpir un comando reduce_max o reduce_value anterior. El tipo de datos es char. El valor predeterminado es N.

reduce_value

El número o porcentaje de reducción del límite máximo del espacio de tabla. El tipo de datos es varchar. Valores válidos: número entero K| M | G o 1100. El valor predeterminado es N.

lower_high_water

Especifica si se debe ejecutar el comando ALTER TABLESPACE LOWER HIGH WATER MARK. El tipo de datos es char. El valor predeterminado es N.

lower_high_water_stop

Especifica si se debe ejecutar el comando ALTER TABLESPACE LOWER HIGH WATER MARK STOP. El tipo de datos es char. El valor predeterminado es N.

switch_online

Especifica si se debe ejecutar el comando ALTER TABLESPACE SWITCH ONLINE. El tipo de datos es char. El valor predeterminado es N.

tablespace_prefetch_size

El tamaño de página de captura previa del espacio de tabla. El tipo de datos es char. Valores válidos: AUTOMATIC (no distingue entre mayúsculas y minúsculas) o enteros positivos distintos de cero que sean menores o iguales a 32767.

nota

Este parámetro solo funciona con buffer_pool_name, table_increase_size, max_size y switch_online. No funciona con reduce_max, reduce_stop, reduce_value, lower_high_water y lower_high_water_stop.

Notas de uso

Antes de llamar al procedimiento almacenado, tenga en cuenta lo siguiente:

  • El procedimiento almacenado rdsadmin.alter_tablespace no funcionará en un espacio de tablas con el valor tablespace_type establecido en T para los datos temporales del usuario.

  • Los parámetros opcionales reduce_max, reduce_stop, reduce_value, lower_high_water, lower_high_water_stop y switch_online son mutuamente excluyentes. No puede combinarlos con ningún otro parámetro opcional, por ejemplo buffer_pool_name, en el comando rdsadmin.alter_tablespace. Para obtener más información, consulte Statement not valid.

Para obtener más información sobre cómo comprobar el estado de modificación de un espacio de tabla, consulte rdsadmin.get_task_status.

Para ver los mensajes de error devueltos al llamar a los procedimientos almacenados, consulte Errores en los procedimientos almacenados.

Ejemplos

Ejemplo 1: bajada de la marca de agua superior

En el siguiente ejemplo, se modifica un espacio de tabla llamado SP8 y se asigna un grupo de búferes llamado BP8 a una base de datos llamada TESTDB para reducir el límite máximo.

db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'SP8', 'BP8', NULL, NULL, 'Y')"

Ejemplo 2: reducción de la marca de agua superior

El siguiente ejemplo ejecuta el comando REDUCE MAX en un espacio de tabla llamado TBSP_TEST en la base de datos TESTDB.

db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'TBSP_TEST', NULL, NULL, NULL, 'Y')"

Ejemplo 3: interrupción de comandos para reducir la marca de agua superior

El siguiente ejemplo ejecuta el comando REDUCE STOP en un espacio de tabla llamado TBSP_TEST en la base de datos TESTDB.

db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'TBSP_TEST', NULL, NULL, NULL, NULL, 'Y')"

Ejemplo 4: Cambio del tamaño de la página de captura previa existente

En el siguiente ejemplo, se ejecuta el comando ALTER TABLESPACE SWITCH ONLINE en un espacio de tabla llamado TSBP_TEST y se cambia el tamaño de la página de captura previa existente a 64.

db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'TBSP_TEST', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, ‘Y’, ‘64’)"

rdsadmin.rename_tablespace

Cambia el nombre de un espacio de tabla.

Sintaxis

db2 "call rdsadmin.rename_tablespace( ?, 'database_name', 'source_tablespace_name', 'target_tablespace_name')"

Parámetros

Se requieren los siguientes parámetros:

?

Un marcador de parámetros que genera un mensaje de error. Este parámetro solo acepta ?

database_name

El nombre de la base de datos al que corresponde el espacio de tabla. El tipo de datos es varchar.

source_tablespace_name

El nombre del espacio de tabla que se va a cambiar. El tipo de datos es varchar.

target_tablespace_name

En nuevo nombre del espacio de tabla. El tipo de datos es varchar.

El nuevo nombre tiene las siguientes restricciones:

  • No puede ser el mismo que el nombre de un espacio de tabla existente.

  • Solo puede contener los caracteres _$#@a-zA-Z0-9.

  • No puede empezar con _ o $.

  • No puede empezar con SYS.

Notas de uso

Para obtener más información sobre cómo comprobar el estado de cambio de nombre de un espacio de tabla, consulte rdsadmin.get_task_status.

No puede cambiar el nombre de espacios de tabla que pertenecen a la base de datos rdsadmin.

Ejemplos

El siguiente ejemplo cambia el nombre de un espacio de tabla llamado SP8 a SP9 una base de datos llamada TESTDB.

db2 "call rdsadmin.rename_tablespace( ?, 'TESTDB', 'SP8', 'SP9')"

rdsadmin.drop_tablespace

Elimina un espacio de tabla.

Sintaxis

db2 "call rdsadmin.drop_tablespace( 'database_name', 'tablespace_name')"

Parámetros

Se requieren los siguientes parámetros:

database_name

El nombre de la base de datos al que corresponde el espacio de tabla. El tipo de datos es varchar.

tablespace_name

Nombre del espacio de tabla que se va a eliminar. El tipo de datos es varchar.

Notas de uso

Para obtener más información sobre cómo comprobar el estado de eliminación de un espacio de tabla, consulte rdsadmin.get_task_status.

Ejemplos

El siguiente ejemplo elimina un espacio de tabla llamado SP8 de una base de datos llamada TESTDB.

db2 "call rdsadmin.drop_tablespace( 'TESTDB', 'SP8')"