

# Tarefas comuns para espaços de tabela
<a name="db2-managing-tablespaces"></a>

É possível criar, alterar, renomear ou descartar espaços de tabela de um banco de dados do RDS para Db2. Criar, alterar, renomear ou descartar espaços de tabela requer autoridade `SYSADM` de nível mais alto, que não está disponível para o usuário principal. Em vez disso, use procedimentos armazenados do Amazon RDS.

**Topics**
+ [Criar um espaço de tabela](#db2-creating-tablespace)
+ [Alterar um espaço de tabela](#db2-altering-tablespace)
+ [Renomear um espaço de tabela](#db2-renaming-tablespace)
+ [Descartar um espaço de tabela](#db2-dropping-tablespace)
+ [Conferir o status de um espaço de tabela](#db2-checking-tablespaces-procedure)
+ [Exibir informações detalhadas sobre espaços de tabela](#db2-tablespaces-info-db2pd)
+ [Listar o estado e o grupo de armazenamento de um espaço de tabela](#db2-state-storage-group-tablespace-sql)
+ [Listar os espaços de uma tabela](#db2-return-tablespaces-sql)
+ [Listar contêineres de espaço de tabela](#db2-listing-tablespace-containers)

## Criar um espaço de tabela
<a name="db2-creating-tablespace"></a>

Para criar um espaço de tabela do banco de dados do RDS para Db2, chame o procedimento armazenado `rdsadmin.create_tablespace`. Para ter mais informações, consulte [Declaração CREATE TABLESPACE](https://www.ibm.com/docs/en/db2/11.5?topic=statements-create-tablespace) na documentação do IBM Db2.

**Importante**  
Para criar um espaço de tabela, é necessário ter um grupo de buffers do mesmo tamanho de página para associar ao espaço de tabela. Para obter mais informações, consulte [Tarefas comuns para grupos de buffer](db2-managing-buffer-pools.md).

**Como criar um espaço de tabela**

1. Conecte-se ao banco de dados `rdsadmin` usando o nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua *master\$1username* e *master\$1password* por suas próprias informações.

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

1. Crie um espaço de tabela chamando `rdsadmin.create_tablespace`. Para obter mais informações, 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')"
   ```

## Alterar um espaço de tabela
<a name="db2-altering-tablespace"></a>

Para alterar um espaço de tabela do banco de dados do RDS para Db2, chame o procedimento armazenado `rdsadmin.alter_tablespace`. É possível usar esse procedimento armazenado para alterar o grupo de buffers de um espaço de tabela, diminuir a marca d'água alta ou colocar um espaço de tabela on-line. Para ter mais informações, consulte [Declaração ALTER TABLESPACE](https://www.ibm.com/docs/en/db2/11.5?topic=statements-alter-tablespace) na documentação do IBM Db2.

**Como alterar um espaço de tabela**

1. Conecte-se ao banco de dados `rdsadmin` usando o nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua *master\$1username* e *master\$1password* por suas próprias informações.

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

1. Altere um espaço de tabela chamando `rdsadmin.alter_tablespace`. Para obter mais informações, 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')"
   ```

## Renomear um espaço de tabela
<a name="db2-renaming-tablespace"></a>

Para alterar o nome de um espaço de tabela do banco de dados do RDS para Db2, chame o procedimento armazenado `rdsadmin.rename_tablespace`. Para ter mais informações, consulte [Declaração RENAME TABLESPACE](https://www.ibm.com/docs/en/db2/11.5?topic=statements-rename-tablespace) na documentação do IBM Db2.

**Como renomear um espaço de tabela**

1. Conecte-se ao banco de dados `rdsadmin` usando o nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua *master\$1username* e *master\$1password* por suas próprias informações.

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

1. Renomeie um espaço de tabela chamando `rdsadmin.rename_tablespace`. Para ter mais informações, bem como conhecer as restrições em relação a como nomear um espaço de tabela, 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')"
   ```

## Descartar um espaço de tabela
<a name="db2-dropping-tablespace"></a>

Para descartar um espaço de tabela do banco de dados do RDS para Db2, chame o procedimento armazenado `rdsadmin.drop_tablespace`. Antes de descartar um espaço de tabela, primeiro descarte qualquer objeto no espaço de tabela, como tabelas, índices ou objetos grandes (LOBs). Para ter mais informações, consulte [Dropping table spaces](https://www.ibm.com/docs/en/db2/11.5?topic=spaces-dropping-table) na documentação do IBM Db2.

**Como descartar um espaço de tabela**

1. Conecte-se ao banco de dados `rdsadmin` usando o nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua *master\$1username* e *master\$1password* por suas próprias informações.

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

1. Altere um espaço de tabela chamando `rdsadmin.drop_tablespace`. Para obter mais informações, consulte [rdsadmin.drop\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-drop-tablespace). 

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

## Conferir o status de um espaço de tabela
<a name="db2-checking-tablespaces-procedure"></a>

 É possível conferir o status de um espaço de tabela usando a função `cast`.

**Como conferir o status de um espaço de tabela**

1. Conecte-se ao banco de dados Db2 usando o nome de usuário principal e a senha principal da instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua *rds\$1database\$1alias*, *master\$1username* e *master\$1password* por suas próprias informações.

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

1. Exiba uma saída resumida.

   Para exibir uma saída resumida:

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

## Exibir informações detalhadas sobre espaços de tabela
<a name="db2-tablespaces-info-db2pd"></a>

É possível exibir informações sobre um espaço de tabela para um membro ou todos os membros usando a função `cast`. 

**Como exibir informações detalhadas sobre espaços de tabela**

1. Conecte-se ao banco de dados Db2 usando o nome de usuário principal e a senha principal da instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua *rds\$1database\$1alias*, *master\$1username* e *master\$1password* por suas próprias informações.

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

1. Exiba detalhes sobre todos os espaços de tabela no banco de dados para um ou todos os membros.

   Para um membro:

   ```
   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 os membros:

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

## Listar o estado e o grupo de armazenamento de um espaço de tabela
<a name="db2-state-storage-group-tablespace-sql"></a>

É possível listar o estado e o grupo de armazenamento de um espaço de tabela ao executar uma declaração SQL.

Para listar o estado e o grupo de armazenamento de um espaço de tabela, execute a seguinte declaração 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"
```

## Listar os espaços de uma tabela
<a name="db2-return-tablespaces-sql"></a>

É possível listar os espaços de tabela de uma tabela executando uma declaração SQL.

Para listar os espaços de uma tabela, execute a declaração SQL a seguir. No seguinte exemplo, substitua *SCHEMA\$1NAME* e *TABLE\$1NAME* pelo nome do esquema e da tabela:

```
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'"
```

## Listar contêineres de espaço de tabela
<a name="db2-listing-tablespace-containers"></a>

É possível listar todos os contêineres de espaço de tabela ou contêineres de espaço de tabela específicos usando o comando `cast`.

**Como listar os contêineres de um espaço de tabela**

1. Conecte-se ao banco de dados Db2 usando o nome de usuário principal e a senha principal da instância de banco de dados do RDS para Db2. No seguinte exemplo, substitua *rds\$1database\$1alias*, *master\$1username* e *master\$1password* por suas próprias informações:

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

1. Exiba uma lista de todos os contêineres de espaço de tabela no banco de dados ou de contêineres de espaço de tabela específicos.

   Para todos os contêineres de espaço de tabela:

   ```
   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 todos os contêineres de espaço de tabela 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"
   ```