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.
Procedimientos almacenados
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) oS
(para datos temporales del sistema). El valor predeterminado esU
. 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 es0
. 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
oNONE
. El valor predeterminado esNONE
. 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 esN
. reduce_stop
-
Especifica si se debe interrumpir un comando
reduce_max
oreduce_value
anterior. El tipo de datos eschar
. El valor predeterminado esN
. 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
o1
–100
. El valor predeterminado esN
. lower_high_water
-
Especifica si se debe ejecutar el comando
ALTER TABLESPACE LOWER HIGH WATER MARK
. El tipo de datos eschar
. El valor predeterminado esN
. lower_high_water_stop
-
Especifica si se debe ejecutar el comando
ALTER TABLESPACE LOWER HIGH WATER MARK STOP
. El tipo de datos eschar
. El valor predeterminado esN
. switch_online
-
Especifica si se debe ejecutar el comando
ALTER TABLESPACE SWITCH ONLINE
. El tipo de datos eschar
. El valor predeterminado esN
. 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
yswitch_online
. No funciona conreduce_max
,reduce_stop
,reduce_value
,lower_high_water
ylower_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 valortablespace_type
establecido enT
para los datos temporales del usuario. -
Los parámetros opcionales
reduce_max
,reduce_stop
,reduce_value
,lower_high_water
,lower_high_water_stop
yswitch_online
son mutuamente excluyentes. No puede combinarlos con ningún otro parámetro opcional, por ejemplobuffer_pool_name
, en el comandordsadmin.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')"