Administración de espacios de tabla - Amazon Relational Database Service

Administración de espacios de tabla

Los siguientes procedimientos almacenados 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.

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')"

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.

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) o T (para datos temporales). El valor predeterminado es U.

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

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)"

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')"

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')"

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.

Notas de uso

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. Si combina estos parámetros con cualquier otro parámetro opcional en el comando rdsadmin.alter_tablespace, a ejecutar rdsadmin.get_task_status, Db2 devolverá un error como el siguiente:

DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: SQL1763N Invalid ALTER TABLESPACE statement for table space "TBSP_TEST" due to reason "12"

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.

Ejemplos

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')"

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')"

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')"

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')"