

# Tareas comunes para espacios de tablas
<a name="db2-managing-tablespaces"></a>

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.

**Topics**
+ [Creación de un espacio de tabla](#db2-creating-tablespace)
+ [Modificación de un espacio de tabla](#db2-altering-tablespace)
+ [Cambio de nombre de un espacio de tabla](#db2-renaming-tablespace)
+ [Eliminación de un espacio de tabla](#db2-dropping-tablespace)
+ [Comprobación del estado de un espacio de tabla](#db2-checking-tablespaces-procedure)
+ [Devolución de información detallada sobre espacios de tabla](#db2-tablespaces-info-db2pd)
+ [Mostrar el estado y el grupo de almacenamiento de un espacio de tabla](#db2-state-storage-group-tablespace-sql)
+ [Mostrar los espacios de tabla de una tabla](#db2-return-tablespaces-sql)
+ [Mostrar los contenedores de espacio de tabla](#db2-listing-tablespace-containers)

## Creación de un espacio de tabla
<a name="db2-creating-tablespace"></a>

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](https://www.ibm.com/docs/en/db2/11.5?topic=statements-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](db2-managing-buffer-pools.md).

**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\$1username* y *master\$1password* por su propia información.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Cree un espacio de tablas llamando a `rdsadmin.create_tablespace`. Para obtener más información, consulte [rdsadmin.create\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-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
<a name="db2-altering-tablespace"></a>

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](https://www.ibm.com/docs/en/db2/11.5?topic=statements-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\$1username* y *master\$1password* por su propia información.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Modifique un espacio de tabla llamando a `rdsadmin.alter_tablespace`. Para obtener más información, consulte [rdsadmin.alter\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-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
<a name="db2-renaming-tablespace"></a>

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](https://www.ibm.com/docs/en/db2/11.5?topic=statements-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\$1username* y *master\$1password* por su propia información.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. 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\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-rename-tablespace).

   ```
   db2 "call rdsadmin.rename_tablespace(
       'database_name', 
       'source_tablespace_name',
       'target_tablespace_name')"
   ```

## Eliminación de un espacio de tabla
<a name="db2-dropping-tablespace"></a>

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](https://www.ibm.com/docs/en/db2/11.5?topic=spaces-dropping-table) 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\$1username* y *master\$1password* por su propia información.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Elimine un espacio de tabla llamando a `rdsadmin.drop_tablespace`. Para obtener más información, consulte [rdsadmin.drop\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-drop-tablespace). 

   ```
   db2 "call rdsadmin.drop_tablespace(
       'database_name', 
       'tablespace_name')"
   ```

## Comprobación del estado de un espacio de tabla
<a name="db2-checking-tablespaces-procedure"></a>

 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\$1database\$1alias*, *master\$1username* y *master\$1password* por su propia información.

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

1. 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
<a name="db2-tablespaces-info-db2pd"></a>

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\$1database\$1alias*, *master\$1username* y *master\$1password* por su propia información.

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

1. 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
<a name="db2-state-storage-group-tablespace-sql"></a>

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
<a name="db2-return-tablespaces-sql"></a>

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\$1NAME* y *TABLE\$1NAME* 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
<a name="db2-listing-tablespace-containers"></a>

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\$1database\$1alias*, *master\$1username* y *master\$1password* por su propia información:

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

1. 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"
   ```