

# Procedimentos armazenados para espaços de tabela do RDS para Db2
<a name="db2-sp-managing-tablespaces"></a>

Os procedimentos integrados armazenados descritos neste tópico gerenciam tablespaces para bancos de dados do Amazon RDS para Db2. Para executar esses procedimentos, o usuário principal deve primeiro se conectar ao banco de dados `rdsadmin`. 

Esses procedimentos armazenados são usados em diversas tarefas. Essa lista não é exaustiva.
+ [Tarefas comuns para espaços de tabela](db2-managing-tablespaces.md)
+ [Gerar relatórios de performance](db2-managing-databases.md#db2-generating-performance-reports)
+ [Cópia de metadados do banco de dados com db2look](db2-native-db2-tools-db2look.md)
+ [Criação de um banco de dados de repositório para IBM Db2 Data Management Console](db2-connecting-with-ibm-data-management-console.md#db2-creating-repo-db-monitoring-dmc)

Consulte os seguintes procedimentos integrados armazenados para obter informações sobre sintaxe, parâmetros, notas de uso e exemplos.

**Topics**
+ [rdsadmin.create\_tablespace](#db2-sp-create-tablespace)
+ [rdsadmin.alter\_tablespace](#db2-sp-alter-tablespace)
+ [rdsadmin.rename\_tablespace](#db2-sp-rename-tablespace)
+ [rdsadmin.drop\_tablespace](#db2-sp-drop-tablespace)

## rdsadmin.create\_tablespace
<a name="db2-sp-create-tablespace"></a>

Cria um espaço de tabela.

### Sintaxe
<a name="db2-sp-create-tablespace-syntax"></a>

```
db2 "call rdsadmin.create_tablespace(
    '{{database_name}}', 
    '{{tablespace_name}}',
    '{{buffer_pool_name}}', 
    {{tablespace_page_size}},
    {{tablespace_initial_size}}, 
    {{tablespace_increase_size}}, 
    '{{tablespace_type}}',
    '{{tablespace_prefetch_size}}')"
```

### Parâmetros
<a name="db2-sp-create-tablespace.parameters"></a>

Os seguintes parâmetros são obrigatórios: 

{{database\_name}}  
O nome do banco de dados no qual criar o espaço de tabela. O tipo de dados é `varchar`.

{{tablespace\_name}}  
O nome do espaço de tabela a ser criado. O tipo de dados é `varchar`.  
O nome do espaço de tabela tem as seguintes restrições:  
+ Não pode ser igual ao nome de um espaço de tabela existente nesse banco de dados.
+ Só pode conter os caracteres `_$#@a-zA-Z0-9`.
+ Não pode começar com `_` ou `$`.
+ Não pode começar com `SYS`.

Os seguintes parâmetros são opcionais:

{{buffer\_pool\_name}}  
O nome do grupo de buffer para atribuir ao espaço de tabela. O tipo de dados é `varchar`. O padrão é uma string vazia.  
É necessário já ter um grupo de buffers do mesmo tamanho de página para associar ao espaço de tabela.

{{tablespace\_page\_size}}  
O tamanho da página do espaço de tabela em bytes. O tipo de dados é `integer`. Valores válidos: `4096`, `8192`, `16384`, `32768`. O padrão é o tamanho da página usado quando você criou o banco de dados chamando [rdsadmin.create\_database](db2-sp-managing-databases.md#db2-sp-create-database).  
O Amazon RDS é compatível com a atomicidade de gravação para páginas de 4 KiB, 8 KiB e 16 KiB. Por outro lado, páginas de 32 KiB correm o risco de interromper gravações ou de dados parciais serem gravados na mesa. Se estiver usando páginas de 32 KiB, recomendamos habilitar a recuperação para um ponto no tempo e os backups automatizados. Caso contrário, você corre o risco de não conseguir se recuperar de páginas interrompidas. Para obter mais informações, consulte [Introdução aos backups](USER_WorkingWithAutomatedBackups.md) e [Restaurar uma instância de banco de dados para um momento especificado no Amazon RDS](USER_PIT.md).

{{tablespace\_initial\_size}}  
O tamanho inicial do espaço de tabela em kilobytes (KB). O tipo de dados é `integer`. Valores válidos: `48` ou superior. O padrão é nulo.   
Se você não definir um valor, o Db2 definirá um valor apropriado para você.   
Esse parâmetro não é aplicável a espaços de tabela temporários, pois o sistema gerencia esses espaços.

{{tablespace\_increase\_size}}  
A porcentagem pela qual aumentar o espaço de tabela quando ele ficar cheio. O tipo de dados é `integer`. Valores válidos: `1` a `100`. O padrão é nulo.  
Se você não definir um valor, o Db2 definirá um valor apropriado para você.  
Esse parâmetro não é aplicável a espaços de tabela temporários, pois o sistema gerencia esses espaços.

{{tablespace\_type}}  
O tipo do espaço de tabela. O tipo de dados é `char`. Valores válidos: `U` (para dados do usuário), `T` (para dados temporários do usuário) ou `S` (para dados temporários do sistema). O padrão é `U`.

{{tablespace\_prefetch\_size}}  
O tamanho da página de pré-busca do espaço de tabela. O tipo de dados é `char`. Valores válidos: `AUTOMATIC` (sem distinção entre maiúsculas e minúsculas) ou números inteiros positivos diferentes de zero que sejam menores ou iguais a 32767.

### Observações de uso
<a name="db2-sp-create-tablespace-usage-notes"></a>

O RDS para Db2 sempre cria um grande banco de dados para dados. 

Para ter informações sobre como conferir o status de criação de um espaço de tabela, consulte [rdsadmin.get\_task\_status](db2-user-defined-functions.md#db2-udf-get-task-status). 

### Exemplos
<a name="db2-sp-create-tablespace-examples"></a>

**Exemplo 1: criação de um tablespace e atribuição de um pool de buffers**

O exemplo a seguir cria um espaço de tabela chamado `SP8` e atribui um grupo de buffers chamado `BP8` para um banco de dados chamado `TESTDB`. O espaço de tabela tem um tamanho de página de espaço de tabela inicial de 4.096 bytes, um espaço de tabela inicial de 1.000 KB e um aumento de tamanho de tabela definido como 50%.

```
db2 "call rdsadmin.create_tablespace(
    'TESTDB',
    'SP8',
    'BP8',
    4096,
    1000,
    50)"
```

**Exemplo 2: criação de um tablespace temporário e atribuição de um pool de buffers**

O exemplo a seguir cria um espaço de tabela temporário chamado `SP8`. Ele atribui um grupo de buffer chamado `BP8` que tem 8 KiB de tamanho para um banco de dados chamado `TESTDB`.

```
db2 "call rdsadmin.create_tablespace(
    'TESTDB',
    'SP8',
    'BP8', 
    8192, 
    NULL, 
    NULL, 
    'T')"
```

**Exemplo 3: criar um espaço de tabela e atribuir um tamanho de página de pré-busca**

O exemplo a seguir cria um espaço de tabela chamado `SP8` para um banco de dados chamado `TESTDB`. O espaço de tabela tem um tamanho inicial de aumento de `50` e um tamanho de página de pré-busca de `800`.

```
db2 "call rdsadmin.create_tablespace(
    'TESTDB',
    'SP8',
    NULL,
    NULL,
    NULL,
    50,
    NULL,
    '800')"
```

## rdsadmin.alter\_tablespace
<a name="db2-sp-alter-tablespace"></a>

Altera um espaço de tabela.

### Sintaxe
<a name="db2-sp-alter-tablespace-syntax"></a>

```
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}}',
    '{{tablespace_prefetch_size}}')"
```

### Parâmetros
<a name="db2-sp-alter-tablespace-parameters"></a>

Os seguintes parâmetros são obrigatórios: 

{{database\_name}}  
O nome do banco de dados que usa o espaço de tabela. O tipo de dados é `varchar`.

{{tablespace\_name}}  
O nome do espaço de tabela a ser alterado. O tipo de dados é `varchar`.

Os seguintes parâmetros são opcionais:

{{buffer\_pool\_name}}   
O nome do grupo de buffer para atribuir ao espaço de tabela. O tipo de dados é `varchar`. O padrão é uma string vazia.  
É necessário já ter um grupo de buffers do mesmo tamanho de página para associar ao espaço de tabela.

{{tablespace\_increase\_size}}  
A porcentagem pela qual aumentar o espaço de tabela quando ele ficar cheio. O tipo de dados é `integer`. Valores válidos: `1` a `100`. O padrão é `0`.

{{max\_size}}  
O tamanho máximo do espaço de tabela. O tipo de dados é `varchar`. Valores válidos: {{inteiro}} `K` \| `M` \| `G` ou `NONE`. O padrão é `NONE`.

{{reduce\_max}}  
Especifica se a marca d'água alta deve ser reduzida até o limite máximo. O tipo de dados é `char`. O padrão é `N`.

{{reduce\_stop}}  
Especifica se um comando anterior `reduce_max` ou `reduce_value` deve ser interrompido. O tipo de dados é `char`. O padrão é `N`.

{{reduce\_value}}  
O número ou a porcentagem para reduzir o limite máximo do espaço de tabela. O tipo de dados é `varchar`. Valores válidos: {{inteiro}} `K`\| `M` \| `G` ou `1` a `100`. O padrão é `N`.

{{lower\_high\_water}}  
Especifica se o comando `ALTER TABLESPACE LOWER HIGH WATER MARK` deve ser executado. O tipo de dados é `char`. O padrão é `N`.

{{lower\_high\_water\_stop}}  
Especifica se o comando `ALTER TABLESPACE LOWER HIGH WATER MARK STOP` deve ser executado. O tipo de dados é `char`. O padrão é `N`.

{{switch\_online}}  
Especifica se o comando `ALTER TABLESPACE SWITCH ONLINE` deve ser executado. O tipo de dados é `char`. O padrão é `N`.

{{tablespace\_prefetch\_size}}  
O tamanho da página de pré-busca do espaço de tabela. O tipo de dados é `char`. Valores válidos: `AUTOMATIC` (sem distinção entre maiúsculas e minúsculas) ou números inteiros positivos diferentes de zero que sejam menores ou iguais a 32767.  
Esse parâmetro só funciona com `buffer_pool_name`, `table_increase_size`, `max_size` e `switch_online`. Não funciona com `reduce_max`, `reduce_stop`, `reduce_value`, `lower_high_water` e `lower_high_water_stop`.

### Observações de uso
<a name="db2-sp-alter-tablespace-usage-notes"></a>

Antes de chamar o procedimento armazenado, examine estas considerações:
+ O procedimento armazenado `rdsadmin.alter_tablespace` não funcionará em um espaço de tabela com o `tablespace_type` definido como `T` para dados temporários do usuário.
+ Os parâmetros opcionais `reduce_max`, `reduce_stop`, `reduce_value`, `lower_high_water`, `lower_high_water_stop` e `switch_online` são mutuamente excludentes. Não é possível combiná-los com nenhum outro parâmetro opcional, como `buffer_pool_name`, no comando `rdsadmin.alter_tablespace`. Para obter mais informações, consulte [Statement not valid](db2-troubleshooting.md#alter-tablespace-sp-statement-not-valid).

Para ter informações sobre como conferir o status de alteração de um espaço de tabela, consulte [rdsadmin.get\_task\_status](db2-user-defined-functions.md#db2-udf-get-task-status). 

Para ver as mensagens de erro exibidas ao chamar procedimentos armazenados, consulte [Erros de procedimentos armazenados](db2-troubleshooting.md#db2-troubleshooting-stored-procedures).

### Exemplos
<a name="db2-sp-alter-tablespace-examples"></a>

**Exemplo 1: diminuição da marca d'água alta**

O exemplo a seguir altera um espaço de tabela chamado `SP8` e atribui um grupo de buffers denominado `BP8` para um banco de dados denominado `TESTDB` para reduzir a marca d'água alta.

```
db2 "call rdsadmin.alter_tablespace(
    'TESTDB',
    'SP8',
    'BP8', 
    NULL, 
    NULL, 
    'Y')"
```

**Exemplo 2: redução da marca d'água alta**

O exemplo a seguir executa o comando `REDUCE MAX` em um espaço de tabela chamado `TBSP_TEST` no banco de dados `TESTDB`.

```
db2 "call rdsadmin.alter_tablespace(
    'TESTDB',
    'TBSP_TEST',
    NULL,
    NULL,
    NULL,
    'Y')"
```

**Exemplo 3: interrupção de comandos para reduzir a marca d'água alta**

O exemplo a seguir executa o comando `REDUCE STOP` em um espaço de tabela chamado `TBSP_TEST` no banco de dados `TESTDB`. 

```
db2 "call rdsadmin.alter_tablespace(
    'TESTDB',
    'TBSP_TEST',
    NULL,
    NULL,
    NULL,
    NULL,
    'Y')"
```

**Exemplo 4: alterar o tamanho da página de pré-busca existente**

O exemplo a seguir executa o comando `ALTER TABLESPACE SWITCH ONLINE` em um espaço de tabela chamado `TSBP_TEST` e altera o tamanho da página de pré-busca existente para `64`. 

```
db2 "call rdsadmin.alter_tablespace(
    'TESTDB',
    'TBSP_TEST',
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    ‘Y’,
    ‘64’)"
```

## rdsadmin.rename\_tablespace
<a name="db2-sp-rename-tablespace"></a>

Renomeia um espaço de tabela.

### Sintaxe
<a name="db2-sp-rename-tablespace-syntax"></a>

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

### Parâmetros
<a name="db2-sp-rename-tablespace-parameters"></a>

Os seguintes parâmetros são obrigatórios:

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro só aceita ?.

{{database\_name}}  
O nome do banco de dados ao qual pertence o espaço de tabela. O tipo de dados é `varchar`.

{{source\_tablespace\_name}}  
O nome do espaço de tabela a ser renomeado. O tipo de dados é `varchar`.

{{target\_tablespace\_name}}  
O novo nome do espaço de tabela. O tipo de dados é `varchar`.  
O nome tem as seguintes restrições:  
+ Não pode ser igual ao nome de um espaço de tabela existente.
+ Só pode conter os caracteres `_$#@a-zA-Z0-9`.
+ Não pode começar com `_` ou `$`.
+ Não pode começar com `SYS`.

### Observações de uso
<a name="db2-sp-rename-tablespace-usage-notes"></a>

Para ter informações sobre como conferir o status da renomeação de um espaço de tabela, consulte [rdsadmin.get\_task\_status](db2-user-defined-functions.md#db2-udf-get-task-status).

Não é possível renomear espaços de tabela que pertençam ao banco de dados `rdsadmin`.

### Exemplos
<a name="db2-sp-rename-tablespace-examples"></a>

O exemplo a seguir renomeia um espaço de tabela denominado `SP8` para `SP9` em um banco de dados chamado `TESTDB`.

```
db2 "call rdsadmin.rename_tablespace(
    ?,
    'TESTDB',
    'SP8',
    'SP9')"
```

## rdsadmin.drop\_tablespace
<a name="db2-sp-drop-tablespace"></a>

Descarta um espaço de tabela.

### Sintaxe
<a name="db2-sp-drop-tablespace-syntax"></a>

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

### Parâmetros
<a name="db2-sp-drop-tablespace-parameters"></a>

Os seguintes parâmetros são obrigatórios:

{{database\_name}}  
O nome do banco de dados ao qual pertence o espaço de tabela. O tipo de dados é `varchar`.

{{tablespace\_name}}  
O nome do espaço de tabela a ser descartado. O tipo de dados é `varchar`.

### Observações de uso
<a name="db2-sp-drop-tablespace-usage-notes"></a>

Para ter informações sobre como conferir o status de descarte de um espaço de tabela, consulte [rdsadmin.get\_task\_status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemplos
<a name="db2-sp-drop-tablespace-examples"></a>

O exemplo a seguir descarta um espaço de tabela denominado `SP8` de um banco de dados chamado `TESTDB`.

```
db2 "call rdsadmin.drop_tablespace(
    'TESTDB',
    'SP8')"
```