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
.
Temas
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) oT
(para datos temporales). El valor predeterminado esU
.
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 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
.
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')"