

# Tarefas comuns para grupos de buffer
<a name="db2-managing-buffer-pools"></a>

É possível criar, alterar ou descartar grupos de buffers para um banco de dados do RDS para Db2. Criar, alterar ou descartar grupos de buffers requer a autoridade `SYSADM` ou `SYSCTRL` 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.

Também é possível limpar grupos de buffers.

**Topics**
+ [Criar um grupo de buffers](#db2-creating-buffer-pool)
+ [Alterar um grupo de buffers](#db2-altering-buffer-pool)
+ [Descartar um grupo de buffers](#db2-dropping-buffer-pool)
+ [Liberar os grupos de buffers](#db2-flushing-buffer-pools)

## Criar um grupo de buffers
<a name="db2-creating-buffer-pool"></a>

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

**Como criar um grupo de buffers**

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\_username}} e {{master\_password}} por suas próprias informações.

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

1. Crie um grupo de buffers chamando `rdsadmin.create_bufferpool`. Para obter mais informações, consulte [rdsadmin.create\_bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-create-buffer-pool).

   ```
   db2 "call rdsadmin.create_bufferpool(
       '{{database_name}}', 
       '{{buffer_pool_name}}', 
       {{buffer_pool_size}}, 
       '{{immediate}}', 
       '{{automatic}}', 
       {{page_size}}, 
       {{number_block_pages}}, 
       {{block_size}})"
   ```

## Alterar um grupo de buffers
<a name="db2-altering-buffer-pool"></a>

Para alterar um grupo de buffers para o banco de dados do RDS para Db2, chame o procedimento armazenado `rdsadmin.alter_bufferpool`. Para ter mais informações, consulte [Declaração ALTER BUFFERPOOL](https://www.ibm.com/docs/en/db2/11.5?topic=statements-alter-bufferpool) na documentação do IBM Db2.

**Como alterar um grupo de buffers**

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\_username}} e {{master\_password}} por suas próprias informações.

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

1. Altere um grupo de buffers chamando `rdsadmin.alter_bufferpool`. Para obter mais informações, consulte [rdsadmin.alter\_bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-alter-buffer-pool).

   ```
   db2 "call rdsadmin.alter_bufferpool(
       '{{database_name}}', 
       '{{buffer_pool_name}}', 
       {{buffer_pool_size}}, 
       '{{immediate}}', 
       '{{automatic}}', 
       {{change_number_blocks}}, 
       {{number_block_pages}}, 
       {{block_size}})"
   ```

## Descartar um grupo de buffers
<a name="db2-dropping-buffer-pool"></a>

Para descartar um grupo de buffers para o banco de dados do RDS para Db2, chame o procedimento armazenado `rdsadmin.drop_bufferpool`. Para ter mais informações, consulte [Dropping buffer pools](https://www.ibm.com/docs/en/db2/11.5?topic=pools-dropping-buffer) na documentação do IBM Db2.

**Importante**  
Garanta que nenhum espaço de tabela esteja atribuído ao grupo de buffers que você deseja descartar. 

**Como descartar um grupo de buffers**

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\_username}} e {{master\_password}} por suas próprias informações.

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

1. Descarte um grupo de buffers chamando `rdsadmin.drop_bufferpool`. Para obter mais informações, consulte [rdsadmin.drop\_bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-drop-buffer-pool).

   ```
   db2 "call rdsadmin.drop_bufferpool(
       '{{database_name}}', 
       '{{buffer_pool_name}}')"
   ```

## Liberar os grupos de buffers
<a name="db2-flushing-buffer-pools"></a>

É possível liberar os grupos de buffers para forçar um ponto de verificação para que o RDS para Db2 grave páginas da memória para o armazenamento. 

**nota**  
Não é necessário liberar os grupos de buffers. O Db2 grava logs de forma síncrona antes de confirmar as transações. As páginas sujas ainda podem estar em um grupo de buffers, mas o Db2 as grava no armazenamento de forma assíncrona. Mesmo que o sistema seja desligado inesperadamente, ao reiniciar o banco de dados, o Db2 executa automaticamente a recuperação de falhas. Durante a recuperação de falhas, o Db2 grava as alterações confirmadas no banco de dados ou as reverte para transações não confirmadas. 

**Como liberar os grupos de buffers**

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\_database\_alias}}, {{master\_username}} e {{master\_password}} por suas próprias informações.

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

1. Libere os grupos de buffers.

   ```
   db2 flush bufferpools all
   ```