Tareas comunes para espacios de tablas - Amazon Relational Database Service

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.

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 en la documentación de IBM Db2.

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
  1. 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, sustituya master_username y master_password por su propia información.

    db2 "connect to rdsadmin user master_username using master_password"
  2. 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 en la documentación de IBM Db2.

Para modificar un espacio de tabla
  1. 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, sustituya master_username y master_password por su propia información.

    db2 "connect to rdsadmin user master_username using master_password"
  2. 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 en la documentación de IBM Db2.

Cambio de nombre de un espacio de tabla
  1. 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, sustituya master_username y master_password por su propia información.

    db2 "connect to rdsadmin user master_username using master_password"
  2. 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 en la documentación de IBM Db2.

Para eliminar un espacio de tabla
  1. 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, sustituya master_username y master_password por su propia información.

    db2 "connect to rdsadmin user master_username using master_password"
  2. 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
  1. 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 y master_password por su propia información.

    db2 connect to rds_database_alias user master_username using master_password
  2. 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
  1. 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 y master_password por su propia información.

    db2 connect to rds_database_alias user master_username using master_password
  2. 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
  1. 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 y master_password por su propia información:

    db2 connect to rds_database_alias user master_username using master_password
  2. 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"