Tareas comunes para espacios de tablas
Puede crear, modificar, cambiar de nombre o eliminar espacios de tabla para una base de datos de RDS para Db2. Crear, modificar, cambiar de nombre o eliminar espacios de tabla requiere una autoridad SYSADM
de nivel superior, que no está disponible para el usuario principal. En su lugar, utilice procedimientos almacenados de Amazon RDS.
Temas
- Creación de un espacio de tabla
- Modificación de un espacio de tabla
- Cambio de nombre de un espacio de tabla
- Eliminación de un espacio de tabla
- Comprobación del estado de un espacio de tabla
- Devolución de información detallada sobre espacios de tabla
- Mostrar el estado y el grupo de almacenamiento de un espacio de tabla
- Mostrar los espacios de tabla de una tabla
- Mostrar los contenedores de espacio de tabla
Creación de un espacio de tabla
Para crear un espacio de tabla para las bases de datos de RDS para Db2, llame al procedimiento almacenado rdsadmin.create_tablespace
. Para obtener más información, consulte Instrucción CREATE TABLESPACE
importante
Para crear un espacio de tabla, debe tener un grupo de búferes del mismo tamaño de página para asociarlo al espacio de tablas. Para obtener más información, consulte Tareas comunes para grupos de búferes.
Para crear un espacio de tabla
-
Conéctese a la base de datos
rdsadmin
con el nombre de usuario y la contraseña maestros de su instancia de base de datos de RDS para Db2. En el siguiente ejemplo, sustituyamaster_username
ymaster_password
por su propia información.db2 "connect to rdsadmin user
master_username
usingmaster_password
" -
Cree un espacio de tablas llamando a
rdsadmin.create_tablespace
. Para obtener más información, consulte rdsadmin.create_tablespace.db2 "call rdsadmin.create_tablespace( '
database_name
', 'tablespace_name
', 'buffer_pool_name
',tablespace_initial_size
,tablespace_increase_size
, 'tablespace_type
')"
Modificación de un espacio de tabla
Para modificar un espacio de tabla para las bases de datos de RDS para Db2, llame al procedimiento almacenado rdsadmin.alter_tablespace
. Puede utilizar este procedimiento almacenado para cambiar el grupo de búferes de un espacio de tabla, reducir el límite máximo o poner un espacio de tabla en línea. Para obtener más información, consulte Instrucción ALTER TABLESPACE
Para modificar un espacio de tabla
-
Conéctese a la base de datos
rdsadmin
con el nombre de usuario y la contraseña maestros de su instancia de base de datos de RDS para Db2. En el siguiente ejemplo, sustituyamaster_username
ymaster_password
por su propia información.db2 "connect to rdsadmin user
master_username
usingmaster_password
" -
Modifique un espacio de tabla llamando a
rdsadmin.alter_tablespace
. Para obtener más información, consulte rdsadmin.alter_tablespace.db2 "call rdsadmin.alter_tablespace( '
database_name
', 'tablespace_name
', 'buffer_pool_name
',buffer_pool_size
,tablespace_increase_size
, 'max_size
', 'reduce_max
', 'reduce_stop
', 'reduce_value
', 'lower_high_water
', 'lower_high_water_stop
', 'switch_online
')"
Cambio de nombre de un espacio de tabla
Para cambiar el nombre de un espacio de tabla para las bases de datos de RDS para Db2, llame al procedimiento rdsadmin.rename_tablespace
almacenado. Para obtener más información, consulte Instrucción RENAME TABLESPACE
Cambio de nombre de un espacio de tabla
-
Conéctese a la base de datos
rdsadmin
con el nombre de usuario y la contraseña maestros de su instancia de base de datos de RDS para Db2. En el siguiente ejemplo, sustituyamaster_username
ymaster_password
por su propia información.db2 "connect to rdsadmin user
master_username
usingmaster_password
" -
Cambie el nombre de un espacio de tabla llamando a
rdsadmin.rename_tablespace
. Para obtener más información, incluidas las restricciones sobre el nombre de un espacio de tabla, consulte rdsadmin.rename_tablespace.db2 "call rdsadmin.rename_tablespace( '
database_name
', 'source_tablespace_name
', 'target_tablespace_name
')"
Eliminación de un espacio de tabla
Para eliminar un espacio de tabla para las bases de datos de RDS para Db2, llame al procedimiento almacenado rdsadmin.drop_tablespace
. Antes de borrar un espacio de tabla, coloque primero todos los objetos del espacio de tablas, como tablas, índices u objetos grandes (LOB). Para obtener más información, consulte Eliminación de espacios de tabla
Para eliminar un espacio de tabla
-
Conéctese a la base de datos
rdsadmin
con el nombre de usuario y la contraseña maestros de su instancia de base de datos de RDS para Db2. En el siguiente ejemplo, sustituyamaster_username
ymaster_password
por su propia información.db2 "connect to rdsadmin user
master_username
usingmaster_password
" -
Elimine un espacio de tabla llamando a
rdsadmin.drop_tablespace
. Para obtener más información, consulte rdsadmin.drop_tablespace.db2 "call rdsadmin.drop_tablespace( '
database_name
', 'tablespace_name
')"
Comprobación del estado de un espacio de tabla
Puede comprobar el estado de un espacio de tabla con la función cast
.
Para comprobar del estado de un espacio de tabla
-
Conéctese a su base de datos Db2 con el nombre de usuario y la contraseña maestros de su instancia de base de datos de RDS para Db2. En el siguiente ejemplo, sustituya
rds_database_alias
,master_username
ymaster_password
por su propia información.db2 connect to
rds_database_alias
usermaster_username
usingmaster_password
-
Devolver un resultado resumido.
Para obtener un resultado resumido:
db2 "select cast(tbsp_id as smallint) as tbsp_id, cast(tbsp_name as varchar(35)) as tbsp_name, cast(tbsp_type as varchar(3)) as tbsp_type, cast(tbsp_state as varchar(10)) as state, cast(tbsp_content_type as varchar(8)) as contents from table(mon_get_tablespace(null,-1)) order by tbsp_id"
Devolución de información detallada sobre espacios de tabla
Puede devolver información sobre un espacio de tabla para un miembro o para todos los miembros mediante la función cast
.
Para devolver información detallada sobre espacios de tabla
-
Conéctese a su base de datos Db2 con el nombre de usuario y la contraseña maestros de su instancia de base de datos de RDS para Db2. En el siguiente ejemplo, sustituya
rds_database_alias
,master_username
ymaster_password
por su propia información.db2 connect to
rds_database_alias
usermaster_username
usingmaster_password
-
Devuelve los detalles de todos los espacios de tabla de la base de datos de un miembro o de todos los miembros.
Para un miembro:
db2 "select cast(member as smallint) as member, cast(tbsp_id as smallint) as tbsp_id, cast(tbsp_name as varchar(35)) as tbsp_name, cast(tbsp_type as varchar(3)) as tbsp_type, cast(tbsp_state as varchar(10)) as state, cast(tbsp_content_type as varchar(8)) as contents, cast(tbsp_total_pages as integer) as total_pages, cast(tbsp_used_pages as integer) as used_pages, cast(tbsp_free_pages as integer) as free_pages, cast(tbsp_page_top as integer) as page_hwm, cast(tbsp_page_size as integer) as page_sz, cast(tbsp_extent_size as smallint) as extent_sz, cast(tbsp_prefetch_size as smallint) as prefetch_sz, cast(tbsp_initial_size as integer) as initial_size, cast(tbsp_increase_size_percent as smallint) as increase_pct, cast(storage_group_name as varchar(12)) as stogroup from table(mon_get_tablespace(null,-1)) order by member, tbsp_id "
Para todos los miembros:
db2 "select cast(member as smallint) as member cast(tbsp_id as smallint) as tbsp_id, cast(tbsp_name as varchar(35)) as tbsp_name, cast(tbsp_type as varchar(3)) as tbsp_type, cast(tbsp_state as varchar(10)) as state, cast(tbsp_content_type as varchar(8)) as contents, cast(tbsp_total_pages as integer) as total_pages, cast(tbsp_used_pages as integer) as used_pages, cast(tbsp_free_pages as integer) as free_pages, cast(tbsp_page_top as integer) as page_hwm, cast(tbsp_page_size as integer) as page_sz, cast(tbsp_extent_size as smallint) as extent_sz, cast(tbsp_prefetch_size as smallint) as prefetch_sz, cast(tbsp_initial_size as integer) as initial_size, cast(tbsp_increase_size_percent as smallint) as increase_pct, cast(storage_group_name as varchar(12)) as stogroup from table(mon_get_tablespace(null,-2)) order by member, tbsp_id "
Mostrar el estado y el grupo de almacenamiento de un espacio de tabla
Puede enumerar el estado y el grupo de almacenamiento de un espacio de tabla mediante la ejecución de una instrucción de SQL.
Para enumerar el estado y el grupo de almacenamiento de un espacio de tabla, ejecute la siguiente instrucción SQL:
db2 "SELECT varchar(tbsp_name, 30) as tbsp_name, varchar(TBSP_STATE, 30) state, tbsp_type, varchar(storage_group_name,30) storage_group FROM TABLE(MON_GET_TABLESPACE('',-2)) AS t"
Mostrar los espacios de tabla de una tabla
Puede enumerar los espacios de tabla de una tabla ejecutando una instrucción de SQL.
Para mostrar los espacios de tabla de una tabla, ejecute la siguiente instrucción SQL. En el siguiente ejemplo, sustituya SCHEMA_NAME
y TABLE_NAME
por los nombres del esquema y la tabla:
db2 "SELECT VARCHAR(SD.TBSPACE,30) AS DATA_SPACE, VARCHAR(SL.TBSPACE,30) AS LONG_SPACE, VARCHAR(SI.TBSPACE,30) AS INDEX_SPACE FROM SYSCAT.DATAPARTITIONS P JOIN SYSCAT.TABLESPACES SD ON SD.TBSPACEID = P.TBSPACEID LEFT JOIN SYSCAT.TABLESPACES SL ON SL.TBSPACEID = P.LONG_TBSPACEID LEFT JOIN SYSCAT.TABLESPACES SI ON SI.TBSPACEID = P.INDEX_TBSPACEID WHERE TABSCHEMA = '
SCHEMA_NAME
' AND TABNAME = 'TABLE_NAME
'"
Mostrar los contenedores de espacio de tabla
Puede enumerar todos los contenedores de espacios de tablas o contenedores de espacios de tabla específicos mediante el comando cast
.
Para enumerar los contenedores de espacios de tabla de un espacio de tabla
-
Conéctese a su base de datos Db2 con el nombre de usuario y la contraseña maestros de su instancia de base de datos de RDS para Db2. En el siguiente ejemplo, sustituya
rds_database_alias
,master_username
ymaster_password
por su propia información:db2 connect to
rds_database_alias
usermaster_username
usingmaster_password
-
Devuelve una lista de todos los contenedores de espacios de tabla de la base de datos o de contenedores de espacios de tabla específicos.
Para todos los contenedores de espacios de tabla:
db2 "select cast(member as smallint) as member, cast(tbsp_name as varchar(35)) as tbsp_name, cast(container_id as smallint) as id, cast(container_name as varchar(60)) as container_path, container_type as type from table(mon_get_container(null,-2)) order by member,tbsp_id,container_id"
Para contenedores de espacios de tabla específicos:
db2 "select cast(member as smallint) as member, cast(tbsp_name as varchar(35)) as tbsp_name, cast(container_id as smallint) as id, cast(container_name as varchar(60)) as container_path, container_type as type from table(mon_get_container('TBSP_1',-2)) order by member, tbsp_id,container_id"