

# Amazon RDS para Db2
<a name="CHAP_Db2"></a>

O Amazon RDS é compatível com as instâncias de banco de dados que executam as seguintes edições do IBM Db2:
+ Db2 Standard Edition
+ Db2 Advanced Edition

O Amazon RDS é compatível com instâncias de banco de dados que executam as seguintes versões do Db2:
+ Db2 11.5

Para obter mais informações sobre o suporte a versões secundárias, consulte [Db2 em versões do Amazon RDS](Db2.Concepts.VersionMgmt.md).

Antes de criar uma instância de banco de dados, realize as etapas na seção [Configuração do ambiente do Amazon RDS](CHAP_SettingUp.md) deste guia do usuário. Ao criar uma instância de banco de dados usando o usuário principal, o usuário recebe a autoridade `DBADM`, com algumas limitações. Use esse usuário para tarefas administrativas, como a criação de contas de banco de dados adicionais. Não é possível usar a autoridade em nível de instância `SYSADM`, `SYSCTRL`, `SYSMAINT` nem a autoridade em nível de banco de dados `SECADM`.

Você pode criar o seguinte: 
+ Instâncias de banco de dados
+ DB snapshots
+ Restaurações point-in-time
+ Backups de armazenamento automatizados 
+ Backups de armazenamento manuais

É possível usar instâncias de banco de dados executando o Db2 em uma nuvem privada virtual (VPC). Também é possível adicionar recursos à instância de banco de dados do Amazon RDS para Db2 habilitando várias opções. O Amazon RDS comporta implantações multi-AZ para RDS para Db2 como uma solução de failover de alta disponibilidade.

**Importante**  
Para oferecer uma experiência de serviço gerenciada, o Amazon RDS não fornece acesso ao shell para as instâncias de banco de dados. Ele também restringe o acesso a determinados procedimentos e tabelas do sistema que necessitam de privilégios avançados. É possível acessar o banco de dados usando clientes SQL padrão, como o IBM Db2 CLP. No entanto, não é possível acessar o host diretamente usando Telnet ou Secure Shell (SSH).

**Topics**
+ [Visão geral do Db2 no Amazon RDS](db2-overview.md)
+ [Pré-requisitos para criar uma instância de banco de dados do Amazon RDS para Db2](db2-db-instance-prereqs.md)
+ [Vários bancos de dados em uma instância de banco de dados do Amazon RDS para Db2](db2-multiple-databases.md)
+ [Conectar-se à instância de banco de dados do Db2](USER_ConnectToDb2DBInstance.md)
+ [Proteger as conexões de instância de banco de dados do Amazon RDS para Db2](Db2.Concepts.RestrictedDBAPrivileges.md)
+ [Administrar a instância de banco de dados do Amazon RDS para Db2](db2-administering-db-instance.md)
+ [Integrar uma instância de banco de dados do Amazon RDS para Db2 ao Amazon S3](db2-s3-integration.md)
+ [Migrar dados para o Amazon RDS para Db2](db2-migrating-data-to-rds.md)
+ [Federação do Amazon RDS para Db2](db2-federation.md)
+ [Trabalhar com réplicas para o Amazon RDS para Db2](db2-replication.md)
+ [Opções para instâncias de banco de dados do Amazon RDS para Db2](Db2.Options.md)
+ [Procedimentos armazenados externos do Amazon RDS para Db2](db2-external-stored-procedures.md)
+ [Limitações e problemas conhecidos do Amazon RDS para Db2](db2-known-issues-limitations.md)
+ [Referência de procedimentos armazenados do Amazon RDS para Db2](db2-stored-procedures.md)
+ [Referência de função definida pelo usuário do Amazon RDS para Db2](db2-user-defined-functions.md)
+ [Solução de problemas do Amazon RDS para Db2](db2-troubleshooting.md)

# Visão geral do Db2 no Amazon RDS
<a name="db2-overview"></a>

É possível ler as seções a seguir para ter uma visão geral do Db2 no Amazon RDS.

**Topics**
+ [Recursos do Amazon RDS para Db2](Db2.Concepts.FeatureSupport.md)
+ [Db2 em versões do Amazon RDS](Db2.Concepts.VersionMgmt.md)
+ [Opções de licenciamento do Amazon RDS para Db2](db2-licensing.md)
+ [Classes de instância do Amazon RDS para Db2](Db2.Concepts.General.InstanceClasses.md)
+ [Perfis padrão do Amazon RDS para Db2](db2-default-roles.md)
+ [Parâmetros do Amazon RDS para Db2](db2-supported-parameters.md)
+ [Agrupamento EBCDIC para bancos de dados do Db2 no Amazon RDS](db2-ebcdic.md)
+ [Fuso horário local para instâncias de banco de dados do Amazon RDS para Db2](db2-time-zone.md)

# Recursos do Amazon RDS para Db2
<a name="Db2.Concepts.FeatureSupport"></a>

O Amazon RDS for Db2 comporta a maioria dos recursos e das funcionalidades do banco de dados do IBM Db2. Alguns recursos podem ter suporte limitado ou privilégios restritos. Para ter mais informações sobre os recursos do banco de dados do Db2 para versões específicas do Db2, consulte a [documentação do IBM Db2](https://www.ibm.com/docs/en/db2).

Você pode filtrar novos recursos do Amazon RDS na página [What's New with Database? (Novidades sobre bancos de dados)](https://aws.amazon.com/about-aws/whats-new/database/). Em **Products** (Produtos), escolha **Amazon RDS**. Depois, é possível pesquisar usando palavras-chave como **Db2 2023**.

**nota**  
As listas a seguir não são completas.

**Topics**
+ [Recursos aceitos no RDS para Db2](#db2-supported-features)
+ [Recursos não aceitos no RDS para Db2](#db2-unsupported-features)

## Recursos aceitos no RDS para Db2
<a name="db2-supported-features"></a>

O RDS para Db2 é compatível com recursos que incluem os nativos do IBM Db2 e os essenciais do Amazon RDS.

### Recursos nativos do IBM Db2
<a name="db2-supported-features-native-db2"></a>

O RDS para Db2 é compatível com os seguintes recursos do banco de dados do Db2:
+ Criação de um banco de dados padrão que usa um conjunto de códigos, agrupamento, tamanho da página e território definidos pelo cliente. Use o procedimento armazenado [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database) do Amazon RDS.
+ Adição, exclusão ou modificação de usuários e grupos locais. Use os procedimentos armazenados do Amazon RDS para [Procedimentos armazenados para conceder e revogar privilégios para o RDS para Db2](db2-sp-granting-revoking-privileges.md).
+ Criação de perfis com o procedimento armazenado [rdsadmin.create\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-create-role) do Amazon RDS.
+ Compatibilidade com tabelas organizadas em linhas padrão.
+ Compatibilidade com workload analítica para tabelas organizadas em colunas.
+ Capacidade de definir recursos de compatibilidade com o Db2, como Oracle e MySQL.
+ Support para procedimentos armazenados externos baseados no Java.
+ Compatibilidade com a criptografia de dados em trânsito usando SSL/TLS.
+ Monitorar o status de um banco de dados (`ALIVE`, `DOWN`, `STORAGE_FULL`, `UNKNOWN` e `STANDBY_CONNECTABLE`).
+ Restauração de um banco de dados Linux (LE) on-line ou off-line fornecido pelo cliente. Use os procedimentos armazenados do Amazon RDS para [Procedimentos armazenados para bancos de dados do RDS para Db2](db2-sp-managing-databases.md).
+ Aplicação de logs de arquivamento do Db2 fornecidos pelo cliente para manter o banco de dados sincronizado com os bancos de dados autogerenciados do Db2. Use os procedimentos armazenados do Amazon RDS para [Procedimentos armazenados para bancos de dados do RDS para Db2](db2-sp-managing-databases.md).
+ Compatibilidade com auditoria no nível do banco de dados e da instância do Db2.
+ Compatibilidade com federação homogênea.
+ Capacidade de carregar uma tabela de arquivos de dados no Amazon Simple Storage Service (Amazon S3).
+ Autorizações concedidas a usuários, grupos ou perfis, como `CONNECT`, `SYSMON`, `ACCESSCTRL`, `DATAACCESS`, `SQLADM`, `WLMADM`, `EXPLAIN`, `LOAD` ou `IMPLICIT_SCHEMA`.
+ Criação de vários bancos de dados. 
**nota**  
Uma instância de banco de dados do RDS para Db2 pode conter até 50 bancos de dados. Para obter mais informações, consulte [Vários bancos de dados em uma instância de banco de dados do Amazon RDS para Db2](db2-multiple-databases.md). 

### Características principais do Amazon RDS
<a name="db2-supported-features-rds-core"></a>

O RDS para Db2 é compatível com os seguintes recursos principais do Amazon RDS:
+ Grupos de parâmetros personalizados para atribuir às instâncias de banco de dados
+ Criação, modificação e exclusão de instâncias de banco de dados
+ Restauração de um backup de banco de dados do Linux (LE) off-line ou on-line do Db2 autogerenciado
**nota**  
Para poder restaurar o backup, não forneça um nome para o banco de dados ao criar uma instância de banco de dados. Para obter mais informações, consulte [Criar uma instância de banco de dados do Amazon RDS](USER_CreateDBInstance.md).
+ Compatibilidade com os tipos de armazenamento gp3, io2 e io1
+ Uso de AWS Managed Microsoft AD para autenticação Kerberos e autorização de grupos LDAP para o RDS para Db2
+ Modificação de grupos de segurança, portas, tipos de instância, armazenamento, períodos de retenção de backup e outras configurações para instâncias do Db2 existentes
+ Proteção contra exclusão de instâncias de banco de dados
+ Recuperação para um ponto no tempo (PITR) entre regiões para backups criptografados
+ Uso de AWS Key Management Service (AWS KMS) para criptografia de armazenamento e criptografia em repouso
+ Instâncias de banco de dados multi-AZ com modo de espera para alta disponibilidade
+ Reinicializações de instâncias de banco de dados
+ Atualizações nas senhas mestras
+ Restauração de instâncias de banco de dados para um horário específico
+ Backup e restauração de instâncias de banco de dados usando backups no nível de armazenamento
+ Iniciar e interromper instâncias de banco de dados
+ Manutenção de instâncias de banco de dados
+ Réplicas de leitura e espera na mesma região e entre regiões

## Recursos não aceitos no RDS para Db2
<a name="db2-unsupported-features"></a>

O RDS para Db2 não é compatível com os seguintes recursos do banco de dados do Db2: 
+ Acesso a `SYSADM`, `SECADM` e `SYSMAINT` para o usuário principal.
+ Procedimentos armazenados externos escritos em C, C\$1\$1 ou Cobol.
+ Várias instâncias de banco de dados do Db2 em um único host.
+ Plug-ins GSS-API externos para autenticação.
+ Plug-ins externos de terceiros para fazer backup ou restaurar bancos de dados do Db2.
+ Processamento paralelo maciço de vários nós (MPP), como IBM Db2 Warehouse.
+ IBM Db2 pureScale.
+ Configuração manual da Recuperação de Desastres de Alta Disponibilidade (HADR) para RDS para Db2.
**nota**  
O Amazon RDS oferece suporte e gerencia o HADR para RDS para Db2 por meio de réplicas. Para obter mais informações, consulte [Trabalhar com réplicas para o Amazon RDS para Db2](db2-replication.md).  
O RDS para Db2 suporta implantações multi-AZ, backups automatizados entre regiões e replicação. Para obter mais informações, consulte [Implantações de instâncias de banco de dados multi-AZ para o Amazon RDS](Concepts.MultiAZSingleStandby.md) e [Replicar backups automatizados para outra Região da AWS](USER_ReplicateBackups.md).
+ Criptografia nativa do banco de dados.
+ Federação heterogênea para Informix, Sybase e Teradata. Para obter mais informações, consulte [Federação do Amazon RDS para Db2](db2-federation.md).
+ Criação de rotinas não protegidas e migração de rotinas não protegidas existentes por meio de backup e restauração de dados. Para obter mais informações, consulte [Rotinas não protegidas](db2-known-issues-limitations.md#db2-known-issues-limitations-non-fenced-routines). 
+ Criação de espaços de tabela de armazenamento não automático. Para obter mais informações, consulte [Espaços de tabela de armazenamento não automáticos durante a migração](db2-known-issues-limitations.md#db2-known-issues-limitations-non-automatic-storage-tablespaces).
+ Tabelas externas.

# Db2 em versões do Amazon RDS
<a name="Db2.Concepts.VersionMgmt"></a>

Para o Db2, os números de versão assumem o formato *major.minor.build.revision*, por exemplo, 11.5.9.0.sb00000000.r1. Nossa implementação de versão corresponde à do Db2.

**principal**  
O número da versão principal é o número inteiro e a primeira parte fracionária do número da versão, por exemplo, 11.5. Uma alteração da versão será considerada principal se o número da versão principal for alterado, por exemplo, da versão 11.5 para a 12.1.

**secundária**  
O número da versão secundária é a terceira e a quarta partes do número da versão, por exemplo, 9.0 em 11.5.9.0. A terceira parte indica o modpack do Db2, por exemplo, 9 em 9.0. A quarta parte indica o fixpack do Db2, por exemplo, 0 em 9.0. Uma alteração de versão será considerada secundária se o modpack do Db2 ou o fixpack do Db2 forem alterados, por exemplo, passando da versão 11.5.9.0 para a 11.5.9.1 ou da 11.5.9.0 para a 11.5.10.0, exceto para fornecer atualizações da tabela do catálogo. (O Amazon RDS trata essas exceções.)

**build**  
O número da compilação é a quinta parte do número da versão, por exemplo, sb00000000 em 11.5.9.0.sb00000000. Um número de compilação em que a parte numérica é toda zerada indica uma compilação padrão. Um número de compilação em que a parte numérica não é toda zerada indica uma compilação padrão. Um número de compilação será alterado se houver uma correção de segurança ou uma compilação especial de uma versão existente do Db2. Uma alteração no número da versão também indica que o Amazon RDS aplicou automaticamente uma nova versão secundária.

**revisão**  
O número da revisão é a sexta parte do número da versão, por exemplo, r1 in 11.5.9.0.sb00000000.r1. Revisão é uma revisão do Amazon RDS para uma versão existente do Db2. Uma alteração no número da revisão indica que o Amazon RDS aplicou automaticamente uma nova versão secundária.

**Topics**
+ [Gerenciamento de atualizações para instâncias Db2 do Amazon RDS](Db2.Concepts.VersionMgmt.Supported.md)
+ [Versões principais do Db2 compatíveis com o Amazon RDS](#Db2.Concepts.VersionMgmt.ReleaseCalendar)

# Gerenciamento de atualizações para instâncias Db2 do Amazon RDS
<a name="Db2.Concepts.VersionMgmt.Supported"></a>

Para ver a lista atual de versões secundárias do Db2 aceitas no RDS, use um dos seguintes comandos:

```
aws rds describe-db-engine-versions --engine db2-se
aws rds describe-db-engine-versions --engine db2-ae
```

O Amazon RDS também comporta a política de implementação de atualizações para gerenciar atualizações automáticas de versões secundárias em vários recursos de banco de dados e Contas da AWS. Para obter mais informações, consulte [Usar a política de implementação de atualização do AWS Organizations para atualizações automáticas de versões secundárias](RDS.Maintenance.AMVU.UpgradeRollout.md).

É possível especificar qualquer versão atualmente compatível do Db2 ao criar uma instância de banco de dados. É possível especificar a versão principal (como o Db2 11.5) e qualquer versão secundária compatível para a versão principal especificada. Se nenhuma versão for especificada, o Amazon RDS usará uma versão compatível por padrão, geralmente a versão mais recente. Se uma versão principal for especificada, mas uma versão secundária não, o Amazon RDS usará por padrão um lançamento recente da versão principal que você especificou. Para ver uma lista de versões compatíveis, bem como os padrões para instâncias de banco de dados recém-criadas, use o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) da AWS Command Line Interface (AWS CLI). 

Por exemplo, para listar as versões de mecanismo compatíveis do Amazon RDS para Db2, execute o comando da AWS CLI a seguir. Substitua *region* pela Região da AWS.

Para Linux, macOS ou Unix:

```
aws rds describe-db-engine-versions \
    --filters Name=engine,Values=db2-ae,db2-se \
    --query "DBEngineVersions[].{Engine:Engine, EngineVersion:EngineVersion, DBParameterGroupFamily:DBParameterGroupFamily}" \
    --region region
```

Para Windows:

```
aws rds describe-db-engine-versions ^
    --filters Name=engine,Values=db2-ae,db2-se ^
    --query "DBEngineVersions[].{Engine:Engine, EngineVersion:EngineVersion, DBParameterGroupFamily:DBParameterGroupFamily}" ^
    --region region
```

Esse comando vai produzir uma saída semelhante ao seguinte exemplo:

```
[
    {
    "Engine": "db2-ae",
    "EngineVersion": "11.5.9.0.sb00000000.r1",
    "DBParameterGroupFamily": "db2-ae-11.5"
    },
    {
    "Engine": "db2-se",
    "EngineVersion": "11.5.9.0.sb00000000.r1",
    "DBParameterGroupFamily": "db2-se-11.5"
    }
]
```

A versão padrão do Db2 pode variar de acordo com a Região da AWS. Para criar uma instância de banco de dados com uma versão secundária específica, especifique a versão secundária durante a criação da instância de banco de dados. É possível determinar a versão padrão de uma Região da AWS para `db2-ae` e de mecanismo de banco de dados `db2-se` executando o comando ` describe-db-engine-versions`. O exemplo a seguir exibe a versão padrão para a `db2-ae` do Leste dos EUA (Norte da Virgínia).

Para Linux, macOS ou Unix:

```
aws rds describe-db-engine-versions \
    --default-only --engine db2-ae \
    --query "DBEngineVersions[].{Engine:Engine, EngineVersion:EngineVersion, DBParameterGroupFamily:DBParameterGroupFamily}" \
    --region us-east-1
```

Para Windows:

```
aws rds describe-db-engine-versions ^
    --default-only --engine db2-ae ^
    --query "DBEngineVersions[].{Engine:Engine, EngineVersion:EngineVersion, DBParameterGroupFamily:DBParameterGroupFamily}" ^
    --region us-east-1
```

Esse comando vai produzir uma saída semelhante ao seguinte exemplo:

```
[
    {
    "Engine": "db2-ae",
    "EngineVersion": "11.5.9.0.sb00000000.r1",
    "DBParameterGroupFamily": "db2-ae-11.5"
    }
]
```

Com o Amazon RDS, você controla quando vai atualizar a instância do Db2 para uma nova versão principal compatível com o Amazon RDS. É possível manter a compatibilidade com versões específicas do Db2, testar novas versões com a aplicação antes de implantar na produção e realizar atualizações da versão principal no melhor período para a programação.

Com a atualização automática de versão secundária habilitada, o Amazon RDS atualiza automaticamente as instâncias de banco de dados para as novas versões secundárias do Db2, pois elas são compatíveis com o Amazon RDS. Essa correção ocorre durante a janela de manutenção programada. É possível modificar uma instância de banco de dados para habilitar ou desabilitar atualizações automáticas de versões secundárias. 

Com exceção das versões 11.5.9.1 e 11.5.10.0 do Db2, as atualizações automáticas para a nova versão secundária do Db2 incluem atualizações automáticas para novas compilações e revisões. Para 11.5.9.1 e 11.5.10.0, atualize manualmente as versões secundárias.

Se você cancelar os upgrades automaticamente agendados, poderá fazer upgrade manualmente para um lançamento de versão secundária com suporte seguindo o mesmo procedimento de um upgrade de versão principal. Para ter mais informações, consulte [Atualizar a versão de mecanismo de uma instância de banco de dados ](USER_UpgradeDBInstance.Upgrading.md). 

## Versões principais do Db2 compatíveis com o Amazon RDS
<a name="Db2.Concepts.VersionMgmt.ReleaseCalendar"></a>

As versões principais do RDS para Db2 estarão disponíveis pelo suporte padrão pelo menos até o fim da vida útil (base) da IBM para a versão da IBM correspondente. A tabela a seguir mostra as datas que você pode usar para planejar os ciclos de teste e atualização. Se a Amazon estender o suporte para uma versão do RDS para Db2 por mais tempo do que o planejado originalmente, planejamos atualizar essa tabela para refletir a data posterior.

É possível usar as seguintes datas para planejar seus ciclos de teste e atualização. 

**nota**  
As datas com apenas mês e ano são aproximadas e são atualizadas com uma data exata quando ela é conhecida.  
Você pode visualizar as versões principais dos bancos de dados Db2 executando o comando [describe-db-major-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-major-engine-versions.html) da AWS CLI ou usando a operação de API [DescribeDBMajorEngineVersions](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBMajorEngineVersions.html) do RDS.


| Versão principal do Db2  | Data de lançamento da IBM  | Data de lançamento do RDS  | Fim do suporte da IBM (Standard e Advanced Edition) | Fim do suporte da IBM (estendido) | 
| --- | --- | --- | --- | --- | 
|  Db2 11.5  |  27 de junho de 2019  |  27 de novembro de 2023  | 30 de abril de 2027 |  30 de abril de 2031  | 

# Opções de licenciamento do Amazon RDS para Db2
<a name="db2-licensing"></a>

O Amazon RDS para Db2 tem duas opções de licenciamento: traga a sua própria licença (BYOL) e licença do Db2 por meio do AWS Marketplace.

**Topics**
+ [Traga a sua própria licença (BYOL) para o Db2](#db2-licensing-options-byol)
+ [Licença do Db2 por meio do AWS Marketplace](#db2-licensing-options-marketplace)
+ [Alternar entre licenças do Db2](#db2-edition-license-switching)

## Traga a sua própria licença (BYOL) para o Db2
<a name="db2-licensing-options-byol"></a>

No modelo BYOL, é possível usar as licenças existentes do banco de dados do Db2 para implantar bancos de dados no Amazon RDS. Verifique se você tem a licença apropriada do banco de dados do Db2 para a classe da instância de banco de dados e a edição do Db2 que deseja executar. Também é necessário seguir as políticas da IBM para o licenciamento do software de banco de dados da IBM no ambiente de computação em nuvem.

**nota**  
As instâncias de banco de dados multi-AZ estão em espera fria porque o banco de dados do Db2 está instalado, mas não está em execução. Os modos de não podem ser lidos, executados nem atender a solicitações. Consulte mais informações as [informações de licença do IBM Db2]( https://www.ibm.com/support/customer/csol/terms/licenses#license-search) no site da IBM.

Nesse modelo, você deve continuar a usar a conta de suporte ativa da IBM e entrar em contato com a IBM diretamente para solicitações de serviço de banco de dados do Db2. Caso tenha uma conta do Suporte com suporte a caso, você pode entrar em contato com o Suporte para solucionar problemas do Amazon RDS. A Amazon Web Services e a IBM têm um processo de suporte de vários fornecedores para casos que necessitem de assistência das duas organizações. 

O Amazon RDS é compatível com o modelo BYOL para Db2 Standard Edition e Db2 Advanced Edition.

**Topics**
+ [IDs da IBM para traga a sua própria licença (BYOL) para o Db2](#db2-prereqs-ibm-info)
+ [Adicionar IDs da IBM a um grupo de parâmetros para instâncias de banco de dados do RDS para Db2](#db2-licensing-options-byol-adding-ids)
+ [Integração com o AWS License Manager](#db2-lms-integration)

### IDs da IBM para traga a sua própria licença (BYOL) para o Db2
<a name="db2-prereqs-ibm-info"></a>

No modelo BYOL, é necessário ter o IBM Customer ID e o IBM Site ID para criar, modificar ou restaurar instâncias de banco de dados do RDS para Db2. É necessário criar um grupo de parâmetros personalizado com o IBM Customer ID e o IBM Site ID *antes* de criar uma instância de banco de dados do RDS para Db2. Para obter mais informações, consulte [Adicionar IDs da IBM a um grupo de parâmetros para instâncias de banco de dados do RDS para Db2](#db2-licensing-options-byol-adding-ids). É possível executar várias instâncias de banco de dados do RDS para Db2 com diferentes IBM Customer IDs e IBM Site IDs na mesma Conta da AWS ou Região da AWS. 

**Importante**  
Se não conseguirmos verificar a licença pelo IBM Customer ID e pelo IBM Site ID, poderemos encerrar qualquer instância de banco de dados em execução com essas licenças não verificadas.

Se você for um cliente novo do IBM Db2, será necessário primeiro comprar uma licença de software Db2 da [https://www.ibm.com/products/db2/pricing](https://www.ibm.com/products/db2/pricing). Depois de comprar uma licença de software Db2, você receberá um comprovante de titularidade da IBM, que indica o IBM Customer ID e o IBM Site ID.

Se você já é cliente do IBM Db2, é possível encontrar o IBM Customer ID e o IBM Site ID no certificado de comprovante de titularidade da IBM. 

Você também pode encontrar o IBM Customer ID e o IBM Site ID na sua conta [IBM Passport Advantage Online](https://www.ibm.com/software/passportadvantage/pao_customer.html). Depois de fazer login, você pode ver os dois IDs na página principal ou na página de downloads de software.

### Adicionar IDs da IBM a um grupo de parâmetros para instâncias de banco de dados do RDS para Db2
<a name="db2-licensing-options-byol-adding-ids"></a>

Como não é possível modificar grupos de parâmetros padrão, é necessário criar um grupo de parâmetros personalizado e depois modificá-lo para incluir os valores de IBM Customer ID e IBM Site ID. Para obter informações sobre grupos de parâmetros, consulte [Grupos de parâmetros de banco de dados para instâncias de banco de dados do Amazon RDS](USER_WorkingWithDBInstanceParamGroups.md). 

**Importante**  
É necessário criar um grupo de parâmetros personalizado com o IBM Customer ID e o IBM Site ID *antes* de criar uma instância de banco de dados do RDS para Db2.

Use as configurações de parâmetros na tabela a seguir.


| Parâmetro | Valor | 
| --- | --- | 
|  `rds.ibm_customer_id`  |  `<your IBM Customer ID>`  | 
|  `rds.ibm_site_id`  |  `<your IBM Site ID>`  | 
|  `ApplyMethod`  |  `immediate`, `pending-reboot`  | 

Esses parâmetros são dinâmicos, o que significa que qualquer alteração neles tem efeito imediatamente e que não é necessário reinicializar a instância de banco de dados. Se não quiser que as alterações tenham efeito imediatamente, poderá definir `ApplyMethod` e `pending-reboot` para programar essas alterações para serem feitas durante uma janela de manutenção.

É possível criar e modificar um grupo de parâmetros personalizado usando o Console de gerenciamento da AWS, a AWS CLI ou a API do Amazon RDS. 

#### Console
<a name="db2-licensing-options-adding-ids-console"></a>

**Como adicionar o IBM Customer ID e o IBM Site ID a um grupo de parâmetros**

1. Crie um grupo de parâmetros de banco de dados. Para obter mais informações sobre como criar um parameter group de banco de dados, consulte [Criar um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

1. Modifique o grupo de parâmetros criado. Para ter mais informações sobre como modificar um grupo de parâmetros, consulte [Modificar parâmetros em um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

#### AWS CLI
<a name="db2-licensing-options-adding-ids-cli"></a>

**Como adicionar o IBM Customer ID e o IBM Site ID a um grupo de parâmetros**

1. Crie um grupo de parâmetros personalizado executando o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html). 

   Inclua as seguintes opções necessárias:
   + `--db-parameter-group-name`: um nome para o grupo de parâmetros que você está criando.
   + `--db-parameter-group-family`: a edição do mecanismo do Db2 e a versão principal. Valores válidos: `db2-se-11.5`, `db2-ae-11.5`. 
   + `--description`: a descrição desse grupo de parâmetros.

   Para obter mais informações sobre como criar um parameter group de banco de dados, consulte [Criar um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

1. Modifique os parâmetros no grupo de parâmetros personalizado que você criou executando o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html).

   Inclua as seguintes opções necessárias:
   + `--db-parameter-group-name`: o nome do grupo de parâmetros criado.
   + `--parameters`: uma matriz de nomes de parâmetros, valores e os métodos de aplicação da atualização de parâmetros.

   Para ter mais informações sobre como modificar um grupo de parâmetros, consulte [Modificar parâmetros em um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

#### API do RDS
<a name="db2-licensing-options-adding-ids-api"></a>

**Como adicionar o IBM Customer ID e o IBM Site ID a um grupo de parâmetros**

1. Crie um grupo de parâmetros de banco de dados personalizado usando a operação da API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html) do Amazon RDS.

   Inclua os seguintes parâmetros necessários:
   + `DBParameterGroupName`
   + `DBParameterGroupFamily`
   + `Description`

   Para obter mais informações sobre como criar um parameter group de banco de dados, consulte [Criar um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

1. Modifique os parâmetros no grupo de parâmetros personalizado que você criou usando a operação [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html) da API do RDS.

   Inclua os seguintes parâmetros necessários:
   + `DBParameterGroupName`
   + `Parameters`

   Para ter mais informações sobre como modificar um grupo de parâmetros, consulte [Modificar parâmetros em um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

Agora está tudo pronto para criar uma instância de banco de dados e associar o grupo de parâmetros personalizado à instância de banco de dados. Para obter mais informações, consulte [Criar uma instância de banco de dados do Amazon RDS](USER_CreateDBInstance.md) e [Associar um grupo de parâmetros de banco de dados a uma instância de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Associating.md).

### Integração com o AWS License Manager
<a name="db2-lms-integration"></a>

Para ajudar no monitoramento do uso da licença do RDS para Db2 no modelo BYOL, o [AWS License Manager](https://aws.amazon.com/license-manager/) integra-se ao RDS para Db2. O License Manager é compatível com o rastreamento de edições de mecanismos do RDS para Db2 com base em CPUs virtuais (vCPUs). Você também pode usar o License Manager com o AWS Organizations para gerenciar centralmente todas as suas contas organizacionais.

Para monitorar o uso da licença das instâncias de banco de dados do RDS para Db2, é possível criar licenças autogerenciadas. Você pode criar licenças autogerenciadas usando o Console de gerenciamento da AWS, a CLI do AWS License Manager e a API do AWS License Manager. Ou você pode automatizar a criação de licenças autogerenciadas com modelos do CloudFormation e do Terraform. 

Os recursos do RDS para Db2 que correspondem ao filtro de informações do produto são automaticamente associados à licença autogerenciada. A detecção de instâncias de banco de dados do RDS para Db2 pode levar até 24 horas.

A tabela a seguir mostra os valores disponíveis do filtro de informações de produtos da Engine Edition do RDS para Db2.


| Valor | Descrição | 
| --- | --- | 
|  `db2-se`  |  Db2 edição Standard  | 
|  `db2-ae`  |  Db2 Advanced Edition  | 

**Topics**
+ [Terminologia](#db2-lms-integration-terms)
+ [Criar uma licença autogerenciada no AWS License Manager](#db2-lms-integration-tracking)
+ [Automatização da criação de licenças autogerenciadas no AWS License Manager com modelos](#db2-lms-integration-templates)
+ [Configurações para criar licenças autogerenciadas](#db2-settings-lms)

#### Terminologia
<a name="db2-lms-integration-terms"></a>

Essa página usa a terminologia a seguir ao abordar a integração do Amazon RDS com o AWS License Manager.

Licença autogerenciada  
Licença autogerenciada é um termo usado no AWS License Manager. O console do Amazon RDS se refere à licença como uma configuração do AWS License Manager. Uma licença autogerenciada contêm regras de licenciamento com base nos termos de seus contratos empresariais. As regras que você cria determinam como a AWS processa comandos que consomem licenças. Ao criar uma licença autogerenciada, trabalhe em conjunto com a equipe de conformidade da sua organização para analisar seus contratos empresariais. Consulte mais informações em [Self-managed licenses in License Manager](https://docs.aws.amazon.com/license-manager/latest/userguide/license-configurations.html).

#### Criar uma licença autogerenciada no AWS License Manager
<a name="db2-lms-integration-tracking"></a>

Você pode criar uma licença autogerenciada usando o Console de gerenciamento da AWS, a CLI do AWS License Manager e a API do AWS License Manager.

**nota**  
Se criar uma instância de banco de dados do RDS para Db2 usando o Console de gerenciamento da AWS, você criará uma licença autogerenciada ao inserir um nome para a licença. Depois, o Amazon RDS associa a instância de banco de dados a essa licença. (O console do Amazon RDS se refere à licença como uma configuração do AWS License Manager.) Se quiser criar uma instância de banco de dados do RDS para Db2 usando a CLI do AWS License Manager ou a API do AWS License Manager, é necessário primeiro criar uma licença autogerenciada com as etapas a seguir. A mesma situação se aplica à restauração de uma instância de banco de dados do RDS para Db2 para determinado ponto no tempo ou de um snapshot.

##### Console
<a name="db2-lms-integration.console"></a>

**Como criar uma licença autogerenciada a fim de rastrear o uso da licença das instâncias de banco de dados do RDS para Db2**

1. Acesse [https://console.aws.amazon.com/license-manager/](https://console.aws.amazon.com/license-manager/).

1. Crie uma licença autogerenciada.

   Consulte instruções em [Create a self-managed license](https://docs.aws.amazon.com/license-manager/latest/userguide/create-license-configuration.html) no *Guia do usuário do AWS License Manager*.

   Adicione uma regra para um **RDS Product Information Filter (Filtro de informações de produto do RDS)** no painel **Product Information (Informações do produto)**.

   Para obter mais informações, consulte [ProductInformation](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ProductInformation.html) na *Referência da API do AWS License Manager*.

##### AWS License Manager CLI
<a name="db2-lms-integration.cli"></a>

**nota**  
Esse procedimento usa um comando da CLI do AWS License Manager.

Para criar uma licença autogerenciada usando a AWS CLI, execute o comando [create-license-configuration](https://docs.aws.amazon.com/cli/latest/reference/license-manager/create-license-configuration.html) do AWS License Manager. Use as opções `--cli-input-json` ou `--cli-input-yaml` para passar as opções para o comando. 

Para obter mais informações, consulte [Configurações para criar licenças autogerenciadas](#db2-settings-lms).

O comando a seguir cria uma licença autogerenciada para o Db2 Standard Edition.

```
aws license-manager create-license-configuration --cli-input-json file://rds-db2-se.json
```

O JSON a seguir é o conteúdo do arquivo `rds-db2-se.json` usado no comando anterior.

```
{
    "Name": "rds-db2-se",
    "Description": "RDS Db2 Standard Edition",
    "LicenseCountingType": "vCPU",
    "LicenseCountHardLimit": false,
    "ProductInformationList": [
        {
            "ResourceType": "RDS",
            "ProductInformationFilterList": [
                {
                    "ProductInformationFilterName": "Engine Edition",
                    "ProductInformationFilterValue": ["db2-se"],
                    "ProductInformationFilterComparator": "EQUALS"
                }
            ]
        }
    ]
}
```

Para obter mais informações sobre o produto, consulte [Detecção automática do inventário de recursos](https://docs.aws.amazon.com/license-manager/latest/userguide/automated-discovery.html) no *Guia do usuário do AWS License Manager*.

Para obter mais informações sobre o parâmetro `--cli-input`, consulte [Gerar um esqueleto AWS CLI e parâmetros de entrada usando um arquivo de entrada JSON ou YAML ](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-skeleton.html) no *AWS CLI Guia do usuário *.

##### AWS License ManagerAPI
<a name="db2-lms-integration.api"></a>

**nota**  
Esse procedimento usa um comando da API do AWS License Manager.

Para criar uma licença autogerenciada, use a operação de API [https://docs.aws.amazon.com/license-manager/latest/APIReference/API_CreateLicenseConfiguration.html](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_CreateLicenseConfiguration.html) do AWS License Manager com os seguintes parâmetros obrigatórios:
+ `Name`
+ `LicenseCountingType` 
+ `ProductInformationList`
+ `ResourceType`
+ `ProductInformationFilterList`
+ `ProductInformationFilterName`
+ `ProductInformationFilterValue`
+ `ProductInformationFilterComparator`

Para obter mais informações sobre o parâmetro , consulte [Configurações para criar licenças autogerenciadas](#db2-settings-lms).

#### Automatização da criação de licenças autogerenciadas no AWS License Manager com modelos
<a name="db2-lms-integration-templates"></a>

Você pode automatizar a criação de licenças autogerenciadas usando modelos do CloudFormation e do Terraform.

O seguinte modelo de exemplo CloudFormation cria licenças autogerenciadas para o Db2 Standard Edition no RDS para Db2. Para obter um modelo para o Db2 Advanced Edition, atualize os valores para `Name`, `Description` e `ProductInformationFilter`.

```
AWSTemplateFormatVersion: "2010-09-09"
Description: CloudFormation template to create a License Configuration for Db2 Standard Edition on RDS for Db2.

Resources:
  Db2LicenseConfiguration:
    Type: "AWS::LicenseManager::LicenseConfiguration"
    Properties:
      Name: "rds-db2-se"
      Description: "Db2 Standard Edition on RDS for Db2"
      LicenseCountingType: "vCPU"
      LicenseCountHardLimit: false
      ProductInformationList:
        - ResourceType: "RDS"
          ProductInformationFilterList:
            - ProductInformationFilterName: "Engine Edition"
              ProductInformationFilterValue:
                - "db2-se"
              ProductInformationFilterComparator: "EQUALS"
```

Para obter mais informações sobre como usar o CloudFormation com o Amazon RDS, consulte [Criar recursos do Amazon RDS com o AWS CloudFormation](creating-resources-with-cloudformation.md).

O seguinte modelo de exemplo Terraform cria licenças autogerenciadas para o Db2 Standard Edition no RDS para Db2. Substitua *us-east-1* por sua Região da AWS. Para obter um modelo para o Db2 Advanced Edition, atualize os valores para `name`, `description` e `product_information_filter`.

```
provider "aws" {
  region = "us-east-1"
}

resource "aws_licensemanager_license_configuration" "rds_db2_license_config" {
  name                     = "rds-db2-se"
  description              = "Db2 Standard Edition on RDS for Db2
  license_counting_type    = "vCPU"
  license_count_hard_limit = false

  product_information_list {
    resource_type = "RDS"

    product_information_filter {
      name       = "Engine Edition"
      comparator = "EQUALS"
      value      = ["db2-se"]
    }
  }
}
```

Para obter mais informações sobre o uso do Terraform e do Amazon RDS, consulte [Uso do Terraform como uma ferramenta de IaC para a Nuvem AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/choose-iac-tool/terraform.html) e [Práticas recomendadas para usar o Terraform AWS Provider](https://docs.aws.amazon.com/prescriptive-guidance/latest/terraform-aws-provider-best-practices/introduction.html) na *Orientação prescritiva da AWS*.

#### Configurações para criar licenças autogerenciadas
<a name="db2-settings-lms"></a>

Na tabela a seguir, é possível encontrar detalhes sobre as configurações para criar licenças autogerenciadas usando a CLI do AWS License Manager, a API do AWS License Manager, um modelo do CloudFormation e um modelo do Terraform. O nome do parâmetro na tabela a seguir aparece no formato do nome usado na API do AWS License Manager e no modelo do CloudFormation.


| Nome do parâmetro | Tipo de dados | Obrigatório | Descrição | 
| --- | --- | --- | --- | 
|  Nome  |  string  |  Sim  |  O nome da configuração da licença.  | 
|  Descrição  |  string  |  Não  |  A descrição da configuração da licença.  | 
|  LicenseCountingType  |  string  |  Sim  |  A dimensão usada para monitorar o inventário de licenças. Valor válido: `vCPU`.  | 
| LicenseCountHardLimit | booleano | Não | Indica se é usada a aplicação de licenças rígida ou flexível. Exceder um limite rígido bloqueia a iniciação de novas instâncias. | 
|  ProductInformationList  |  matriz de objetos  |  Sim  | Uma lista de informações do produto para uma configuração de licença. | 
|  ResourceType  |  string  |  Sim  |  O tipo de recurso. Valor válido: `RDS`.  | 
|  ProductInformationFilterList  |  matriz de objetos  |  Sim  |  Uma lista de filtros de informações do produto para uma configuração de licença.  | 
|  ProductInformationFilterName  |  string  |  Sim  |  O nome do tipo de filtro que está sendo declarado. Valor válido: `Engine Edition`.  | 
|  ProductInformationFilterValue  |  matriz de strings  | Sim |  O valor a ser filtrado. Você deve especificar apenas um valor. Valores válidos: `db2-se` ou `db2-ae`.  | 
| ProductInformationFilterComparator |  string  |  Sim  | O operador lógico para ProductInformationFilterName. Valor válido: EQUALS. | 

## Licença do Db2 por meio do AWS Marketplace
<a name="db2-licensing-options-marketplace"></a>

No modelo de licença do Db2 por meio do AWS Marketplace, você paga uma taxa horária para assinar as licenças do Db2. Esse modelo ajuda você a começar rapidamente a usar o RDS para Db2 sem precisar comprar licenças. 

Para usar a licença do Db2 por meio do AWS Marketplace, você precisa de uma assinatura do AWS Marketplace ativa para a edição do IBM Db2 específica que deseja usar. Se ainda não tiver uma, [assine o AWS Marketplace](#db2-marketplace-subscribing-registering) para essa edição do IBM Db2.

O Amazon RDS comporta a licença do Db2 por meio do AWS Marketplace para o IBM Db2 Standard Edition e o IBM Db2 Advanced Edition.

**Topics**
+ [Terminologia](#db2-marketplace-terminology)
+ [Pagamentos e faturamento](#db2-marketplace-billing)
+ [Assinar ofertas do Db2 Marketplace e cadastrá-las na IBM](#db2-marketplace-subscribing-registering)
+ [Obtendo uma oferta privada](#db2-marketplace-private-offer)

### Terminologia
<a name="db2-marketplace-terminology"></a>

Essa página usa a terminologia a seguir ao abordar a integração do Amazon RDS com o AWS Marketplace.

Assinatura de SaaS  
No AWS Marketplace, os produtos de software como serviço (SaaS), como o modelo de licença pagamento conforme o uso, adotam um modelo de assinatura baseado no uso. A IBM, que vende o software para Db2, monitora o uso e você só paga pelo que usar.

Oferta pública  
As ofertas públicas permitem que você compre produtos do AWS Marketplace diretamente do Console de gerenciamento da AWS.

Oferta privada  
As ofertas privadas são um programa de compras que permite que vendedores e compradores negociem preços personalizados e termos do contrato de licenciamento de usuário final (EULA) para compras em AWS Marketplace.

Tarifas do Db2 Marketplace  
Taxas cobradas pelo uso da licença do software Db2 pela IBM. Essas taxas de serviço são calculadas por meio do AWS Marketplace e aparecem em sua fatura da AWS na seção AWS Marketplace.

Taxas do Amazon RDS  
Taxas cobradas pela AWS pelos serviços do RDS para Db2, que excluem as licenças ao usar o AWS Marketplace para licenças do Db2. As taxas são calculadas por meio do serviço do Amazon RDS que está sendo usado e aparecem na fatura da AWS.

### Pagamentos e faturamento
<a name="db2-marketplace-billing"></a>

O RDS para Db2 integra-se ao AWS Marketplace para oferecer licenças horárias e pagas conforme o uso para o Db2. As taxas do Db2 Marketplace cobrem os custos de licença do software Db2, ao passo que as taxas do Amazon RDS cobrem os custos do uso da instância de banco de dados do RDS para Db2. Para ter mais informações sobre preço, consulte [Preço do Amazon RDS para Db2](https://aws.amazon.com/rds/db2/pricing/).

Para interromper essas taxas, é necessário excluir todas as instâncias de banco de dados do RDS para Db2. Além disso, é possível remover suas assinaturas das licenças do AWS Marketplace para Db2. Se você remover suas assinaturas sem excluir as instâncias de banco de dados, o Amazon RDS continuará cobrando pelo uso das instâncias de banco de dados. Para obter mais informações, consulte [Excluir uma instância de banco de dados](USER_DeleteInstance.md).

É possível visualizar as faturas e gerenciar os pagamentos das instâncias de banco de dados do RDS para Db2 que usam a licença do Db2 por meio do AWS Marketplace no [console do AWS Billing](https://console.aws.amazon.com/billing). Suas faturas incluem duas cobranças: uma pelo uso da licença do Db2 por meio do AWS Marketplace e outra pelo uso do Amazon RDS. Para ter mais informações sobre faturamento, consulte [Viewing your bill](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/getting-viewing-bill.html) no *Guia do usuário do Gerenciamento de Faturamento e Custos da AWS*.

### Assinar ofertas do Db2 Marketplace e cadastrá-las na IBM
<a name="db2-marketplace-subscribing-registering"></a>

Para usar a licença do Db2 por meio do AWS Marketplace, é necessário usar o Console de gerenciamento da AWS para concluir as duas tarefas a seguir. Você não pode concluir essas tarefas por meio da AWS CLI ou da API do RDS.

**nota**  
Se você quiser criar as instâncias de banco de dados usando a AWS CLI ou a API do RDS, primeiro conclua as duas tarefas a seguir.

**Topics**
+ [Tarefa 1: assinar o Db2 no AWS Marketplace](#db2-marketplace-subscribing)
+ [Tarefa 2: cadastrar sua assinatura na IBM](#db2-marketplace-registering)

#### Tarefa 1: assinar o Db2 no AWS Marketplace
<a name="db2-marketplace-subscribing"></a>

Para usar a licença do Db2 com o AWS Marketplace, você precisa ter uma assinatura do AWS Marketplace ativa para o Db2. Como as assinaturas estão associadas a uma edição específica do IBM Db2, você precisa assinar o Db2 no AWS Marketplace para cada edição do Db2 que deseja usar: [IBM Db2 Advanced Edition](https://aws.amazon.com/marketplace/pp/prodview-w6m4yctzzy5fk), [IBM Db2 Standard Edition](https://aws.amazon.com/marketplace/pp/prodview-gbsgwalbkphv6). Para ter informações sobre assinaturas do AWS Marketplace, consulte [Assinaturas baseadas no uso de Saas](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-saas-products.html#saas-pricing-models) no *Guia do comprador do AWS Marketplace*.

Recomendamos que você assine o Db2 no AWS Marketplace *antes* de começar a [criar uma instância de banco de dados](USER_CreateDBInstance.md). 

#### Tarefa 2: cadastrar sua assinatura na IBM
<a name="db2-marketplace-registering"></a>

Depois de assinar o Db2 no AWS Marketplace, conclua o cadastro do seu pedido IBM na página do AWS Marketplace para o tipo de assinatura do Db2 que você escolheu. Na página AWS Marketplace, escolha **Ver opções de compra** e, depois, selecione **Configure sua conta**. É possível fazer o cadastro com a conta da IBM existente ou criando uma conta da IBM gratuita. 

### Obtendo uma oferta privada
<a name="db2-marketplace-private-offer"></a>

É possível solicitar uma oferta AWS Marketplace privada para o Db2 à IBM. Para ter mais informações, consulte [Ofertas privadas](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-private-offers.html) no *Guia do comprador do AWS Marketplace*.

**nota**  
Se você é um usuário do AWS Organizations e recebeu uma oferta privada emitida para suas contas de pagador e membro, siga o procedimento abaixo para se inscrever no Db2 diretamente em cada conta da sua organização.

**Como receber uma oferta privada do Db2**

1. Depois que uma oferta privada for emitida, faça login no console do AWS Marketplace.

1. Abra o e-mail com um link de oferta privada do Db2.

1. Siga o link para acessar diretamente a oferta privada.
**nota**  
Seguir esse link antes de fazer login na conta correta resultará em um erro de **Página não encontrada** (404).

1. Revise todos os Termos e Condições.

1. Ecolha **Aceitar termos**.
**nota**  
Se uma oferta privada do AWS Marketplace não for aceita, as taxas de serviço do Db2 do AWS Marketplace continuarão sendo cobradas de acordo com a tarifa pública por hora.

1. Para verificar os detalhes da oferta, selecione **Mostrar detalhes** na lista de produtos.

Depois de concluir o procedimento, é possível criar sua instância de banco de dados seguindo as etapas em [Criar uma instância de banco de dados do Amazon RDS](USER_CreateDBInstance.md). No Console de gerenciamento da AWS, em **Licença**, escolha **Por meio de AWS Marketplace**.

## Alternar entre licenças do Db2
<a name="db2-edition-license-switching"></a>

É possível alternar entre licenças do Db2 no RDS para Db2. Por exemplo, é possível começar com traga a sua própria licença (BYOL) e depois mudar para a licença do Db2 por meio do AWS Marketplace. 

**Importante**  
Se você quiser alternar para a licença do Db2 por meio do AWS Marketplace, é necessário ter uma assinatura do AWS Marketplace ativa para a edição do IBM Db2 que deseja usar. Caso contrário, primeiro [assine o Db2 no AWS Marketplace](#db2-marketplace-subscribing-registering) para essa edição do Db2 e, depois, conclua o procedimento de restauração. 

### Console
<a name="db2-restore-pitr-console"></a>

**Como alternar entre licenças do Db2**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Automated backups (Backups automatizados)**.

   Os backups automatizados são exibidos na guia **Current Region** (região atual).

1. Escolha a instância de banco de dados que você quer restaurar.

1. Em **Actions (Ações)**, escolha **Restore to point in time (Restaurar para point-in-time)**.

   A janela **Restore to point in time (Restaurar para point-in-time)** é exibida.

1. Escolha **Latest restorable time (Hora da última restauração)** para restaurar no último horário possível ou escolha **Custom (Personalizar)** para escolher um horário.

   Se você escolher **Personalizar**, insira a data e a hora para as quais deseja restaurar a instância.
**nota**  
Os horários são mostrados no fuso horário local, que é indicado por um deslocamento do Tempo Universal Coordenado (UTC). Por exemplo, UTC-5 é a Hora Padrão do Leste dos EUA/Horário de Verão Central.

1. Em **Mecanismo de banco de dados**, escolha a licença do Db2 que você deseja usar.

1. Em **Identificador de instância de banco de dados**, digite o nome da instância de banco de dados restaurada de destino. O nome deve ser exclusivo.

1. Escolha outras opções conforme necessário, como classe de instância de banco de dados, armazenamento e se você quer usar a escalabilidade automática de armazenamento.

   Para obter informações sobre cada configuração, consulte [Configurações para instâncias de banco de dados](USER_CreateDBInstance.Settings.md).

1. Escolha **Restore to point in time (Restaurar para point-in-time)**. 

Para obter mais informações, consulte [Restaurar uma instância de banco de dados para um momento especificado no Amazon RDS](USER_PIT.md).

### AWS CLI
<a name="db2-restore-pitr-cli"></a>

Para alternar entre licenças do Db2, execute o comando [restore-db-instance-to-point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html). O exemplo a seguir restaura a versão para um ponto no tempo mais recente, define o mecanismo de banco de dados como IBM Db2 Advanced Edition e define o modelo de licença como a licença do Db2 por meio do AWS Marketplace.

Você pode especificar outras configurações. Para obter informações sobre cada configuração, consulte [Configurações para instâncias de banco de dados](USER_CreateDBInstance.Settings.md).

**Example**  
Para Linux, macOS ou Unix:  

```
1. aws rds restore-db-instance-to-point-in-time \
2.     --source-db-instance-identifier my_source_db_instance \
3.     --target-db-instance-identifier my_target_db_instance \
4.     --use-latest-restorable-time \
5.     --engine db2-ae \
6.     --license-model marketplace-license
```
Para Windows:  

```
1. aws rds restore-db-instance-to-point-in-time ^
2.     --source-db-instance-identifier my_source_db_instance ^
3.     --target-db-instance-identifier my_target_db_instance ^
4.     --use-latest-restorable-time ^
5.     --engine db2-ae ^
6.     --license-model marketplace-license
```

Para obter mais informações, consulte [Restaurar uma instância de banco de dados para um momento especificado no Amazon RDS](USER_PIT.md).

### API do RDS
<a name="db2-restore-pitr-api"></a>

Para alternar entre licenças do Db2, chame a operação [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html) da API do Amazon RDS com os seguintes parâmetros:
+ `SourceDBInstanceIdentifier`
+ `TargetDBInstanceIdentifier`
+ `RestoreTime`
+ `Engine`
+ `LicenseModel`

Para obter mais informações, consulte [Restaurar uma instância de banco de dados para um momento especificado no Amazon RDS](USER_PIT.md).

# Classes de instância do Amazon RDS para Db2
<a name="Db2.Concepts.General.InstanceClasses"></a>

A capacidade de computação e memória de uma instância de banco de dados é determinada de acordo com sua classe de instância. A classe de instância de banco de dados da qual você precisa depende dos requisitos de energia e memória de processamento.



## Classes de instância compatíveis com o RDS para Db2
<a name="Db2.Concepts.InstanceClasses.Supported"></a>

As classes de instância compatíveis com o Amazon RDS para Db2 são um subconjunto das classes de instância de banco de dados do Amazon RDS. Para ter a lista completa de classes de instância do Amazon RDS, consulte [Classes de instâncias de banco de dados do ](Concepts.DBInstanceClass.md).

**Topics**
+ [Classes de instância compatíveis do RDS para Db2 para Db2 Standard Edition](#Db2.Concepts.InstanceClasses.Supported.SE)
+ [Classes de instância compatíveis do RDS para Db2 para Db2 Advanced Edition](#Db2.Concepts.InstanceClasses.Supported.AE)

### Classes de instância compatíveis do RDS para Db2 para Db2 Standard Edition
<a name="Db2.Concepts.InstanceClasses.Supported.SE"></a>

A tabela a seguir lista todas as classes de instâncias compatíveis com Db2 Standard Edition do banco de dados do Db2 11.5.9.0. Essas classes de instância estão disponíveis para traga a sua própria licença (BYOL) e a licença do Db2 por meio do AWS Marketplace.


| Tipo de classe de instância | Classe de instância | 
| --- | --- | 
|  Classes de instância de uso geral com processadores Intel Xeon Scalable de terceira geração, armazenamento SSD e otimização de rede  |  db.m6idn.large–db.m6idn.8xlarge  | 
|  Classes instâncias de uso geral com processadores Intel Xeon Scalable de terceira geração  |  db.m6in.large–db.m6in.8xlarge  | 
|  Classes de instâncias de uso geral  |  db.m7i.large–db.m7i.8xlarge db.m6i.large–db.m6i.8xlarge  | 
|  Classes de instância otimizada para memória com SSDs baseados em NVMe com processadores Intel Xeon Scalable de terceira geração  |  db.x2iedn.xlarge  | 
|  Classes de instância otimizada para memória com processadores Intel Xeon Scalable de terceira geração  |  db.r6idn.large–db.r6idn.4xlarge db.r6in.large–db.r6in.4xlarge  | 
|  Classes de instância otimizada para memória  |  db.r7i.large–db.r7i.8xlarge db.r6i.large–db.r6i.4xlarge  | 
|  Classes de instância expansível  |  db.t3.small–db.t3.2xlarge  | 

### Classes de instância compatíveis do RDS para Db2 para Db2 Advanced Edition
<a name="Db2.Concepts.InstanceClasses.Supported.AE"></a>

A tabela a seguir lista todas as classes de instâncias compatíveis com Db2 Advanced Edition do banco de dados do Db2 11.5.9.0. Essas classes de instância estão disponíveis para traga a sua própria licença (BYOL) e a licença do Db2 por meio do AWS Marketplace.


| Tipo de classe de instância | Classe de instância | 
| --- | --- | 
|  Classes de instância de uso geral com processadores Intel Xeon Scalable de terceira geração, armazenamento SSD e otimização de rede  |  db.m6idn.large–db.m6idn.32xlarge  | 
|  Classes instâncias de uso geral com processadores Intel Xeon Scalable de terceira geração  |  db.m6in.large–db.m6in.32xlarge  | 
|  Classes de instâncias de uso geral  |  db.m6i.large–db.m7i.48xlarge db.m7i.large–db.m7i.48xlarge  | 
|  Classes de instância otimizada para memória com SSDs baseados em NVMe com processadores Intel Xeon Scalable de terceira geração  |  db.x2iedn.xlarge–db.x2iedn.32xlarge  | 
|  Classes de instância otimizada para memória com processadores Intel Xeon Scalable de terceira geração  |  db.r6idn.large–db.r6idn.32xlarge db.r6in.8xlarge–db.r6in.32xlarge  | 
|  Classes de instância otimizada para memória  |  db.r6i.large–db.r7i.48xlarge db.r7i.large–db.r7i.48xlarge  | 
|  Classes de instância expansível  |  db.t3.small–db.t3.2xlarge  | 

# Perfis padrão do Amazon RDS para Db2
<a name="db2-default-roles"></a>

O RDS para Db2 adiciona os três perfis a seguir e concede a eles `master_user_role` com a opção `ADMIN`. Quando o banco de dados é provisionado, o RDS para Db2 concede `master_user_role` ao usuário mestre. O usuário mestre, por sua vez, pode conceder esses perfis a outros usuários, grupos ou perfis com declarações `GRANT` nativas conectando-se ao banco de dados.
+ **DBA**: o RDS para Db2 cria esse perfil vazio com autorização `DATAACCESS`. O usuário mestre pode adicionar mais autorizações ou privilégios a esse perfil e depois atribuir o perfil a outros usuários, grupos ou perfis. 
+ **DBA\$1RESTRICTED**: o RDS para Db2 cria esse perfil vazio. O usuário mestre pode adicionar privilégios a esse perfil e depois atribuir o perfil a outros usuários, grupos ou perfis.
+ **DEVELOPER**: o RDS para Db2 cria esse perfil vazio com a autorização `DATAACCESS`. O usuário mestre pode adicionar mais autorizações ou privilégios a esse perfil e depois atribuir o perfil a outros usuários, grupos ou perfis. 
+ **ROLE\$1NULLID\$1PACKAGES**: o RDS para Db2 concede privilégios `EXECUTE` a esse perfil em pacotes `ALL NULLID` que foram vinculados pelo Db2 quando `CREATE DATABASE` foi executado.
+ **ROLE\$1PROCEDURES**: o RDS para Db2 concede privilégios `EXECUTE` a esse perfil em todos os procedimentos `SYSIBM`.
+ **ROLE\$1TABLESPACES**: o RDS para Db2 concede privilégios `USAGE` em espaços de tabela criados pelo comando `CREATE DATABASE`.

# Parâmetros do Amazon RDS para Db2
<a name="db2-supported-parameters"></a>

O Amazon RDS para Db2 usa três tipos de parâmetros: parâmetros de configuração do gerenciador de banco de dados, variáveis do registro e parâmetros de configuração do banco de dados. É possível gerenciar os dois primeiros tipos por meio de grupos de parâmetros e o último tipo por meio do procedimento armazenado [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param).

Por padrão, uma instância de banco de dados do RDS para Db2 usa um grupo de parâmetros de banco de dados específico de um banco de dados do Db2 e uma instância de banco de dados. Esse grupo contém parâmetros para o mecanismo de banco de dados IBM Db2, especificamente os parâmetros de configuração do gerenciador de banco de dados e variáveis de registro. Para ter informações sobre como trabalhar com grupos de parâmetros, consulte [Grupos de parâmetros para Amazon RDS](USER_WorkingWithParamGroups.md).

Os parâmetros de configuração do banco de dados do RDS para Db2 são definidos como os valores padrão do mecanismo de armazenamento selecionado. Para ter mais informações sobre os parâmetros do Db2, consulte [parâmetros de configuração do banco de dados do Db2](https://www.ibm.com/docs/en/db2/11.5?topic=parameters-database-configuration) na documentação do IBM Db2.

**Topics**
+ [Visualizar os parâmetros em grupos de parâmetros](#db2-viewing-parameter-group-parameters)
+ [Visualizar todos os parâmetros com comandos do Db2](#db2-viewing-parameters-db2-commands)
+ [Modificar os parâmetros no grupo de parâmetros](#db2-modifying-parameter-group-parameters)
+ [Modificar os parâmetros de configuração do banco de dados com comandos do Db2](#db2-modifying-parameters-db2-commands)

## Visualizar os parâmetros em grupos de parâmetros
<a name="db2-viewing-parameter-group-parameters"></a>

Os parâmetros de configuração do gerenciador de banco de dados e as variáveis do registro são definidos em grupos de parâmetros. É possível visualizar os parâmetros de configuração do gerenciador de banco de dados e as variáveis do registro para uma versão específica do Db2 usando o Console de gerenciamento da AWS, a AWS CLI ou a API do RDS.

### Console
<a name="db2-viewing-parameter-group-parameters-console"></a>

**Para visualizar os valores de parâmetros para um grupo de parâmetros de banco de dados**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, selecione **Parameter groups**.

   Os grupos de parâmetros de banco de dados aparecem em uma lista.

1. Escolha o nome do grupo de parâmetros para ver sua lista de parâmetros.

### AWS CLI
<a name="db2-viewing-parameter-group-parameters-cli"></a>

É possível visualizar os parâmetros de configuração do gerenciador de banco de dados e as variáveis de registro de uma versão do Db2 executando o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-engine-default-parameters.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-engine-default-parameters.html). Especifique um destes valores a seguir para a opção `--db-parameter-group-family`:
+ `db2-ae-11.5`
+ `db2-se-11.5`

Por exemplo, para visualizar os parâmetros do Db2 Standard Edition 11.5, execute o seguinte comando:

```
aws rds describe-engine-default-parameters --db-parameter-group-family db2-se-11.5
```

Esse comando vai produzir uma saída semelhante ao seguinte exemplo:



```
{
    "EngineDefaults": {
        "Parameters": [
            {
                "ParameterName": "agent_stack_sz",
                "ParameterValue": "1024",
                "Description": "You can use this parameter to determine the amount of memory that is allocated by Db2 for each agent thread stack.",
                "Source": "engine-default",
                "ApplyType": "static",
                "DataType": "integer",
                "AllowedValues": "256-32768",
                "IsModifiable": false
            },
            {
                "ParameterName": "agentpri",
                "ParameterValue": "-1",
                "Description": "This parameter controls the priority given to all agents and to other database manager instance processes and threads by the operating system scheduler. This priority determines how CPU time is allocated to the database manager processes, agents, and threads relative to other processes and threads running on the machine.",
                "Source": "engine-default",
                "ApplyType": "static",
                "DataType": "integer",
                "AllowedValues": "1-99",
                "IsModifiable": false
            },
            ...
        ]
    }
}
```

Para listar somente os parâmetros modificáveis do Db2 Standard Edition 11.5, execute o seguinte comando:

Para Linux, macOS ou Unix:

```
aws rds describe-engine-default-parameters \
    --db-parameter-group-family db2-se-11.5 \
    --query 'EngineDefaults.Parameters[?IsModifiable==`true`].{ParameterName:ParameterName, DefaultValue:ParameterValue}'
```

Para Windows:

```
aws rds describe-engine-default-parameters ^
    --db-parameter-group-family db2-se-11.5 ^
    --query 'EngineDefaults.Parameters[?IsModifiable==`true`].{ParameterName:ParameterName, DefaultValue:ParameterValue}'
```

### API do RDS
<a name="db2-viewing-parameter-group-parameters-api"></a>

Para visualizar os valores de parâmetros para um grupo de parâmetros de banco de dados, use a operação [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameters.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameters.html) com o seguinte parâmetro obrigatório.
+ `DBParameterGroupName`

## Visualizar todos os parâmetros com comandos do Db2
<a name="db2-viewing-parameters-db2-commands"></a>

É possível visualizar as configurações dos parâmetros de configuração do gerenciador de banco de dados, dos parâmetros de configuração do banco de dados e das variáveis do registro usando os comandos do Db2.

**Como visualizar as configurações**

1. Conecte-se ao banco de dados Db2. No exemplo a seguir, substitua *database\$1name*, *master\$1username* e *master\$1password* por suas próprias informações.

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

1. Encontre a versão compatível do Db2.

   ```
   db2 "select service_level, fixpack_num from table(sysproc.env_get_inst_info()) as instanceinfo"
   ```

1. Visualize os parâmetros de uma versão específica do Db2.
   + Visualize os parâmetros de configuração do gerenciador de banco de dados executando o seguinte comando:

     ```
     db2 "select cast(substr(name,1,24) as varchar(24)) as name, case 
         when value_flags = 'NONE' then '' else value_flags end flags, 
         cast(substr(value,1,64) as varchar(64)) as current_value
         from sysibmadm.dbmcfg
         order by name asc with UR"
     ```
   + Visualize todos os parâmetros de configuração do banco de dados executando o seguinte comando:

     ```
     db2 "select cast(substr(name,1,24) as varchar(24)) as name, case 
         when value_flags = 'NONE' then '' else value_flags end flags, 
         cast(substr(value,1,64) as varchar(64)) as current_value 
         from table(db_get_cfg(null)) order by name asc, member asc with UR"
     ```
   + Visualize as variáveis de registro definidas no momento executando o seguinte comando:

     ```
     db2 "select cast(substr(reg_var_name,1,50) as varchar(50)) as reg_var_name, 
         cast(substr(reg_var_value,1,50) as varchar(50)) as reg_var_value, 
         level from table(env_get_reg_variables(null)) 
         order by reg_var_name,member with UR"
     ```

## Modificar os parâmetros no grupo de parâmetros
<a name="db2-modifying-parameter-group-parameters"></a>

É possível modificar os parâmetros de configuração do gerenciador de banco de dados e as variáveis do registro em grupos de parâmetros personalizados usando o Console de gerenciamento da AWS, a AWS CLI a ou a API do RDS. Para obter mais informações, consulte [Grupos de parâmetros de banco de dados para instâncias de banco de dados do Amazon RDS](USER_WorkingWithDBInstanceParamGroups.md).

### Console
<a name="db2-modifying-parameter-group-parameters-console"></a>

**Como modificar os parâmetros de configuração do gerenciador de banco de dados e as variáveis do registro**

1. Crie um grupo de parâmetros personalizado. Para obter mais informações sobre como criar um parameter group de banco de dados, consulte [Criar um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

1. Modifique os parâmetros nesse grupo de parâmetros de banco de dados. Para ter mais informações sobre como modificar um grupo de parâmetros, consulte [Modificar parâmetros em um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

### AWS CLI
<a name="db2-modifying-parameter-group-parameters-cli"></a>

**Como modificar os parâmetros de configuração do gerenciador de banco de dados e as variáveis do registro**

1. Crie um grupo de parâmetros personalizado executando o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html). 

   Inclua as seguintes opções necessárias:
   + `--db-parameter-group-name`: um nome para o grupo de parâmetros que você está criando.
   + `--db-parameter-group-family`: a edição do mecanismo do Db2 e a versão principal. Valores válidos: `db2-se-11.5`, `db2-ae-11.5`. 
   + `--description`: a descrição desse grupo de parâmetros.

   Para obter mais informações sobre como criar um parameter group de banco de dados, consulte [Criar um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

1. Modifique os parâmetros no grupo de parâmetros personalizado que você criou executando o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html).

   Inclua as seguintes opções necessárias:
   + `--db-parameter-group-name`: o nome do grupo de parâmetros criado.
   + `--parameters`: uma matriz de nomes de parâmetros, valores e os métodos de aplicação da atualização de parâmetros.

   Para ter mais informações sobre como modificar um grupo de parâmetros, consulte [Modificar parâmetros em um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

### API do RDS
<a name="db2-modifying-parameter-group-parameters-api"></a>

**Como modificar os parâmetros de configuração do gerenciador de banco de dados e as variáveis do registro**

1. Crie um grupo de parâmetros de banco de dados personalizado usando a operação [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html).

   Inclua os seguintes parâmetros necessários:
   + `DBParameterGroupName`
   + `DBParameterGroupFamily`
   + `Description`

   Para obter mais informações sobre como criar um parameter group de banco de dados, consulte [Criar um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

1. Modifique os parâmetros no grupo de parâmetros personalizado que você criou usando a operação [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html).

   Inclua os seguintes parâmetros necessários:
   + `DBParameterGroupName`
   + `Parameters`

   Para ter mais informações sobre como modificar um grupo de parâmetros, consulte [Modificar parâmetros em um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

## Modificar os parâmetros de configuração do banco de dados com comandos do Db2
<a name="db2-modifying-parameters-db2-commands"></a>

É possível modificar os parâmetros de configuração do banco de dados com os comandos do Db2.

**Como modificar os parâmetros de configuração do banco de dados**

1. Conecte-se ao banco de dados `rdsadmin`. 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 os parâmetros de configuração do banco de dados chamando o procedimento armazenado `rdsadmin.update_db_param`. Para obter mais informações, consulte [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param). 

   ```
   db2 "call rdsadmin.update_db_param(
       'database_name', 
       'parameter_to_modify', 
       'changed_value',
       'restart_database')"
   ```

# Agrupamento EBCDIC para bancos de dados do Db2 no Amazon RDS
<a name="db2-ebcdic"></a>

O Amazon RDS para Db2 aceita o agrupamento EBCDIC para bancos de dados do Db2. Só é possível especificar uma sequência de agrupamento EBCDIC para um banco de dados ao criar o banco de dados usando o procedimento armazenado [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database) do Amazon RDS. 

Ao criar uma instância de banco de dados do RDS para Db2 usando o Console de gerenciamento da AWS, a AWS CLI ou a API do RDS, é possível especificar um nome de banco de dados. Se você especificar um nome de banco de dados, o Amazon RDS criará um banco de dados com o agrupamento padrão de `SYSTEM`. Se você precisar criar um banco de dados com agrupamento EBCDIC, não especifique um nome de banco de dados ao criar uma instância de banco de dados.

O agrupamento de um banco de dados no RDS para Db2 é definido no momento da criação e é imutável.

**Como criar um banco de dados do Db2 com agrupamento EBCDIC**

1. Se você não tiver uma instância de banco de dados do RDS para Db2, crie uma instância de banco de dados, mas não especifique um nome de banco de dados. É possível criar uma instância de banco de dados usando o Console de gerenciamento da AWS, a AWS CLI ou a API do RDS. Para ter mais informações, consulte [Criar uma instância de banco de dados](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).

1. Crie um banco de dados do Db2 e defina a opção de agrupamento como um valor EBCDIC chamando o procedimento armazenado `rdsadmin.create_database`. Para ter mais informações, consulte [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database).
**Importante**  
Após a criação de um banco de dados usando o procedimento armazenado, não é possível alterar a sequência de agrupamento. Se você quiser que um banco de dados use uma sequência de agrupamento diferente, descarte o banco de dados chamando o procedimento armazenado [rdsadmin.drop\$1database](db2-sp-managing-databases.md#db2-sp-drop-database). Depois, crie um banco de dados com a sequência de agrupamento necessária.

# Fuso horário local para instâncias de banco de dados do Amazon RDS para Db2
<a name="db2-time-zone"></a>

O fuso horário de uma instância de banco de dados do Amazon RDS que executa o Db2 é definida por padrão. O padrão é o Tempo Universal Coordenado (UTC). Para combinar o fuso horário de suas aplicações, você pode definir o fuso horário de sua instância de banco de dados como um fuso horário local.

Você define o fuso horário ao criar sua instância de banco de dados. É possível criar uma instância de banco de dados usando o Console de gerenciamento da AWS, a API do RDS ou a AWS CLI. Para ter mais informações, consulte [Criar uma instância de banco de dados](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).

Se a instância de banco de dados fizer parte de uma implantação multi-AZ, durante o failover, o fuso horário permanecerá como o fuso horário local definido.

É possível restaurar a instância de banco de dados para um ponto no tempo que você especifica. A hora é mostrada no fuso horário local. Para ter mais informações, consulte [Restaurar uma instância de banco de dados para um momento especificado no Amazon RDS](USER_PIT.md).

Definir o fuso horário local em sua instância de banco de dados tem as seguintes limitações:
+ Não é possível modificar o fuso horário de uma instância de banco de dados existente do Amazon RDS para Db2.
+ Não é possível restaurar um snapshot de uma instância de banco de dados em um fuso horário para uma instância de banco de dados em um fuso horário diferente.
+ Recomendamos que não restaure um arquivo de backup de um fuso horário em um fuso horário diferente. Se você restaurar um arquivo de backup de um fuso horário para outro, será preciso auditar as consultas e as aplicações quanto à alteração de fuso horário.

## Fusos horários disponíveis
<a name="db2-time-zone-values"></a>

É possível usar os valores a seguir para a configuração de fuso horário.


| Zona | Time zone (Fuso horário) | 
| --- | --- | 
|  África  |  África/Cairo, África/Casablanca, África/Harare, África/Lagos, África/Luanda, África/Monrovia, África/Nairobi, África/Tripoli, África/Windhoek  | 
|  América  |  América/Araguaina, América/Argentina/Buenos\$1Aires, América/Asuncion, América/Bogota, América/Caracas, América/Chicago, América/Chihuahua, América/Cuiaba, América/Denver, América/Detroit, América/Fortaleza, América/Godthab, América/Guatemala, América/Halifax, América/Lima, América/Los\$1Angeles, América/Manaus, América/Matamoros, América/Mexico\$1City, América/Monterrey, América/Montevideo, América/New\$1York, América/Phoenix, América/Santiago, América/Sao\$1Paulo, América/Tijuana, América/Toronto  | 
|  Ásia  |  Ásia/Amman, Ásia/Ashgabat, Ásia/Baghdad, Ásia/Baku, Ásia/Bangkok, Ásia/Beirut, Ásia/Calcutta, Ásia/Damascus, Ásia/Dhaka, Ásia/Hong\$1Kong, Ásia/Irkutsk, Ásia/Jakarta, Ásia/Jerusalem, Ásia/Kabul, Ásia/Karachi, Ásia/Kathmandu, Ásia/Kolkata, Ásia/Krasnoyarsk, Ásia/Magadan, Ásia/Manila, Ásia/Muscat, Ásia/Novosibirsk, Ásia/Rangoon, Ásia/Riyadh, Ásia/Seoul, Ásia/Shanghai, Ásia/Singapore, Ásia/Taipei, Ásia/Tehran, Ásia/Tokyo, Ásia/Ulaanbaatar, Ásia/Vladivostok, Ásia/Yakutsk, Ásia/Yerevan  | 
|  Atlântico  |  Atlântico/Açores, Atlântico/Cape\$1Verde  | 
|  Austrália  |  Austrália/Adelaide, Austrália/Brisbane, Austrália/Darwin, Austrália/Eucla, Austrália/Hobart, Austrália/Lord\$1Howe, Austrália/Perth, Austrália/Sydney  | 
|  Brasil  |  Brasil/DeNoronha, Brasil/Leste  | 
|  Canadá  |  Canadá/Newfoundland, Canadá/Saskatchewan  | 
|  Etc  |  Etc/GMT-3  | 
|  Europa  |  Europa/Amsterdam, Europa/Athens, Europa/Berlin, Europa/Dublin, Europa/Helsinki, Europa/Kaliningrad, Europa/London, Europa/Madrid, Europa/Moscow, Europa/Paris, Europa/Prague, Europa/Rome, Europa/Sarajevo, Europa/Stockholm  | 
|  Pacífico  |  Pacífico/Apia, Pacífico/Auckland, Pacífico/Chatham, Pacífico/Fiji, Pacífico/Guam, Pacífico/Honolulu, Pacífico/Kiritimati, Pacífico/Marquesas, Pacífico/Samoa, Pacífico/Tongatapu, Pacífico/Wake  | 
|  EUA  |  EUA/Alasca, EUA/Central, EUA/East-Indiana, EUA/Eastern, EUA/Pacífico  | 
|  UTC  |  UTC  | 

# Pré-requisitos para criar uma instância de banco de dados do Amazon RDS para Db2
<a name="db2-db-instance-prereqs"></a>

Os itens a seguir são pré-requisitos antes da criação de uma instância de banco de dados. 

**Topics**
+ [Conta de administrador](#db2-prereqs-admin-account)
+ [Considerações adicionais](#db2-prereqs-additional-considerations)

## Conta de administrador
<a name="db2-prereqs-admin-account"></a>

Ao criar uma instância de banco de dados, é necessário designar uma conta de administrador para a instância. O Amazon RDS concede a autoridade `DBADM` a essa conta de administrador de banco de dados local.

A conta do administrador tem as seguintes características, recursos e limitações:
+ É um usuário local e não uma Conta da AWS.
+ Não tem autoridades em nível de instância do Db2, como `SYSADM`, `SYSMAINT` ou `SYSCTRL`.
+ Não pode parar nem iniciar uma instância do Db2.
+ Não será possível descartar um banco de dados do Db2 se você especificou o nome ao criar a instância de banco de dados.
+ Tem acesso total ao banco de dados do Db2, incluindo tabelas e visualizações do catálogo.
+ Pode criar usuários e grupos locais usando procedimentos armazenados do Amazon RDS.
+ Pode conceder e revogar autoridades e privilégios.

A conta do administrador pode executar as seguintes tarefas: 
+ Criar, modificar ou excluir instâncias de banco de dados.
+ Criar um snapshot de banco de dados.
+ Iniciar restaurações para um ponto no tempo.
+ Criar backups automatizados de snapshots de banco de dados.
+ Criar backups manuais de snapshots de banco de dados.
+ Usar outros recursos do Amazon RDS.

## Considerações adicionais
<a name="db2-prereqs-additional-considerations"></a>

Antes de criar uma instância de banco de dados, pense nos seguintes itens:
+ Cada instância de banco de dados do Amazon RDS para Db2 pode hospedar até 50 bancos de dados do Db2. Para obter mais informações, consulte [Vários bancos de dados em uma instância de banco de dados do Amazon RDS para Db2](db2-multiple-databases.md). 
+ Nome do banco de dados inicial
  + Se você não fornecer um nome de banco de dados ao criar uma instância de banco de dados, o Amazon RDS não criará um banco de dados. 
  + Não forneça um nome de banco de dados nas seguintes circunstâncias:
    + Você deseja modificar o parâmetro `db2_compatibility_vector`. Para obter mais informações, consulte [Configuração do parâmetro db2\$1compatibility\$1vector](db2-known-issues-limitations.md#db2-known-issues-limitations-db2-compatibility-vector).
+ No modelo traga a sua própria licença (BYOL), primeiro é necessário criar um grupo de parâmetros personalizado que contenha o IBM Customer ID e o IBM Site ID. Para obter mais informações, consulte [Traga a sua própria licença (BYOL) para o Db2](db2-licensing.md#db2-licensing-options-byol).
+ No modelo de licença do Db2 por meio do AWS Marketplace, você precisa de uma assinatura do AWS Marketplace ativa para a edição do IBM Db2 específica que deseja usar. Se ainda não tiver uma, [assine o Db2 no AWS Marketplace](db2-licensing.md#db2-marketplace-subscribing-registering) para a edição IBM Db2 que deseja usar. Para obter mais informações, consulte [Licença do Db2 por meio do AWS Marketplace](db2-licensing.md#db2-licensing-options-marketplace).

# Vários bancos de dados em uma instância de banco de dados do Amazon RDS para Db2
<a name="db2-multiple-databases"></a>

Você pode criar vários bancos de dados em uma única instância de banco de dados do RDS para Db2 chamando o procedimento armazenado [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database). Uma única instância de banco de dados do RDS para Db2 é limitada a 50 bancos de dados. Esse número inclui bancos de dados nos estados ativado e desativado. 

**nota**  
Se você criar vários bancos de dados em uma instância de banco de dados do RDS para Db2 criada antes de 15 de novembro de 2024, deverá reiniciar a instância de banco de dados para habilitar o suporte a vários bancos de dados.

Por padrão, o Amazon RDS ativa os bancos de dados quando são criados. Para otimizar os recursos de memória, você pode desativar bancos de dados que usa com pouca frequência e ativá-los posteriormente, quando necessário. Para obter mais informações, consulte [Desativação de um banco de dados](db2-managing-databases.md#db2-deactivating-database) e [Ativação de um banco de dados](db2-managing-databases.md#db2-activating-database). 

O número de bancos de dados ativados em uma instância de banco de dados depende dos recursos de memória disponíveis no servidor. Os recursos de memória diferem com base na classe da instância de banco de dados e na quantidade de memória configurada para o banco de dados. Para obter informações sobre classes de instância de banco de dados, consulte [Classes de instâncias de banco de dados do ](Concepts.DBInstanceClass.md). Para obter informações sobre como atualizar a memória de um banco de dados do RDS para Db2, consulte [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param).

Recomendamos que você escolha uma classe de instância de banco de dados que tenha 2 GB de memória para tarefas comuns de banco de dados, requisitos de sistema operacional e outras tarefas de automação do Amazon RDS, como backups. Para obter mais informações sobre como alterar a classe de instância de banco de dados, consulte [Modificar uma instância de banco de dados do Amazon RDS](Overview.DBInstance.Modifying.md).

Além disso, a IBM recomenda no mínimo 1 GB de memória para cada banco de dados ativo. Para obter mais informações, consulte [Requisitos de disco e memória](https://www.ibm.com/docs/en/db2/11.5?topic=servers-disk-memory-requirements) na documentação da IBM.

Você pode calcular o número máximo de bancos de dados ativos que uma instância de banco de dados pode ter com a seguinte fórmula:

```
Active database limit = (total server memory - 2 GB) / 1 GB 
```

O exemplo a seguir mostra o número máximo de bancos de dados ativos para uma instância de banco de dados com uma classe de instância de banco de dados db.m6i.xlarge:

```
Active database limit = (total server memory - 2 GB) / 1 GB 
                      = (16 GB - 2 GB) / 1 GB 
                      = 14 databases
```

Quando o Amazon RDS recupera um banco de dados após uma falha, ele ativa o banco de dados caso estivesse ativo anteriormente. Em determinados casos, como quando você modifica uma classe de instância de banco de dados para uma configuração de memória menor, pode haver memória insuficiente para ativar todos os bancos de dados na instância de banco de dados. Nesses casos, o Amazon RDS ativa os bancos de dados na ordem em que foram criados.

**nota**  
Os bancos de dados que o Amazon RDS não puder ativar devido à memória insuficiente permanecerão em um estado desativado.

# Conectar-se à instância de banco de dados do Db2
<a name="USER_ConnectToDb2DBInstance"></a>

Depois que o Amazon RDS provisiona a instância de banco de dados do Amazon RDS para Db2, é possível usar qualquer aplicação cliente SQL padrão para se conectar à instância de banco de dados. Como o Amazon RDS é um serviço gerenciado, não é possível fazer login como `SYSADM`, `SYSCTRL`, `SECADM` e `SYSMAINT`.

É possível se conectar a uma instância de banco de dados que esteja executando o mecanismo de banco de dados IBM Db2 usando IBM Db2 CLP, IBM CLPPlus, DBeaver ou IBM Db2 Data Management Console. 

**nota**  
A conexão com um banco de dados do Db2 pode falhar se a instância de banco de dados do RDS para Db2 não tiver memória suficiente. Para ter mais informações, consulte [Erro de conexão de banco de dados](db2-troubleshooting.md#db2-database-connection-error).

**Topics**
+ [Encontrar o endpoint da instância de banco de dados do Amazon RDS para Db2](db2-finding-instance-endpoint.md)
+ [Conectar-se à instância de banco de dados do Amazon RDS para Db2 com o IBM Db2 CLP](db2-connecting-with-clp-client.md)
+ [Conectar-se à instância de banco de dados do Amazon RDS para Db2 com o IBM CLPPlus](db2-connecting-with-ibm-clpplus-client.md)
+ [Conectar-se à instância de banco de dados do Amazon RDS para Db2 com o DBeaver](db2-connecting-with-dbeaver.md)
+ [Conectar-se à instância de banco de dados do Amazon RDS para Db2 com o IBM Db2 Data Management Console](db2-connecting-with-ibm-data-management-console.md)
+ [Considerações sobre grupos de segurança com o Amazon RDS para Db2](db2-security-groups-considerations.md)

# Encontrar o endpoint da instância de banco de dados do Amazon RDS para Db2
<a name="db2-finding-instance-endpoint"></a>

Cada instância de banco de dados do Amazon RDS tem um endpoint, e cada ponto final possui o nome DNS e o número da porta para a instância de banco de dados. Para se conectar à instância de banco de dados do Amazon RDS para Db2 com uma aplicação cliente do SQL, é necessário ter o nome do DNS e o número da porta da instância de banco de dados.

É possível encontrar o endpoint de uma instância de banco de dados usando o Console de gerenciamento da AWS ou a AWS CLI.

## Console
<a name="db2-finding-instance-endpoint-console"></a>

**Como encontrar o endpoint de uma instância de banco de dados do RDS para Db2**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1.  No canto superior direito do console, selecione a Região da AWS da instância de banco de dados.

1. Encontre o nome do DNS e o número da porta da instância de banco de dados do RDS para Db2. 

   1. Escolha **Databases (Bancos de dados)** para exibir a lista das instâncias de banco de dados. 

   1. Escolha o nome da instância de banco de dados do RDS para Db2 para exibir os detalhes da instância. 

   1. Na guia **Connectivity & security (Conectividade e segurança)**, copie o endpoint. Além disso, anote o número da porta. Você precisará do endpoint e do número da porta para conectar-se à instância de banco de dados.   
![\[Guia Conectividade e segurança de uma instância de banco de dados que mostra o endpoint e a porta.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/db2-connectivity-security.png)

## AWS CLI
<a name="db2-finding-instance-endpoint-cli"></a>

Para encontrar o endpoint de uma instância de banco de dados do RDS para Db2, execute o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html). No exemplo a seguir, substitua *database-1* pelo nome da instância de banco de dados.

Para Linux, macOS ou Unix:

```
aws rds describe-db-instances \
    --db-instance-identifier database-1 \
    --query 'DBInstances[].{DBInstanceIdentifier:DBInstanceIdentifier,DBName:DBName,Endpoint:Endpoint}' \
    --output json
```

Para Windows:

```
aws rds describe-db-instances ^
    --db-instance-identifier database-1 ^
    --query 'DBInstances[].{DBInstanceIdentifier:DBInstanceIdentifier,DBName:DBName,Endpoint:Endpoint}' ^
    --output json
```

O comando vai produzir uma saída semelhante ao exemplo a seguir. A linha `Address` na saída contém o nome DNS. 

```
[
    {
        "DBInstanceIdentifier": "database-1",
        "DBName": "DB2DB",
        "Endpoint": {
            "Address": "database-1.123456789012.us-east-2.amazonaws.com",
            "Port": 50000,
            "HostedZoneId": "Z2OC4A7DETW6VH"
        }
    }
]
```

# Conectar-se à instância de banco de dados do Amazon RDS para Db2 com o IBM Db2 CLP
<a name="db2-connecting-with-clp-client"></a><a name="db2-downloading-package"></a>

É possível usar um utilitário de linha de comandos, como IBM Db2 CLP, para se conectar a instâncias de banco de dados do Amazon RDS para Db2. Esse utilitário faz parte do IBM Data Server Runtime Client. Para baixar o cliente** **do IBM Fix Central, consulte [IBM Data Server Client Packages Version 11.5 Mod 8 Fix Pack 0](https://www.ibm.com/support/pages/node/6830885) no IBM Support. 

**Topics**
+ [Terminologia](#db2-connecting-ibm-clp-terms)
+ [Instalar o cliente](#db2-connecting-ibm-clp-install-client)
+ [Conexão a uma instância de banco de dados](#db2-connecting-ibm-clp-connect-db-instance)
+ [Solução de problema de conexão com a instância de banco de dados do RDS para Db2](#db2-troubleshooting-connections-clp)

## Terminologia
<a name="db2-connecting-ibm-clp-terms"></a>

Os termos a seguir ajudam a explicar os comandos usados ao [se conectar à instância de banco de dados do RDS para Db2](#db2-connecting-ibm-clp-connect-db-instance).

**catalog tcpip node**  
Esse comando registra um nó de banco de dados remoto com um cliente Db2 local, o que torna o nó acessível à aplicação cliente. Para catalogar um nó, você vai fornecer informações, como nome do host, número da porta e protocolo de comunicação do servidor. O nó catalogado então representa um servidor de destino onde residem um ou mais bancos de dados remotos. Para ter mais informações, consulte [CATALOG TCPIP/TCPIP4/TCPIP6 NODE command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-tcpip-node) na documentação do IBM Db2.

**catalog database**  
Esse comando registra um banco de dados remoto com um cliente Db2 local, o que torna o banco de dados acessível à aplicação cliente. Para catalogar um banco de dados, você vai fornecer informações, como o alias do banco de dados, o nó no qual ele reside e o tipo de autenticação necessário para se conectar ao banco de dados. Para ter mais informações, consulte [CATALOG DATABASE command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-database) na documentação do IBM Db2.

## Instalar o cliente
<a name="db2-connecting-ibm-clp-install-client"></a>

Depois de [downloading the package for Linux](#db2-downloading-package), instale o cliente usando privilégios raiz ou de administrador.

**nota**  
Para instalar o cliente no AIX ou no Windows, siga o mesmo procedimento, mas modifique os comandos do sistema operacional.

**Como instalar o cliente no Linux**

1. Execute **`./db2_install -f sysreq`** e escolha **`yes`** para aceitar a licença.

1. Selecione o local para instalar o cliente.

1. Execute **`clientInstallDir/instance/db2icrt -s client` *instance\$1name***. Substitua *instance\$1name* por um usuário válido do sistema operacional no Linux. Em Linux, o nome da instância de banco de dados do Db2 está vinculado ao nome de usuário do sistema operacional.

   Esse comando cria um diretório **`sqllib`** no diretório inicial do usuário designado no Linux.

## Conexão a uma instância de banco de dados
<a name="db2-connecting-ibm-clp-connect-db-instance"></a>

Para se conectar à instância de banco de dados do RDS para Db2, você precisa do nome do DNS e do número da porta. Para ter informações sobre como descobri-los, consulte [Encontrar o endpoint](db2-finding-instance-endpoint.md). Também é necessário saber o nome do banco de dados, o nome de usuário principal e a senha mestra que você definiu ao criar a instância de banco de dados do RDS para Db2. Para ter mais informações sobre como descobri-los, consulte [Criar uma instância de banco de dados](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).

**Como se conectar a uma instância de banco de dados do RDS para Db2 com IBM Db2 CLP**

1. Faça login com o nome de usuário que você especificou durante a instalação do cliente IBM Db2 CLP.

1. Catalogue a instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua *node\$1name*, *dns\$1name* e *port* por um nome para o nó no catálogo local, o nome do DNS da instância de banco de dados e o número da porta.

   ```
   1. db2 catalog TCPIP node node_name remote dns_name server port
   ```

   **Exemplo**

   ```
   db2 catalog TCPIP node remnode remote database-1.123456789012.us-east-1.amazonaws.com server 50000
   ```

1. Catalogue o banco de dados `rdsadmin` e seu banco de dados. Isso permitirá que você se conecte ao banco de dados `rdsadmin` para realizar algumas tarefas administrativas usando procedimentos armazenados do Amazon RDS. Para obter mais informações, consulte [Administrar a instância de banco de dados do RDS para Db2](db2-administering-db-instance.md).

   No exemplo a seguir, substitua *database\$1alias*, *node\$1name * e *database\$1name* por aliases para esse banco de dados, o nome do nó definido na etapa anterior e o nome do banco de dados. O `server_encrypt` criptografa o nome de usuário e a senha na rede.

   ```
   db2 catalog database rdsadmin [ as database_alias ] at node node_name authentication server_encrypt
       
   db2 catalog database database_name [ as database_alias ] at node node_name authentication server_encrypt
   ```

   **Exemplo**

   ```
   db2 catalog database rdsadmin at node remnode authentication server_encrypt
       
   db2 catalog database testdb as rdsdb2 at node remnode authentication server_encrypt
   ```

1. Conecte-se ao banco de dados do RDS para Db2. No exemplo a seguir, substitua *rds\$1database\$1alias*, *master\$1username* e *master\$1password* pelo nome do banco de dados, o nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2.

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

   O comando vai produzir uma saída semelhante ao seguinte exemplo:

   ```
   Database Connection Information
       
       Database server        = DB2/LINUXX8664 11.5.9.0
       SQL authorization ID   = ADMIN
       Local database alias   = TESTDB
   ```

1. Execute consultas e visualize os resultados. O exemplo a seguir mostra uma declaração SQL que seleciona o banco de dados que você criou.

   ```
   db2 "select current server from sysibm.dual"
   ```

   O comando vai produzir uma saída semelhante ao seguinte exemplo:

   ```
   1
       ------------------
       TESTDB
       
       1 record(s) selected.
   ```

## Solução de problema de conexão com a instância de banco de dados do RDS para Db2
<a name="db2-troubleshooting-connections-clp"></a>

O erro `NULLID` a seguir geralmente indica que as versões do cliente e do servidor do RDS para Db2 não coincidem. Para ver as versões compatíveis do cliente do Db2, consulte [Supported combinations of clients, drivers and server levels](https://www.ibm.com/docs/en/db2/11.5?topic=communications-supported-combinations-clients-drivers-server-levels) na documentação do IBM Db2.

```
db2 "select * from syscat.tables"
SQL0805N Package "NULLID.SQLC2O29 0X4141414141454A69" was not found.
SQLSTATE=51002
```

Depois de receber esse erro, você deverá vincular pacotes do cliente do Db2 antigo a uma versão do servidor do Db2 compatível com o RDS para Db2. 

**Como vincular pacotes de um cliente do Db2 mais antigo a um servidor do Db2 mais recente**

1. Localize os arquivos de vinculação na máquina cliente. Normalmente, esses arquivos estão localizados no diretório **bnd** do caminho de instalação do cliente do Db2 e têm a extensão **.bnd**.

1. Conecte-se ao servidor do Db2. No exemplo a seguir, substitua *database\$1name* pelo nome do servidor do Db2. Substitua *master\$1username* e *master\$1password* por suas informações. Esse usuário tem autoridade `DBADM`. 

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

1. Execute o comando `bind` para vincular os pacotes.

   1. Navegue até o diretório onde estão os arquivos de vinculação na máquina cliente.

   1. Execute o comando `bind` para cada arquivo.

      São necessárias as seguintes opções:
      + `blocking all`: vincula todos os pacotes no arquivo de associação em uma única solicitação de banco de dados. 
      + `grant public`: concede permissão a `public` para executar o pacote.
      + `sqlerror continue`: especifica que o processo `bind` continue mesmo se ocorrerem erros.

      Para ter mais informações sobre o comando `bind`, consulte [BIND command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-bind) na documentação do IBM Db2.

1. Verifique se a associação foi bem-sucedida consultando a visualização do catálogo `syscat.package` ou verificando a mensagem exibida após o comando `bind`.

Para ter mais informações, consulte [DB2 v11.5 Bind File and Package Name List](https://www.ibm.com/support/pages/node/6190455) em IBM Support.

# Conectar-se à instância de banco de dados do Amazon RDS para Db2 com o IBM CLPPlus
<a name="db2-connecting-with-ibm-clpplus-client"></a>

É possível usar um utilitário, como o IBM CLPPlus, para se conectar a uma instância de banco de dados do Amazon RDS para Db2. Esse utilitário faz parte do IBM Data Server Runtime Client. Para baixar o cliente** **do IBM Fix Central, consulte [IBM Data Server Client Packages Version 11.5 Mod 8 Fix Pack 0](https://www.ibm.com/support/pages/node/6830885) no IBM Support. 

**Importante**  
Recomendamos executar o IBM CLPPlus em um sistema operacional compatível com interfaces gráficas de usuário, como macOS, Windows ou Linux com Desktop. Se estiver executando o Linux headless, use a opção **-nw** com comandos do CLPPlus.

**Topics**
+ [Instalar o cliente](#db2-connecting-ibm-clpplus-install-client)
+ [Conexão a uma instância de banco de dados](#db2-connecting-ibm-clpplus-connect-db-instance)
+ [Recuperar dados de CLOB de procedimentos armazenados do Db2](#db2-connecting-ibm-clpplus-retrieve-clob-data)

## Instalar o cliente
<a name="db2-connecting-ibm-clpplus-install-client"></a>

Depois de baixar o pacote para Linux, instale o cliente. 

**nota**  
Para instalar o cliente no AIX ou no Windows, siga o mesmo procedimento, mas modifique os comandos do sistema operacional.

**Como instalar o cliente no Linux**

1. Executar **`./db2_install`**.

1. Execute **`clientInstallDir/instance/db2icrt -s client` *instance\$1name***. Substitua *instance\$1name* por um usuário válido do sistema operacional no Linux. Em Linux, o nome da instância de banco de dados do Db2 está vinculado ao nome de usuário do sistema operacional.

   Esse comando cria um diretório **`sqllib`** no diretório inicial do usuário designado no Linux.

## Conexão a uma instância de banco de dados
<a name="db2-connecting-ibm-clpplus-connect-db-instance"></a>

Para se conectar à instância de banco de dados do RDS para Db2, você precisa do nome do DNS e do número da porta. Para ter informações sobre como descobri-los, consulte [Encontrar o endpoint](db2-finding-instance-endpoint.md). Também é necessário saber o nome do banco de dados, o nome de usuário principal e a senha mestra que você definiu ao criar a instância de banco de dados do RDS para Db2. Para ter mais informações sobre como descobri-los, consulte [Criar uma instância de banco de dados](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).

**Como se conectar a uma instância de banco de dados do RDS para Db2 com IBM CLPPlus**

1. Revise a sintaxe do comando. No exemplo a seguir, substitua *clientDir* pelo local em que o cliente está instalado. 

   ```
   cd clientDir/bin
       ./clpplus -h
   ```

1. Configure o servidor Db2. No exemplo a seguir, substitua *dsn\$1name*, *database\$1name*, *endpoint* e *port* pelo nome do DSN, nome do banco de dados, endpoint e porta da instância de banco de dados do RDS para Db2. Para obter mais informações, consulte [Encontrar o endpoint da instância de banco de dados do Amazon RDS para Db2](db2-finding-instance-endpoint.md).

   ```
   db2cli writecfg add -dsn dsn_name -database database_name -host endpoint -port port -parameter "Authentication=SERVER_ENCRYPT"
   ```

1. Conecte-se à instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua *master\$1username* e *dsn\$1name* pelo nome de usuário principal e pelo nome do DNS.

   ```
   ./clpplus -nw master_username@dsn_name
   ```

1. Uma janela Java Shell é aberta. Digite a senha mestra da instância de banco de dados do RDS para Db2. 
**nota**  
Se a janela Java Shell não for aberta, execute `./clpplus -nw` para usar a mesma janela da linha de comandos.

   ```
   Enter password: *********
   ```

   Uma conexão é estabelecida e produz uma saída semelhante ao seguinte exemplo:

   ```
   Database Connection Information :
   ---------------------------------
   Hostname = database-1.abcdefghij.us-east-1.rds.amazonaws.com
   Database server = DB2/LINUXX8664  SQL110590
   SQL authorization ID = admin
   Local database alias = DB2DB
   Port = 50000
   ```

1. Execute consultas e visualize os resultados. O exemplo a seguir mostra uma declaração SQL que seleciona o banco de dados que você criou. 

   ```
   SQL > select current server from sysibm.dual;
   ```

   O comando vai produzir uma saída semelhante ao seguinte exemplo:

   ```
   1
       --------------------
       DB2DB
       SQL>
   ```

## Recuperar dados de CLOB de procedimentos armazenados do Db2
<a name="db2-connecting-ibm-clpplus-retrieve-clob-data"></a>

Procedimentos armazenados como rdsadmin.db2pd\$1command exibem resultados em colunas de CLOB, que comportam até 2 GB de dados. No entanto, o CLP do Db2 limita a saída de CLOB a 8 KB (8.192 bytes), truncando quaisquer dados além desse limite. Para recuperar a saída completa, use CLPPLUS em vez disso.

1. Obter o ID da tarefa (task\$1id) 

   ```
   db2 "select task_id, task_type, database_name, lifecycle, varchar(bson_to_json(task_input_params), 500) as task_params,
   cast(task_output as varchar(500)) as task_output, CREATED_AT, LAST_UPDATED_AT from table(rdsadmin.get_task_status(null,null,null))"
   ```

1. Executar o comando CLPPLUS

   Depois de obter o task\$1id, execute o seguinte comando no prompt do Unix (substitua TASK\$1ID pelo ID numérico real da tarefa):

   ```
   $ (echo "select task_output from table(rdsadmin.get_task_status(task_id,null,null));" ; echo "disconnect;" ; echo "exit;") | clpplus -nw -silent masteruser/MasterUserPassword@hostname:port_num/rdsadmin
   ```

# Conectar-se à instância de banco de dados do Amazon RDS para Db2 com o DBeaver
<a name="db2-connecting-with-dbeaver"></a>

É possível usar ferramentas de terceiros, como o DBeaver, para se conectar a instâncias de banco de dados do Amazon RDS para Db2. Para baixar esse utilitário, consulte [DBeaver Community](https://dbeaver.io/). 

Para se conectar à instância de banco de dados do RDS para Db2, você precisa do nome do DNS e do número da porta. Para ter informações sobre como descobri-los, consulte [Encontrar o endpoint](db2-finding-instance-endpoint.md). Também é necessário saber o nome do banco de dados, o nome de usuário principal e a senha mestra que você definiu ao criar a instância de banco de dados do RDS para Db2. Para ter mais informações sobre como descobri-los, consulte [Criar uma instância de banco de dados](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).

**Como se conectar a uma instância de banco de dados do RDS para Db2 com DBeaver**

1. Início **DBeaver**.

1. Selecione o ícone **Nova conexão** na barra de ferramentas e, depois, escolha **Db2 para LUW**.  
![\[O menu que lista os tipos de mecanismo em DBeaver.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/dbeaver-add-connection.png)

1. Na janela **Conectar-se a um banco de dados**, forneça informações da instância de banco de dados do RDS para Db2.

   1.  Insira as seguintes informações:
      + Em **Host**, digite o nome do DNS da instância de banco de dados.
      + Em **Porta**, insira o número da porta da instância de banco de dados.
      + Em **Banco de dados**, insira o nome do banco de dados.
      + Em **Username (Nome do usuário)**, digite o nome do administrador do banco de dados da instância de banco de dados.
      + Em **Senha**, digite a senha do administrador do banco de dados da instância de banco de dados.

   1. Selecione **Salvar senha**.

   1. Selecione **Configurações do driver**.   
![\[A janela Conectar-se a um banco de dados com várias configurações de conexão preenchidas em DBeaver.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/dbeaver-connect-database.png)

1. Na janela **Editar driver**, especifique propriedades de segurança adicionais.

   1. Selecione a guia **Propriedades do driver**.

   1. Adicione duas **Propriedades do usuário**.

      1. Abra o menu de contexto (clique com o botão direito do mouse) e selecione **Adicionar nova propriedade**.

      1. Em **Nome da propriedade**, adicione **encryptionAlgorithm** e, depois, escolha **OK**.

      1. Com a linha **encryptionAlgorithm** selecionada, escolha a coluna **Valor** e adicione **2**.

      1. Abra o menu de contexto (clique com o botão direito do mouse) e selecione **Adicionar nova propriedade**.

      1. Em **Nome da propriedade**, adicione **securityMechanism** e escolha **OK**.

      1. Com a linha **securityMechanism** selecionada, escolha a coluna **Valor** e adicione **7**.

   1. Escolha **OK**.  
![\[Guia Propriedades do driver na janela Editar driver em DBeaver.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/dbeaver-driver-properties-tab.png)

1. Na janela **Conectar-se a um banco de dados**, selecione **Testar conexão**. Se você não tiver um driver DB2 JBDC instalado no computador, o driver será baixado automaticamente.

1. Escolha **OK**.

1. Escolha **Terminar**.

1. Na guia **Navegação no banco de dados**, selecione o nome do banco de dados. Agora, é possível explorar objetos.

Agora, está tudo pronto para executar comandos SQL.

**Como executar comandos SQL e visualizar os resultados**

1. No menu superior, selecione **SQL**. Um painel de script SQL será aberto.

1. No painel **Script**, insira um comando SQL.

1. Para executar o comando, selecione o botão **Executar consulta SQL**.

1. No painel de resultados SQL, visualize os resultados das consultas SQL.  
![\[Janela mostrando como executar um comando SQL e visualizar os resultados em DBeaver.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/dbeaver-sql-run-example.png)

# Conectar-se à instância de banco de dados do Amazon RDS para Db2 com o IBM Db2 Data Management Console
<a name="db2-connecting-with-ibm-data-management-console"></a>

É possível se conectar à instância de banco de dados do Amazon RDS para Db2 com o IBM Db2 Data Management Console. O IBM Db2 Data Management Console pode administrar e monitorar várias instâncias de banco de dados do RDS para Db2. 

**nota**  
Você deve ter uma máquina Linux ou Windows do Amazon EC2 que esteja na mesma VPC e grupo de segurança da instância de banco de dados do RDS para Db2. A VPC e o grupo de segurança controlam a conexão com a instância de banco de dados por meio da rede interna. 

O IBM Db2 Data Management Console requer um banco de dados do Db2 do repositório para armazenar metadados e métricas de desempenho, mas não pode criar automaticamente um banco de dados de repositório para o RDS para Db2. Em vez disso, é necessário criar um banco de dados de repositório para monitorar uma ou mais instâncias de banco de dados do RDS para Db2. Depois, é possível instalar o IBM Db2 Data Management Console e conectar-se à instância de banco de dados do RDS para Db2 com o IBM Db2 Data Management Console.

**Topics**
+ [Etapa 1: criar um banco de dados de repositório para monitorar instâncias de banco de dados](#db2-creating-repo-db-monitoring-dmc)
+ [Etapa 2: instalar e configurar o IBM Db2 Data Management Console](#db2-install-setup-dmc)
+ [Etapa 3: configurar o banco de dados do repositório e se conectar a instâncias de banco de dados do RDS para Db2](#db2-connecting-db-instances-with-dmc)
+ [Usar o IBM Db2 Data Management Console](#db2-using-dmc)

## Etapa 1: criar um banco de dados de repositório para monitorar instâncias de banco de dados
<a name="db2-creating-repo-db-monitoring-dmc"></a>

É possível usar uma instância de banco de dados do RDS para Db2 de tamanho adequado como um repositório para o IBM Db2 Data Management Console para monitorar outras instâncias de banco de dados do RDS para Db2. No entanto, como o usuário administrador não tem a autoridade `SYSCTRL` para criar grupos de buffer e espaços de tabela, o uso da criação do repositório IBM Db2 Data Management Console para criar um banco de dados do repositório falha. Em vez disso, é necessário criar um banco de dados de repositório. Esse banco de dados de repositório monitora as instâncias de banco de dados do RDS para Db2. 

É possível criar um banco de dados de repositório de duas maneiras diferentes. É possível criar um banco de dados do RDS para Db2 e criar manualmente um grupo de buffer, um espaço de tabela de usuário e um espaço de tabela temporário do sistema. Ou é possível criar uma instância separada do Amazon EC2 para hospedar um banco de dados de repositório do IBM Db2 Data Management Console.

**Topics**
+ [Criar manualmente um grupo de buffer, um espaço de tabela de usuário e um espaço de tabela temporário do sistema](#db2-manually-creating-dmc)
+ [Criar uma instância do Amazon EC2 para hospedar um repositório do IBM Db2 Data Management Console](#db2-creating-ec2-dmc)

### Criar manualmente um grupo de buffer, um espaço de tabela de usuário e um espaço de tabela temporário do sistema
<a name="db2-manually-creating-dmc"></a>

**Como criar um grupo de buffer, um espaço de tabela de usuário e um espaço de tabela temporário do sistema**

1. Conecte-se ao banco de dados `rdsadmin`. 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 grupo de buffer pool para IBM Db2 Data Management Console. No exemplo a seguir, substitua *database\$1name* pelo nome do repositório que você criou para o IBM Db2 Data Management Console monitorar as instâncias de banco de dados do RDS para Db2. 

   ```
   db2 "call rdsadmin.create_bufferpool('database_name', 
        'BP4CONSOLE', 1000, 'Y', 'Y', 32768)"
   ```

1. Crie um espaço de tabela do usuário para o IBM Db2 Data Management Console. No exemplo a seguir, substitua *database\$1name* pelo nome do repositório que você criou para o IBM Db2 Data Management Console monitorar as instâncias de banco de dados do RDS para Db2. 

   ```
   db2 "call rdsadmin.create_tablespace('database_name', 
        'TS4CONSOLE', 'BP4CONSOLE', 32768)"
   ```

1. Crie um espaço de tabela temporário do sistema para o IBM Db2 Data Management Console. No exemplo a seguir, substitua *database\$1name* pelo nome do repositório que você criou para o IBM Db2 Data Management Console monitorar as instâncias de banco de dados do RDS para Db2. 

   ```
   db2 "call rdsadmin.create_tablespace('database_name',
       'TS4CONSOLE_TEMP', 'BP4CONSOLE', 32768, 0, 0, 'S')"
   ```

Agora está tudo pronto para instalar o IBM Db2 Data Management Console. Consulte mais informações sobre instalação e configuração em [Etapa 2: instalar e configurar o IBM Db2 Data Management Console](#db2-install-setup-dmc).

### Criar uma instância do Amazon EC2 para hospedar um repositório do IBM Db2 Data Management Console
<a name="db2-creating-ec2-dmc"></a>

É possível criar uma instância separada do Amazon Elastic Compute Cloud (Amazon EC2) para hospedar um repositório do IBM Db2 Data Management Console. Consulte informações sobre como criar uma instância do Amazon EC2 em [Tutorial: Comece a usar instâncias do Linux do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html) no *Guia do usuário do Amazon EC2*.

## Etapa 2: instalar e configurar o IBM Db2 Data Management Console
<a name="db2-install-setup-dmc"></a>

Depois de criar um grupo de buffer, um espaço de tabela do usuário e um espaço de tabela temporário do sistema, estará tudo pronto para instalar e configurar o IBM Db2 Data Management Console. 

**Importante**  
Você deve ter uma máquina Linux ou Windows do Amazon EC2 que esteja na mesma VPC e grupo de segurança da instância de banco de dados do RDS para Db2. A VPC e o grupo de segurança controlam a conexão com a instância de banco de dados por meio da rede interna. Além disso, você já deve ter [criado um banco de dados de repositório](#db2-creating-repo-db-monitoring-dmc) para o IBM Db2 Data Management Console.

**Como instalar e configurar o IBM Db2 Data Management Console**

1. Baixe o IBM Db2 Data Management Console do [IBM Db2 Data Management Console versão 3.1x](https://www.ibm.com/support/pages/ibm-db2-data-management-console-version-31x-releases-new-features-and-enhancements) no site do Suporte IBM.

1. Instalar o IBM Db2 Data Management Console.

1. Abra o IBM Db2 Data Management Console e use o endereço IP da máquina do Amazon EC2 e o número da porta que você usou para a conexão HTTP ou HTTPS com a instância do Amazon EC2. Por exemplo, use `http://xx.xx.xx.xx:11080` ou `https://xx.xx.xx.xx.11081`. Substitua `xx.xx.xx.xx` pelo endereço IP da máquina do Amazon EC2. `11080` e `11081` são as portas padrão para conexões HTTP e HTTPS.

1. (Opcional) Se quiser usar a porta 80 ou 443 na instância do Amazon EC2, você poderá usar o Apache httpd ou um servidor HTTP Nginx para fazer o proxy da porta IBM Db2 Data Management Console para a porta 80 ou 443. Consulte mais informações em [Apache HTTP Server Project](https://httpd.apache.org) e [o site do nginx](https://nginx.org/en/).

   Para permitir a conexão com o IBM Db2 Data Management Console, você deve editar as regras de entrada no grupo de segurança. Se você usa um proxy, altere a porta TCP/IP 80 ou 443 para redirecionar para as portas do IBM Db2 Data Management Console. Se você não estiver usando um proxy, altere a porta TCP/IP 80 ou 443 para as portas padrão 11080 (HTTP) ou 11081 (HTTPS).

Agora, é possível fazer login no IBM Db2 Data Management Console para configurar o banco de dados do repositório e estabelecer conexão com instâncias de banco de dados do RDS para Db2. Para obter mais informações, consulte [Configurar o banco de dados do repositório e se conectar a instâncias de banco de dados](#db2-connecting-db-instances-with-dmc).

## Etapa 3: configurar o banco de dados do repositório e se conectar a instâncias de banco de dados do RDS para Db2
<a name="db2-connecting-db-instances-with-dmc"></a>

Quando você se conecta ao banco de dados do repositório pela primeira vez, o IBM Db2 Data Management Console configura o repositório automaticamente. Depois que o banco de dados do repositório estiver configurado, você poderá adicionar conexões de banco de dados ao IBM Db2 Data Management Console. 

Para se conectar à instância de banco de dados do RDS para Db2, você precisa do nome do DNS e do número da porta. Para ter informações sobre como descobri-los, consulte [Encontrar o endpoint](db2-finding-instance-endpoint.md). Também é necessário saber o nome do banco de dados, o nome de usuário principal e a senha mestra que você definiu ao criar a instância de banco de dados do RDS para Db2. Para ter mais informações sobre como descobri-los, consulte [Criar uma instância de banco de dados](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating). Se você estiver se conectando pela Internet, permita o tráfego para a porta do banco de dados. Para obter mais informações, consulte [Criar uma instância de banco de dados](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).

**Como se conectar a instâncias de banco de dados do RDS para Db2 com IBM Db2 Data Management Console**

1. Faça login no IBM Db2 Data Management Console com as credenciais que você definiu durante a instalação.

1. Configure o repositório. 

   1. Na seção **Conexão e banco de dados**, insira as seguintes informações para a instância de banco de dados do RDS para Db2: 
      + Em **Host**, digite o nome do DNS da instância de banco de dados.
      + Em **Porta**, insira o número da porta da instância de banco de dados.
      + Em **Banco de dados**, insira o nome do banco de dados.  
![\[A seção Conexão e banco de dados no IBM Db2 Data Management Console com os campos Host, Porta e Banco de dados.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/ibm-dmc-connection-database.png)

   1. Na seção **Segurança e credencial**, insira as seguintes informações para a instância de banco de dados do RDS para Db2:
      + Em **Tipo de segurança**, selecione **Usuário e senha criptografados**.
      + Em **Username (Nome do usuário)**, digite o nome do administrador do banco de dados da instância de banco de dados.
      + Em **Senha**, digite a senha do administrador do banco de dados da instância de banco de dados.

   1. Selecione **Test connection (Testar conexão)**.
**nota**  
Se a conexão não for bem-sucedida, confirme se a porta do banco de dados está aberta por meio das regras de entrada do grupo de segurança. Para obter mais informações, consulte [Considerações sobre grupos de segurança com o Amazon RDS para Db2](db2-security-groups-considerations.md).

      Se você não [criou manualmente um grupo de buffer, um espaço de tabela de usuário e um espaço de tabela temporário do sistema no RDS para Db2](#db2-manually-creating-dmc), talvez receba a seguinte mensagem de erro:   
![\[Mensagem de erro sobre a falta de permissões para realizar operações.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/ibm-dmc-error-message.png)

      Você deve ter criado uma tabela de buffer, um espaço de tabela e objetos para um repositório do IBM Db2 Data Management Console para monitorar a instância de banco de dados do RDS para Db2. Ou é possível usar uma instância de banco de dados Db2 do Amazon EC2 para hospedar um repositório do IBM Db2 Data Management Console e monitorar a instância de banco de dados do RDS para Db2. Para obter mais informações, consulte [Etapa 1: criar um banco de dados de repositório para monitorar instâncias de banco de dados](#db2-creating-repo-db-monitoring-dmc).

   1. Depois de testar a conexão com êxito, selecione **Próximo**.  
![\[Seção Segurança e credencial no IBM Db2 Data Management Console.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/ibm-dmc-security-credential.png)

   Se o IBM Db2 Data Management Console encontrar o grupo de buffer, o espaço de tabela do usuário e o espaço de tabela temporário do sistema na instância de banco de dados do RDS para Db2, o IBM Db2 Data Management Console configurará automaticamente o banco de dados do repositório. Se você usar a instância do Db2 na instância do Amazon EC2 como banco de dados do repositório, o IBM Db2 Data Management Console criará automaticamente o grupo buffer e outros objetos.

1. Na janela **Definir aceitação do monitor de eventos de estatísticas**, escolha **Próximo**. 

1. (Opcional) Adicione uma nova conexão. Se você quiser usar uma instância de banco de dados do RDS para Db2 diferente para administração e monitoramento, adicione uma conexão a uma instância de banco de dados do RDS para Db2 que não seja do repositório.

   1. Na seção **Conexão e banco de dados**, insira as seguintes informações para a instância de banco de dados do RDS para Db2 para administração e monitoramento:
      + Em **Nome da conexão**, insira o identificador do banco de dados do Db2. 
      + Em **Host**, digite o nome do DNS da instância de banco de dados.
      + Em **Porta**, insira o número da porta da instância de banco de dados.
      + Em **Banco de dados**, insira o nome do banco de dados.  
![\[A seção Conexão e banco de dados para a nova conexão no IBM Db2 Data Management Console com os campos Host, Porta e Banco de dados.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/ibm-dmc-new-connection-database.png)

   1. Na seção **Segurança e credencial**** **, selecione **Habilitar coleta de dados de monitoramento**.

   1. Insira as seguintes informações da instância de banco de dados do RDS para Db2: 
      + Em **Username (Nome do usuário)**, digite o nome do administrador do banco de dados da instância de banco de dados.
      + Em **Senha**, digite a senha do administrador do banco de dados da instância de banco de dados.

   1. Selecione **Test connection (Testar conexão)**.

   1. Depois de testar a conexão com êxito, selecione **Salvar**.  
![\[Seção Segurança e credencial para nova conexão no IBM Db2 Data Management Console.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/ibm-dmc-new-security-credential.png)

   Depois que a conexão é adicionada, uma janela semelhante à seguinte é exibida. Essa janela indica que o banco de dados foi configurado com êxito.  
![\[A janela indicando que o banco de dados foi configurado com êxito no IBM Db2 Data Management Console.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/ibm-dmc-configuration-success.png)

1. Selecione **Ir para bancos de dados**. Uma janela Bancos de dados semelhante ao seguinte é exibida. Essa janela é um painel que mostra métricas, status e conexões.  
![\[Janela de visão geral de Bancos de dados no IBM Db2 Data Management Console.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/ibm-dmc-database-view.png)

Agora você pode começar a usar o IBM Db2 Data Management Console.

## Usar o IBM Db2 Data Management Console
<a name="db2-using-dmc"></a>

É possível usar o IBM Db2 Data Management Console para fazer os seguintes tipos de tarefa:
+ Gerenciar várias instâncias de banco de dados do RDS para Db2.
+ Executar comandos SQL.
+ Examinear, criar ou alterar dados e objetos de banco de dados.
+ Criar declarações `EXPLAIN PLAN` em SQL.
+ Ajustar as consultas.

**Como executar comandos SQL e visualizar os resultados**

1. Na barra de navegação esquerda, selecione **SQL**.

1. Insira um comando SQL.

1. Selecione **Executar tudo**.

1. Para visualizar os resultados, selecione a guia **Resultados**.

![\[Janela Banco de dados mostrando como executar um comando SQL e visualizar os resultados no IBM Db2 Data Management Console.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/ibm-dmc-sql-run-example.png)


# Considerações sobre grupos de segurança com o Amazon RDS para Db2
<a name="db2-security-groups-considerations"></a>

Para se conectar à instância de banco de dados do Amazon RDS para Db2, ela deve estar associada a um grupo de segurança que contenha a configuração de rede e os endereços IP necessários. A instância de banco de dados do RDS para Db2 pode usar o grupo de segurança padrão. Se você atribuiu um grupo de segurança padrão não configurado ao criar a instância de banco de dados do RDS para Db2, o firewall impedirá conexões com a Internet. Para obter informações sobre como criar um novo security group, consulte [Controlar acesso com grupos de segurança](Overview.RDSSecurityGroups.md).

Depois de criar o novo security group, você modifica sua instância de banco de dados para associá-la a esse security group. Para obter mais informações, consulte [Modificar uma instância de banco de dados do Amazon RDS](Overview.DBInstance.Modifying.md). 

Você pode aprimorar a segurança usando o SSL para criptografar conexões com sua a instância de banco de dados. Para obter mais informações, consulte [Usar SSL/TLS com uma instância de banco de dados do Amazon RDS para Db2](Db2.Concepts.SSL.md).

# Proteger as conexões de instância de banco de dados do Amazon RDS para Db2
<a name="Db2.Concepts.RestrictedDBAPrivileges"></a>

O Amazon RDS para Db2 é compatível com formas de melhorar a segurança da instância de banco de dados do RDS para Db2. 

**Topics**
+ [Usar SSL/TLS com uma instância de banco de dados do Amazon RDS para Db2](Db2.Concepts.SSL.md)
+ [Usar a autenticação do Kerberos para o Amazon RDS para Db2](db2-kerberos.md)

# Usar SSL/TLS com uma instância de banco de dados do Amazon RDS para Db2
<a name="Db2.Concepts.SSL"></a>

O SSL é um protocolo padrão do setor para proteger as conexões de rede entre o cliente e o servidor. Após o SSL versão 3.0, o nome mudou para TLS, mas ainda costuma ser chamado de SSL. O Amazon RDS é compatível com criptografia SSL para instâncias de banco de dados do Amazon RDS para Db2. Usando o SSL/TLS, é possível criptografar uma conexão entre o cliente de aplicação e a instância de banco de dados do RDS para Db2. A compatibilidade com SSL/TLS está disponível em todas as Regiões da AWS para RDS para Db2.



Para habilitar a criptografia SSL/TLS para uma instância de banco de dados do RDS para Db2, adicione a opção Db2 SSL ao grupo de parâmetros associado à instância de banco de dados. O Amazon RDS usa uma segunda porta, conforme exigido pelo Db2, para conexões SSL/TLS. Isso permite que comunicações de texto sem formatação e de texto com criptografia SSL ocorram ao mesmo tempo entre uma instância de banco de dados e um cliente Db2. Por exemplo, você pode usar a porta com comunicação de texto simples para se comunicar com outros recursos dentro de uma VPC enquanto usa a porta com comunicação criptografada em SSL para se comunicar com recursos fora da VPC. 

**Topics**
+ [Criar uma conexão SSL/TLS](#db2-creating-ssl-connection)
+ [Conectar-se ao servidor de banco de dados do Db2](#db2-connecting-to-server-ssl)

## Criar uma conexão SSL/TLS
<a name="db2-creating-ssl-connection"></a>

Para criar uma conexão SSL/TLS, selecione uma autoridade de certificação (CA), baixe um pacote de certificados para todas as Regiões da AWS e adicione parâmetros a um grupo de parâmetros personalizado.

### Etapa 1: Selecionar uma CA e baixar um certificado
<a name="db2-creating-ssl-connection-prereq"></a>

Selecione uma autoridade de certificação (CA) e baixe um pacote de certificados para todas as Regiões da AWS. Para obter mais informações, consulte [Usar SSL/TLS para criptografar uma conexão com uma instância ou um cluster de banco de dados](UsingWithRDS.SSL.md).

### Etapa 2: Atualizar os parâmetros em um grupo de parâmetros personalizado
<a name="db2-updating-parameters-ssl"></a>

**Importante**  
Se você estiver usando o modelo traga a sua própria licença (BYOL) para RDS para Db2, modifique o grupo de parâmetros personalizado criado para o IBM Customer ID e o IBM Site ID. Se você estiver usando um modelo de licenciamento diferente para o RDS para Db2, siga o procedimento para adicionar parâmetros a um grupo de parâmetros personalizado. Para obter mais informações, consulte [Opções de licenciamento do Amazon RDS para Db2](db2-licensing.md). 

Não é possível modificar grupos de parâmetros padrão para instâncias de banco de dados do RDS para Db2. Portanto, é necessário criar um grupo de parâmetros personalizado, modificá-lo e associá-lo às instâncias de banco de dados do RDS para Db2. Para obter informações sobre grupos de parâmetros, consulte [Grupos de parâmetros de banco de dados para instâncias de banco de dados do Amazon RDS](USER_WorkingWithDBInstanceParamGroups.md).

 Use as configurações de parâmetros na tabela a seguir.


| Parâmetro | Valor | 
| --- | --- | 
| DB2COMM | TCPIP,SSL ou SSL | 
| SSL\$1SVCENAME | <any port number except the number used for the non-SSL port> | 

**Como atualizar os parâmetros em um grupo de parâmetros personalizado**

1. Crie um grupo de parâmetros personalizado executando o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html). 

   Inclua as seguintes opções necessárias:
   + `--db-parameter-group-name`: um nome para o grupo de parâmetros que você está criando.
   + `--db-parameter-group-family`: a edição do mecanismo do Db2 e a versão principal. Valores válidos: `db2-se-11-5`, `db2-ae-11.5`. 
   + `--description`: a descrição desse grupo de parâmetros.

   Para obter mais informações sobre como criar um parameter group de banco de dados, consulte [Criar um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

1. Modifique os parâmetros no grupo de parâmetros personalizado que você criou executando o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html).

   Inclua as seguintes opções necessárias:
   + `--db-parameter-group-name`: o nome do grupo de parâmetros criado.
   + `--parameters`: uma matriz de nomes de parâmetros, valores e os métodos de aplicação da atualização de parâmetros.

   Para ter mais informações sobre como modificar um grupo de parâmetros, consulte [Modificar parâmetros em um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

1. Associe o grupo de parâmetros à sua instância de banco de dados do RDS para Db2. Para obter mais informações, consulte [Associar um grupo de parâmetros de banco de dados a uma instância de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Associating.md).

## Conectar-se ao servidor de banco de dados do Db2
<a name="db2-connecting-to-server-ssl"></a>

As instruções para se conectar ao servidor de banco de dados do Db2 são específicas do idioma.

------
#### [ Java ]

**Como se conectar ao servidor de banco de dados do Db2 usando Java**

1. Baixe o driver JDBC. Para ter mais informações, consulte [DB2 JDBC Driver Versions and Downloads](https://www.ibm.com/support/pages/db2-jdbc-driver-versions-and-downloads) na documentação do IBM Support.

1. Crie um arquivo de script de shell com o conteúdo a seguir. Esse script adiciona todos os certificados do pacote a um Java KeyStore.
**Importante**  
Verifique se há uma `keytool` no caminho do script para que o script possa localizá-la. Se você usa um cliente Db2, pode localizar a `keytool` em `~sqlib/java/jdk64/jre/bin`.

   ```
   #!/bin/bash
   PEM_FILE=$1
   PASSWORD=$2
   KEYSTORE=$3
   # number of certs in the PEM file
   CERTS=$(grep 'END CERTIFICATE' $PEM_FILE| wc -l)
   for N in $(seq 0 $(($CERTS - 1))); do
       ALIAS="${PEM_FILE%.*}-$N"
       cat $PEM_FILE |
       awk "n==$N { print }; /END CERTIFICATE/ { n++ }" |
       keytool -noprompt -import -trustcacerts -alias $ALIAS -keystore $KEYSTORE -storepass $PASSWORD
   done
   ```

1. Para executar o script de shell e importar o arquivo PEM com o pacote de certificados em um Java KeyStore, execute o comando a seguir. Substitua *shell\$1file\$1name.sh* pelo nome do arquivo de script de shell, e *password* pela senha do Java KeyStore.

   ```
    ./shell_file_name.sh global-bundle.pem password truststore.jks
   ```

1. Para se conectar ao servidor Db2, execute o comando a seguir. Substitua os seguintes espaços reservados no exemplo pelas informações da instância de banco de dados do RDS para Db2.
   + *ip\$1address*: o endereço IP do endpoint de instância de banco de dados.
   + *port*: o número da porta para a conexão SSL. Pode ser qualquer número de porta, exceto o número usado para a porta não SSL.
   + *database\$1name*: o nome do banco de dados na instância de banco de dados.
   + *master\$1username*: o nome de usuário principal da sua instância de banco de dados.
   + *master\$1password*: a senha mestra da instância de banco de dados.

   ```
   export trustStorePassword=MyPassword
   java -cp ~/dsdriver/jdbc_sqlj_driver/linuxamd64/db2jcc4.jar \
   com.ibm.db2.jcc.DB2Jcc -url \
   "jdbc:db2://ip_address:port/database_name:\
   sslConnection=true;sslTrustStoreLocation=\
   ~/truststore.jks;\
   sslTrustStorePassword=${trustStorePassword};\
   sslVersion=TLSv1.2;\
   encryptionAlgorithm=2;\
   securityMechanism=7;" \
   -user master_username -password master_password
   ```

------
#### [ Node.js ]

**Como se conectar ao servidor de banco de dados do Db2 usando Node.js**

1. Instale o driver **node-ibm\$1db**. Para ter mais informações, consulte [Installing the node-ibm\$1db driver on Linux and UNIXsystems](https://www.ibm.com/docs/en/db2/11.5?topic=nodejs-installing-node-db-driver-linux-unix-systems) na documentação do IBM Db2.

1. Crie um arquivo JavaScript com base no conteúdo a seguir. Substitua os seguintes espaços reservados no exemplo pelas informações da instância de banco de dados do RDS para Db2.
   + *ip\$1address*: o endereço IP do endpoint de instância de banco de dados.
   + *master\$1username*: o nome de usuário principal da sua instância de banco de dados.
   + *master\$1password*: a senha mestra da instância de banco de dados.
   + *database\$1name*: o nome do banco de dados na instância de banco de dados.
   + *port*: o número da porta para a conexão SSL. Pode ser qualquer número de porta, exceto o número usado para a porta não SSL.

   ```
   var ibmdb = require("ibm_db");
   const hostname = "ip_address";
   const username = "master_username";
   const password = "master_password";
   const database = "database_name";
   const port = "port";
   const certPath = "/root/qa-bundle.pem";
   ibmdb.open("DRIVER={DB2};DATABASE=" + database + ";HOSTNAME=" + hostname + ";UID=" + username + ";PWD=" + password + ";PORT=" + port + ";PROTOCOL=TCPIP;SECURITY=SSL;SSLServerCertificate=" + certPath + ";", function (err, conn){
    if (err) return console.log(err);
    conn.close(function () {
    console.log('done');
    });
   });
   ```

1. Para alterar o arquivo JavaScript, execute o comando a seguir.

   ```
   node ssl-test.js
   ```

------
#### [ Python ]

**Como se conectar ao servidor de banco de dados do Db2 usando Python**

1. Crie um arquivo Python com o conteúdo a seguir. Substitua os seguintes espaços reservados no exemplo pelas informações da instância de banco de dados do RDS para Db2.
   + *port*: o número da porta para a conexão SSL. Pode ser qualquer número de porta, exceto o número usado para a porta não SSL.
   + *master\$1username*: o nome de usuário principal da sua instância de banco de dados.
   + *master\$1password*: a senha mestra da instância de banco de dados.
   + *database\$1name*: o nome do banco de dados na instância de banco de dados.
   + *ip\$1address*: o endereço IP do endpoint de instância de banco de dados.

   ```
   import click
   import ibm_db
   import sys
   
   port = port;
   master_user_id = "master_username" # Master id used to create your DB instance
   master_password = "master_password" # Master password used to create your DB instance
   db_name = "database_name" # If not given "db-name'
   vpc_customer_private_ip = "ip_address" # Hosts end points - Customer private IP Addressicert_path = "/root/ssl/global-bundle.pem" # cert path
   
   @click.command()        
   @click.option("--path", help="certificate path")
   def db2_connect(path):
   
       try:
           conn = ibm_db.connect(f"DATABASE={db_name};HOSTNAME={vpc_customer_private_ip};PORT={port};
               PROTOCOL=TCPIP;UID={master_user_id};PWD={master_password};SECURITY=ssl;SSLServerCertificate={path};", "", "")
           try:
               ibm_db.exec_immediate(conn, 'create table tablename (a int);')
               print("Query executed successfully")
           except Exception as e:
               print(e)
           finally:
               ibm_db.close(conn)
               sys.exit(1)
       except Exception as ex:
           print("Trying to connect...")
   
   if __name__ == "__main__":
       db2_connect()
   ```

1. Crie o script de shell a seguir, que executa o arquivo Python criado. Substitua *python\$1file\$1name.py* pelo nome do arquivo de script Python.

   ```
   #!/bin/bash
   PEM_FILE=$1
   # number of certs in the PEM file
   CERTS=$(grep 'END CERTIFICATE' $PEM_FILE| wc -l)
   
   for N in $(seq 0 $(($CERTS - 1))); do
       ALIAS="${PEM_FILE%.*}-$N"
       cert=`cat $PEM_FILE | awk "n==$N { print }; /END CERTIFICATE/ { n++ }"`
       cat $PEM_FILE | awk "n==$N { print }; /END CERTIFICATE/ { n++ }" > $ALIAS.pem
       python3 <python_file_name.py> --path $ALIAS.pem
       output=`echo $?`
       if [ $output == 1 ]; then
           break
       fi
   done
   ```

1. Para importar o arquivo PEM com o pacote de certificados e executar o script de shell, execute o comando a seguir. Substitua *shell\$1file\$1name.sh* pelo nome do arquivo de script de shell.

   ```
   ./shell_file_name.sh global-bundle.pem
   ```

------
#### [ CLP do Db2 ]

**Como se conectar ao servidor de banco de dados do Db2 usando Db2 CLP**

1. Para se conectar à instância do Db2 usando o Db2 CLP, você precisa do GSKit, que pode ser baixado no [IBM Fix Central](https://www.ibm.com/support/fixcentral/swg/selectFixes?parent=Security+Systems&product=ibm/Tivoli/IBM+Global+Security+Kit&release=All&platform=All&function=fixId&fixids=8.0.*&source=fc). Para usar o Db2 CLP, você também precisa do cliente IBM Db2, que pode ser baixado em [Download initial Version 11.5 clients and drivers](https://www.ibm.com/support/pages/download-initial-version-115-clients-and-drivers) no IBM Support.

1. Crie um armazenamento de chaves.

   ```
   gsk8capicmd_64 -keydb -create -db "directory/keystore-filename" -pw "changeThisPassword" -type pkcs12 -stash
   ```

1. Importe os pacotes de certificados assinado para o armazenamento de chaves.

   ```
   gsk8capicmd_64 -cert -import -file global-bundle.pem -target directory/keystore-filename> -target_stashed
   ```

1. Atualize a configuração da instância do Db2. 

   ```
   db2 update dbm cfg using SSL_CLNT_KEYDB keystore-filename SSL_CLNT_STASH keystore stash file immediate
   ```

1. Catalogue o nó e o banco de dados.

   ```
   db2 catalog tcpip node ssluse1 REMOTE endpoint SERVER ssl_svcename security ssl
   
   db2 catalog database testdb as ssltest at node ssluse1
   ```

1. Conecte-se ao banco de dados.

   ```
   db2 connect to ssltest user username using password
   ```

------

# Usar a autenticação do Kerberos para o Amazon RDS para Db2
<a name="db2-kerberos"></a>

É possível usar a autenticação Kerberos para autenticar usuários quando se conectam à instância de banco de dados do Amazon RDS para Db2. Nesta configuração, sua instância de banco de dados funciona com AWS Directory Service for Microsoft Active Directory, também chamada AWS Managed Microsoft AD. Você adiciona o domínio e outras informações do diretório AWS Managed Microsoft AD à instância de banco de dados do RDS para Db2. Quando os usuários são autenticados com uma instância de banco de dados do RDS para Db2 unida ao domínio confiável, as solicitações de autenticação são encaminhadas ao diretórioAWS Managed Microsoft AD criado com o Directory Service. 

Manter todas as suas credenciais no mesmo diretório pode economizar tempo e esforço. Com essa abordagem, você tem um lugar centralizado para armazenar e gerenciar credenciais para várias instâncias de banco de dados. O uso de um diretório também pode melhorar o perfil de segurança geral.

Além disso, é possível acessar credenciais de seu próprio Microsoft Active Directory on-premises. Para fazer isso, crie uma relação de domínio confiável para que o diretório AWS Managed Microsoft AD confie no Microsoft Active Directory on-premises. Dessa forma, seus usuários podem acessar as instâncias de banco de dados do RDS para Db2 com a mesma experiência de autenticação única (SSO) do Windows de quando acessam workloads na sua rede on-premises.

Para ter mais informações, consulte [O que é Directory Service?](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html) no *Guia de administração do AWS Directory Service*.

Para ter informações sobre a autenticação Kerberos, consulte os seguintes tópicos:

**Tópicos**
+ [Configurar a autenticação Kerberos para instâncias de banco de dados do Amazon RDS para Db2](db2-kerberos-setting-up.md)
+ [Conectar-se ao Amazon RDS para Db2 com a autenticação Kerberos](db2-kerberos-connecting.md)

## Disponibilidade de regiões e versões
<a name="db2-kerberos-setting-up.RegionVersionAvailability"></a>

A disponibilidade e a compatibilidade de recursos variam entre versões específicas de cada mecanismo de banco de dados e entre Regiões da AWS. Para ter mais informações sobre a disponibilidade de versões e regiões do RDS para Db2 com a autenticação Kerberos, consulte [Regiões e mecanismos de banco de dados compatíveis com a autenticação Kerberos no Amazon RDS](Concepts.RDS_Fea_Regions_DB-eng.Feature.KerberosAuthentication.md).

**nota**  
A autenticação Kerberos não é compatível com classes de instância de banco de dados obsoletas para instâncias de banco de dados do RDS para Db2. Para obter mais informações, consulte [Classes de instância do Amazon RDS para Db2](Db2.Concepts.General.InstanceClasses.md).

## Visão geral da autenticação Kerberos para instâncias de banco de dados do RDS para Db2
<a name="db2-kerberos-setting-up-overview"></a>

Para configurar a autenticação Kerberos para uma instância de banco de dados do RDS para Db2, conclua as seguintes etapas gerais, descritas em mais detalhes posteriormente: 

1. Use AWS Managed Microsoft AD para criar um diretório do AWS Managed Microsoft AD. É possível usar o Console de gerenciamento da AWS, a AWS Command Line Interface (AWS CLI) ou o Directory Service para criar o diretório. Para ter mais informações, consulte [Create your AWS Managed Microsoft AD directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_getting_started_create_directory.html) no *Guia de administração do AWS Directory Service*. 

1. Crie uma função do AWS Identity and Access Management (IAM) que use a politica gerenciada `AmazonRDSDirectoryServiceAccess` do IAM. O perfil do IAM permite que o Amazon RDS faça chamadas para o diretório. 

   Para o perfil do IAM permitir o acesso, o endpoint do AWS Security Token Service (AWS STS) deve estar ativado na Região da AWS correta da Conta da AWS. Os endpoints do AWS STS são ativos por padrão em todas as Regiões da AWS e é possível usá-los sem precisar tomar medidas adicionais. Para ter mais informações, consulte [ Ativar e desativar o AWS STS em uma Região da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#sts-regions-activate-deactivate) no *Guia do usuário do IAM*. 

1. Crie ou modifique uma instância de banco de dados do RDS para Db2 usando o Console de gerenciamento da AWS, a AWS CLI ou a API do RDS com um dos seguintes métodos:
   + Crie uma instância de banco de dados do RDS para Db2 usando o console, o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) ou a operação da API [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Para instruções, consulte [Criar uma instância de banco de dados do Amazon RDS](USER_CreateDBInstance.md).
   + Modifique uma instância de banco de dados do RDS para Db2 existente usando o console, o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) ou a operação da API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html). Para instruções, consulte [Modificar uma instância de banco de dados do Amazon RDS](Overview.DBInstance.Modifying.md). 
   + Restaure uma instância de banco de dados do RDS para Db2 de um snapshot de banco de dados usando o console, o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html) ou a operação da API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html). Para instruções, consulte [Restaurar uma instância de banco de dados](USER_RestoreFromSnapshot.md). 
   + Restaure uma instância de banco de dados do RDS para Db2 para um ponto no tempo usando o console, o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html) ou a operação da API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html). Para instruções, consulte [Restaurar uma instância de banco de dados para um momento especificado no Amazon RDS](USER_PIT.md). 

   É possível localizar a instância de banco de dados na mesma Amazon Virtual Private Cloud (VPC) do diretório ou em uma Conta da AWS ou uma VPC diferente. Ao criar ou modificar a instância de banco de dados do RDS para Db2, realize as seguintes tarefas:
   + Forneça o identificador de domínio (identificador `d-*`) que foi gerado quando você criou seu diretório.
   + Forneça o nome do perfil do IAM criado.
   + Verifique se o grupo de segurança da instância de banco de dados pode receber o tráfego de entrada do grupo de segurança do diretório.

1. Configure o cliente do Db2 e verifique se o tráfego pode fluir entre o host do cliente e o Directory Service para as seguintes portas:
   + Porta TCP/UDP 53: DNS
   + TCP 88: autenticação Kerberos
   + TCP 389: LDAP
   + TCP 464: autenticação Kerberos

## Gerenciamento de uma instância de banco de dados em um domínio
<a name="db2-kerberos-managing-domain"></a>

É possível usar o Console de gerenciamento da AWS, a AWS CLI ou a API do RDS para gerenciar a instância de banco de dados e a respectiva relação no Microsoft Active Directory. Por exemplo, é possível associar um Active Directory para habilitar a autenticação Kerberos. Também é possível remover a associação de um Active Directory para desabilitar a autenticação Kerberos. Também é possível mover uma instância de banco de dados para ser autenticada externamente por um Microsoft Active Directory para outro.

Por exemplo, executando o comando da CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html), é possível realizar as seguintes ações:
+ Tente habilitar novamente a autenticação Kerberos para uma associação com falha, especificando o ID do diretório atual da associação para a `--domain` opção.
+ Desabilite a autenticação Kerberos em uma instância de banco de dados especificando `none` para a opção `--domain`.
+ Mova uma instância de banco de dados de um domínio para outro especificando o identificador do novo domínio para a opção `--domain`.

### Compreensão da associação de domínio
<a name="db2-kerberos-managing-domain.understanding"></a>

Depois que você cria ou modifica a instância de banco de dados, ela se torna membro do domínio. É possível visualizar o status da associação do domínio no console ou executando o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html). O status da instância de banco de dados pode ser um dos seguintes: 
+ `kerberos-enabled`: a instância de banco de dados tem a autenticação Kerberos habilitada.
+ `enabling-kerberos`: a AWS está no processo de habilitar a autenticação Kerberos nessa instância de bancos de dados.
+ `pending-enable-kerberos`: a habilitação da autenticação Kerberos está pendente nessa instância de banco de dados.
+ `pending-maintenance-enable-kerberos`: a AWS tentará habilitar a autenticação Kerberos na instância de bancos de dados durante a próxima janela de manutenção programada.
+ `pending-disable-kerberos`: a desativação da autenticação Kerberos está pendente nessa instância de banco de dados.
+ `pending-maintenance-disable-kerberos`: a AWS tentará desabilitar a autenticação Kerberos na instância de banco de dados durante a próxima janela de manutenção programada.
+ `enable-kerberos-failed`: um problema de configuração impediu que AWS habilitasse a autenticação Kerberos na instância de banco de dados. Corrija o problema de configuração antes de emitir o comando novamente para modificar a instância de banco de dados.
+ `disabling-kerberos`: a AWS está no processo de desabilitar a autenticação Kerberos nessa instância de bancos de dados.

Uma solicitação para habilitar a autenticação Kerberos pode falhar por conta de um problema de conectividade de rede ou de um perfil do IAM incorreto. Em alguns casos, a tentativa de habilitar a autenticação Kerberos pode falhar quando você cria ou modifica uma instância de banco de dados. Nesse caso, verifique se você está usando o perfil do IAM correto e modifique a instância de banco de dados para ingressar no domínio.

# Configurar a autenticação Kerberos para instâncias de banco de dados do Amazon RDS para Db2
<a name="db2-kerberos-setting-up"></a>

Você vai usar AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) para configurar a autenticação Kerberos para uma instância de banco de dados do RDS para Db2 Para configurar a autenticação Kerberos, siga estas etapas:

**Topics**
+ [Etapa 1: criar um diretório usando o AWS Managed Microsoft AD](#db2-kerberos-setting-up.create-directory)
+ [Etapa 2: criar uma confiança](#db2-kerberos-setting-up-create-forest-trust)
+ [Etapa 3: criar um perfil do IAM para o Amazon RDS acessar o Directory Service](#db2-kerberos-setting-up-create-iam-role)
+ [Etapa 4: Criar e configurar usuários](#db2-kerberos-setting-up.create-users)
+ [Etapa 5: criar um grupo de administradores do RDS para Db2 no AWS Managed Microsoft AD](#db2-kerberos-setting-up-vpc-peering)
+ [Etapa 6: modificar parâmetro do banco de dados](#db2-kerberos-setting-up-modify-db-parameter)
+ [Etapa 7: criar ou modificar uma instância de banco de dados do RDS para Db2](#db2-kerberos-setting-up-create-modify)
+ [Etapa 8: recuperar o SID do grupo do Active Directory no PowerShell](#db2-kerberos-setting-up-retrieve-ad-group-sid)
+ [Etapa 9: adicionar o SID aos mapeamentos de GroupName para sua instância de banco de dados do RDS para Db2](#db2-kerberos-setting-up-add-sid-group-mapping)
+ [Etapa 10: configurar um cliente Db2](#db2-kerberos-setting-up-create-logins)

## Etapa 1: criar um diretório usando o AWS Managed Microsoft AD
<a name="db2-kerberos-setting-up.create-directory"></a>

O Directory Service cria um Active Directory totalmente gerenciado na Nuvem AWS. Quando você cria um diretório AWS Managed Microsoft AD, o Directory Service cria dois controladores de domínio e servidores DNS para você. Os servidores do diretório são criados em sub-redes diferentes em uma VPC. Essa redundância ajuda a garantir que o diretório permaneça acessível mesmo se ocorrer uma falha. 

 Ao criar um diretório do AWS Managed Microsoft AD, o Directory Service executa as seguintes tarefas em seu nome: 
+ Configura um Active Directory na VPC. 
+ Cria uma conta de administrador do diretório com o nome de usuário `Admin` e a senha especificada. Use essa conta para gerenciar seu diretório. 
**Importante**  
Certifique-se de salvar essa senha. O Directory Service não armazena essa senha e não é possível recuperá-la ou redefini-la.
+ Cria um grupo de segurança para os controladores do diretório. O grupo de segurança deve permitir a comunicação com a instância de banco de dados do RDS para Db2.

Ao iniciar o AWS Directory Service for Microsoft Active Directory, a AWS cria uma unidade organizacional (UO) que contém todos os objetos do diretório. Essa UO, que tem o nome de NetBIOS que você digitou ao criar o diretório, está localizada na raiz do domínio. A raiz do domínio é controlada e de propriedade da AWS. 

A conta `Admin`, que foi criada com o diretório AWS Managed Microsoft AD, tem permissões para as atividades administrativas mais comuns da UO: 
+ Crie, atualize ou exclua usuários.
+ Adicione recursos ao domínio, como servidores de arquivos ou de impressão, e atribua permissões para esses recursos aos usuários na UO. 
+ Criar OUs adicionais e contêineres. 
+ Delegar autoridade.
+ Restaure objetos excluídos da lixeira do Active Directory. 
+ Execute os módulos Active Directory e Domain Name Service (DNS) para Windows PowerShell noDirectory Service. 

A conta `Admin` também possui direitos para executar as seguintes atividades de domínio: 
+ Gerenciar configurações de DNS (adicionar, remover ou atualizar registros, zonas e encaminhadores). 
+ Visualizar logs de eventos de DNS. 
+ Visualizar logs de eventos de segurança. 

**Como criar um diretório com AWS Managed Microsoft AD**

1. Faça login no Console de gerenciamento da AWS e abra o console do Directory Service em [https://console.aws.amazon.com/directoryservicev2/](https://console.aws.amazon.com/directoryservicev2/).

1. Selecione **Configurar diretório**.

1. Selecione **AWS Managed Microsoft AD**. O AWS Managed Microsoft AD é a única opção atualmente aceita para uso com o Amazon RDS. 

1. Escolha ******Próximo******.

1. Na página ******Inserir informações do diretório******, forneça as seguintes informações: 
   + **Edição**: selecione a edição que atenda aos requisitos.
   + **Nome do DNS do diretório**** **: o nome totalmente qualificado do diretório, como `corp.example.com`. 
   + **Nome de NetBIOS do diretório**** **: um nome curto opcional do diretório, como `CORP`.
   + **Descrição do diretório**: uma descrição opcional do diretório. 
   + **Senha do administrador**** **: a senha do administrador do diretório. O processo de criação do diretório cria uma conta de administrador com o nome de usuário `Admin` e essa senha. 

     A senha do administrador do diretório não pode incluir a palavra "admin". A senha diferencia letras maiúsculas de minúsculas e deve ter entre 8 e 64 caracteres. Ela também precisa conter pelo menos um caractere de três das quatro categorias a seguir: 
     + Letras minúsculas (a–z) 
     + Letras maiúsculas (A–Z) 
     + Números (0–9) 
     + Caracteres não alfanuméricos (\$1\$1@\$1\$1%^&\$1\$1-\$1=`\$1\$1()\$1\$1[]:;"'<>,.?/) 
     + Confirmar senha: digite a senha do administrador novamente. 
**Importante**  
Salve essa senha. O Directory Service não armazena essa senha e não é possível recuperá-la ou redefini-la.

1. Escolha **Next (Próximo)**.

1. Na página **Choose VPC and subnets (Selecionar VPC e sub-redes)**, forneça as seguintes informações:
   + **VPC**: selecione a VPC do diretório. É possível criar a instância de banco de dados do RDS para Db2 nessa mesma VPC ou em outra VPC. 
   + **Sub-redes**: selecione as sub-redes para os servidores do diretório. As duas sub-redes deve estar em diferentes zonas de disponibilidade. 

1. Escolha **Next (Próximo)**.

1. Analise as informações do diretório. Se alterações forem necessárias, escolha **Previous (Anterior)** e faça as alterações. Quando as informações estiverem corretas, escolha **Create directory (Criar diretório)**.   
![\[A janela Revisar e criar durante a criação do diretório no console do Directory Service.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/db2-create-ADS-directory.png)

A criação do diretório leva vários minutos. Depois que o diretório tiver sido criado com sucesso, o valor de **Status** muda para **Active (Ativo)**. 

Para ver as informações sobre o diretório, selecione o ID do diretório em **ID do diretório**. Anote o valor do **Directory ID (ID do diretório)**. Esse valor será necessário ao criar ou modificar a instância de banco de dados do RDS para Db2. 

![\[A seção Detalhes do diretório com ID do diretório no console do Directory Service.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/db2-ADS-directory-details.png)


## Etapa 2: criar uma confiança
<a name="db2-kerberos-setting-up-create-forest-trust"></a>

Se você planeja usar somente o AWS Managed Microsoft AD, vá para [Etapa 3: criar um perfil do IAM para o Amazon RDS acessar o Directory Service](#db2-kerberos-setting-up-create-iam-role).

Para habilitar a autenticação Kerberos usando seu Active Directory autogerenciado, você deve criar uma relação de confiança de floresta. Uma relação de confiança de floresta é uma relação de confiança entre um Microsoft AD e um Active Directory autogerenciado e o AWS Managed Microsoft AD criado na etapa anterior. A confiança também pode ser bidirecional, onde os dois Active Directories confiam um no outro. Para ter mais informações sobre como configurar confianças de floresta usando o Directory Service, consulte [When to create a trust relationship](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_tutorial_setup_trust.html) no *Guia de administração do AWS Directory Service*.

## Etapa 3: criar um perfil do IAM para o Amazon RDS acessar o Directory Service
<a name="db2-kerberos-setting-up-create-iam-role"></a>

Para que o Amazon RDS chame o Directory Service para você, a Conta da AWS precisa de um perfil do IAM que use a política gerenciada do IAM `AmazonRDSDirectoryServiceAccess`. Esse perfil permite que o Amazon RDS faça chamadas ao Directory Service.

Quando você cria uma instância de banco de dados usando o Console de gerenciamento da AWS e a conta do usuário do console tiver a permissão `iam:CreateRole`, o console criará o perfil do IAM necessário automaticamente. Nesse caso, o nome da função é `rds-directoryservice-kerberos-access-role`. Caso contrário, é necessário criar a função do IAM manualmente. Ao criar essa função do IAM, escolha `Directory Service` e associe a AWS política gerenciada da `AmazonRDSDirectoryServiceAccess` a ela. 

Para ter mais informações sobre como criar funções do IAM para um serviço, consulte o tópico sobre como [Criar uma função para delegar permissões a um serviço da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html), no *Guia do usuário do IAM*. 

**nota**  
O perfil do IAM usado para a autenticação Windows para RDS para o Microsoft SQL Server não pode ser usado para o RDS para Db2.

Como alternativa ao uso da política gerenciada pelo `AmazonRDSDirectoryServiceAccess`, você pode criar políticas com as permissões exigidas. Nesse caso, o perfil do IAM deve ter a seguinte política de confiança do IAM:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "directoryservice.rds.amazonaws.com",
          "rds.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

O perfil também deve ter a seguinte política de perfil do IAM:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "ds:DescribeDirectories",
        "ds:AuthorizeApplication",
        "ds:UnauthorizeApplication",
        "ds:GetAuthorizedApplicationDetails"
      ],
    "Effect": "Allow",
    "Resource": "*"
    }
  ]
}
```

------

## Etapa 4: Criar e configurar usuários
<a name="db2-kerberos-setting-up.create-users"></a>

É possível criar usuários utilizando a ferramenta Active Directory Users and Computers. Essa é uma das ferramentas Active Directory Domain Services e Active Directory Lightweight Directory Services. Para ter mais informações, consulte [Add Users and Computers to the Active Directory domain](https://learn.microsoft.com/en-us/troubleshoot/windows-server/identity/create-an-active-directory-server#add-users-and-computers-to-the-active-directory-domain) na documentação da Microsoft. Nesse caso, os usuários são indivíduos ou outras entidades, como computadores, que fazem parte do domínio e cujas identidades estão sendo mantidas no diretório. 

Para criar usuários em um diretório do Directory Service, é necessário estar conectado a uma instância do Amazon EC2 baseada no Windows que seja membro do diretório do Directory Service. Ao mesmo tempo, é necessário estar conectado como um usuário que tenha privilégios para criar usuários. Para obter mais informações, consulte [Criar um usuário](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_manage_users_groups_create_user.html) no *Guia de administração do AWS Directory Service*.

## Etapa 5: criar um grupo de administradores do RDS para Db2 no AWS Managed Microsoft AD
<a name="db2-kerberos-setting-up-vpc-peering"></a>

O RDS para Db2 não é compatível com a autenticação Kerberos para o usuário principal ou para os dois usuários reservados `rdsdb` e `rdsadmin` do Amazon RDS. Em vez disso, você precisa criar um grupo chamado `masterdba` no AWS Managed Microsoft AD. Para ter mais informações, consulte [Create a Group Account in Active Directory](https://learn.microsoft.com/en-us/windows/security/operating-system-security/network-security/windows-firewall/create-a-group-account-in-active-directory) na documentação da Microsoft. Todos os usuários adicionados a esse grupo terão privilégios de usuário principal.

Depois de habilitar a autenticação Kerberos, o usuário principal perde o perfil `masterdba`. Como resultado, o usuário principal não conseguirá acessar a associação do grupo de usuários local da instância, a menos que você desabilite a autenticação Kerberos. Para continuar utilizando o usuário principal com login por senha, crie um usuário no AWS Managed Microsoft AD com o mesmo nome do usuário principal. Depois, adicione esse usuário ao grupo `masterdba`.

## Etapa 6: modificar parâmetro do banco de dados
<a name="db2-kerberos-setting-up-modify-db-parameter"></a>

Se você planeja usar somente o AWS Managed Microsoft AD, pule para [Etapa 7: criar ou modificar uma instância de banco de dados do RDS para Db2Etapa 7: Criar ou modificar uma instância de banco de dados](#db2-kerberos-setting-up-create-modify).

Para habilitar a autenticação Kerberos usando seu Active Directory autogerenciado, você deve definir o parâmetro `rds.active_directory_configuration` como `AWS_MANAGED_AD_WITH_TRUST` em seu grupo de parâmetros. Por padrão, esse parâmetro é definido como `AWS_MANAGED_AD` para usar somente o AWS Managed Microsoft AD.

Para ter informações sobre como modificar parâmetros de banco de dados, consulte [Modificar os parâmetros no grupo de parâmetros](db2-supported-parameters.md#db2-modifying-parameter-group-parameters).

## Etapa 7: criar ou modificar uma instância de banco de dados do RDS para Db2
<a name="db2-kerberos-setting-up-create-modify"></a>

Crie ou modifique uma instância de banco de dados do RDS para Db2 para ser usada com o diretório. É possível usar o Console de gerenciamento da AWS, a AWS CLI ou a API do RDS para associar uma instância de banco de dados a um diretório. Você pode fazer isso por meio de uma das seguintes maneiras:
+ Crie uma instância de banco de dados do RDS para Db2 usando o console, o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) ou a operação da API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Para instruções, consulte [Criar uma instância de banco de dados do Amazon RDS](USER_CreateDBInstance.md).
+ Modifique uma instância de banco de dados do RDS para Db2 existente usando o console, o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) ou a operação da API [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html). Para instruções, consulte [Modificar uma instância de banco de dados do Amazon RDS](Overview.DBInstance.Modifying.md). 
+ Restaure uma instância de banco de dados do RDS para Db2 de um snapshot de banco de dados usando o console, o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html) ou a operação da API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html). Para instruções, consulte [Restaurar uma instância de banco de dados](USER_RestoreFromSnapshot.md). 
+ Restaure uma instância de banco de dados do RDS para Db2 para um ponto no tempo usando o console, o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html) ou a operação da API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html). Para instruções, consulte [Restaurar uma instância de banco de dados para um momento especificado no Amazon RDS](USER_PIT.md). 

A autenticação Kerberos só é compatível com instâncias de banco de dados do RDS para Db2 em uma VPC. A instância de banco de dados pode estar na mesma VPC do diretório ou em uma VPC diferente. A instância de banco de dados deve usar um grupo de segurança que permita a entrada e a saída na VPC do diretório para que a instância de banco de dados possa se comunicar com o diretório.

### Console
<a name="db2-kerberos-setting-up-create-modify-console"></a>

Ao usar o console para criar, modificar ou restaurar uma instância de banco de dados, selecione **Senha e autenticação Kerberos** na seção **Autenticação de banco de dados**. Em seguida, escolha **Browse Directory** (Procurar diretório). Selecione o diretório ou escolha **Criar diretório** para usar o Directory Service.

![\[A seção Autenticação do banco de dados com Senha e autenticação Kerberos selecionada no console do Amazon RDS.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/db2-database-authentication-directory.png)


### AWS CLI
<a name="db2-kerberos-setting-up-create-modify-cli"></a>

Quando você usa a AWS CLI, são necessários os seguintes parâmetros para que a instância de banco de dados possa usar o diretório criado:
+ Para o parâmetro `--domain`, use o identificador de domínio (identificador “`d-*`”) gerado quando o diretório foi criado.
+ Para o parâmetro `--domain-iam-role-name`, use a função criada que usa a política gerenciada `AmazonRDSDirectoryServiceAccess` do IAM.

O exemplo a seguir modifica uma instância de banco de dados para usar um diretório. Substitua os seguintes placeholders no exemplo pelos próprios valores:
+ *db\$1instance\$1name*: o nome da instância de banco de dados do RDS para Db2.
+ *directory\$1id*: o ID do diretório do AWS Directory Service for Microsoft Active Directory que você criou.
+ *role\$1name*: o nome do perfil do IAM criado.

```
aws rds modify-db-instance --db-instance-identifier db_instance_name --domain d-directory_id --domain-iam-role-name role_name 
```

**Importante**  
Se você modificar uma instância de banco de dados para habilitar a autenticação Kerberos, reinicialize a instância de banco de dados depois de fazer a alteração.

## Etapa 8: recuperar o SID do grupo do Active Directory no PowerShell
<a name="db2-kerberos-setting-up-retrieve-ad-group-sid"></a>

Um ID de segurança (SID) é usado para identificar de forma exclusiva uma entidade principal ou um grupo de segurança. Quando uma conta ou um grupo de segurança é criado no Active Directory, o Active Directory atribui um SID ao grupo. Para recuperar o SID do grupo de segurança do AD do Active Directory, use o cmdlet `Get-ADGroup` em uma máquina cliente Windows que faça parte do domínio do Active Directory. O parâmetro `Identity` especifica o nome do grupo do Active Directory para o qual você deseja o SID.

O exemplo a seguir exibe o SID do grupo `adgroup1` do Active Directory.

```
C:\Users\Admin> Get-ADGroup -Identity adgroup1 | select SID

             SID
-----------------------------------------------
S-1-5-21-3168537779-1985441202-1799118680-1612
```

Você deve gerar esse mapeamento para todos os grupos relevantes ao banco de dados.

## Etapa 9: adicionar o SID aos mapeamentos de GroupName para sua instância de banco de dados do RDS para Db2
<a name="db2-kerberos-setting-up-add-sid-group-mapping"></a>

Você precisa adicionar o SID aos mapeamentos de GroupName criados na etapa anterior à instância de banco de dados do RDS para Db2. Para cada mapeamento, chame o procedimento armazenado a seguir. Substitua o *SID* e o *group\$1name* pelas suas próprias informações. 

```
db2 connect to rdsadmin
db2 "call rdsadmin.set_sid_group_mapping(?, 'SID','group_name')"
```

Para obter mais informações, consulte [rdsadmin.set\$1sid\$1group\$1mapping](db2-sp-granting-revoking-privileges.md#db2-sp-set-sid-group-mapping). 

Para ter informações sobre como conferir o status da tarefa, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

## Etapa 10: configurar um cliente Db2
<a name="db2-kerberos-setting-up-create-logins"></a>

**Como configurar um cliente Db2**

1. Crie um arquivo **/etc/krb5.conf** (ou equivalente) para apontar para o domínio.
**nota**  
Para sistemas operacionais Windows, crie um arquivo **C:\$1windows\$1krb5.ini**.

1. Verifique se o tráfego pode fluir entre o host do cliente e o Directory Service. Use um utilitário de rede, como o Netcat, para as seguintes tarefas:

   1. Verifique o tráfego pelo DNS da porta 53.

   1. Verifique o tráfego pelo TCP/UDP da porta 53 e do Kerberos, que inclui as portas 88 e 464 do Directory Service.

1. Verifique se o tráfego pode fluir entre o host do cliente e a instância de banco de dados pela porta do banco de dados. É possível usar o comando `db2` para conectar e acessar o banco de dados.

O seguinte exemplo é o conteúdo do arquivo /etc/krb5.conf para o AWS Managed Microsoft AD:

```
[libdefaults]
default_realm = EXAMPLE.COM
[realms]
EXAMPLE.COM = {
kdc = example.com
admin_server = example.com
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
```

# Conectar-se ao Amazon RDS para Db2 com a autenticação Kerberos
<a name="db2-kerberos-connecting"></a>

Use o procedimento a seguir para se conectar à instância de banco de dados do Amazon RDS para Db2 com a autenticação Kerberos.

**Para se conectar ao RDS para Db2 com autenticação Kerberos**

1. Em um prompt de comando, execute o comando a seguir. No exemplo a seguir, substitua *username* pelo nome do usuário Microsoft Active Directory.

   ```
   kinit username
   ```

1. Se a instância de banco de dados do RDS para Db2 estiver usando uma VPC acessível ao público, adicione o endereço IP do endpoint da instância de banco de dados ao arquivo `/etc/hosts` no cliente do Amazon EC2. O exemplo a seguir obtém o endereço IP e, depois, o adiciona ao arquivo `/etc/hosts`.

   ```
   % dig +short Db2-endpoint.AWS-Region.rds.amazonaws.com  
   ;; Truncated, retrying in TCP mode.
   ec2-34-210-197-118.AWS-Region.compute.amazonaws.com.
   34.210.197.118 
   
   % echo "34.210.197.118  Db2-endpoint.AWS-Region.rds.amazonaws.com" >> /etc/hosts
   ```

1. Use o comando a seguir para fazer login em uma instância de banco de dados do RDS para Db2 associada ao Active Directory. Substitua *database\$1name* pelo nome do banco de dados de do RDS para Db2.

   ```
   db2 connect to database_name
   ```

# Administrar a instância de banco de dados do Amazon RDS para Db2
<a name="db2-administering-db-instance"></a>

Este tópico abrange as tarefas de gerenciamento comuns que você realiza com uma instância de banco de dados do Amazon RDS para Db2. Algumas tarefas são as mesmas para todas as instâncias de banco de dados do Amazon RDS. Outras tarefas são específicas do RDS para Db2.

As tarefas a seguir são comuns a todos os bancos de dados do RDS. Também há tarefas específicas do RDS para Db2, como conectar-se a um banco de dados do RDS para Db2 com um cliente SQL padrão.


| Área de tarefa | Documentação relevante | 
| --- | --- | 
|  **Classes de instância, armazenamento e PIOPS** Se você estiver criando uma instância de produção, saiba como funcionam as classes de instância, os tipos de armazenamento e as IOPS provisionadas no Amazon RDS.   |  [Classes de instâncias de banco de dados do ](Concepts.DBInstanceClass.md) [Tipos de armazenamento do Amazon RDS](CHAP_Storage.md#Concepts.Storage)  | 
|  **Implantações multi-AZ** Uma instância de banco de dados de produção deve usar implantações multi-AZ. As implantações multi-AZ oferecem maior disponibilidade, durabilidade de dados e tolerância a falhas para instâncias de banco de dados.   |  [Configurar e gerenciar uma implantação multi-AZ para o Amazon RDS](Concepts.MultiAZ.md)  | 
|  **Amazon VPC** Se a Conta da AWS tiver uma nuvem privada virtual (VPC) padrão, a instância de banco de dados será criada automaticamente na VPC padrão. Se a sua conta não tiver uma VPC padrão e você quiser a instância de banco de dados em uma VPC, deverá criar os grupos de VPC e sub-redes antes de criar a instância de banco de dados.   |  [Trabalhar com uma instância de banco de dados em uma VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md)  | 
|  **Grupos de segurança** Por padrão, as instâncias de banco de dados usam um firewall que impede o acesso. Crie um grupo de segurança com os endereços IP corretos e uma configuração de rede para acessar a instância de banco de dados.  |  [Controlar acesso com grupos de segurança](Overview.RDSSecurityGroups.md)  | 
|  **Grupos de parâmetros** Como a instância de banco de dados do RDS para Db2 exige que você adicione os parâmetros `rds.ibm_customer_id` e `rds.ibm_site_id`, crie um grupo de parâmetros antes de criar a instância de banco de dados. Se a instância de banco de dados exigir outros parâmetros de banco de dados específicos, adicione-os também a esse grupo de parâmetros antes de criar a instância de banco de dados.  |  [Adicionar IDs da IBM a um grupo de parâmetros para instâncias de banco de dados do RDS para Db2](db2-licensing.md#db2-licensing-options-byol-adding-ids) [Grupos de parâmetros para Amazon RDS](USER_WorkingWithParamGroups.md)  | 
|  **Grupos de opções** Se a sua instância de banco de dados exigir opções de banco de dados específicas, crie um grupo de opções antes de criar a instância de banco de dados.  |  [Opções para instâncias de banco de dados do Amazon RDS para Db2](Db2.Options.md)  | 
|  **Conexão à instância de banco de dados** Depois de criar um grupo de segurança e associá-lo a uma instância de banco de dados, será possível se conectar à instância de banco de dados com qualquer aplicação de cliente SQL padrão, como IBM Db2 CLP.   |  [Conectar-se à instância de banco de dados do Db2](USER_ConnectToDb2DBInstance.md)  | 
|  **Backup e restauração** É possível configurar a instância de banco de dados para fazer backups de armazenamento automatizados ou criar snapshots manuais e, depois, restaurar instâncias por meio dos backups ou dos snapshots.   | [Backup, restauração e exportação de dados](CHAP_CommonTasks.BackupRestore.md) | 
|  **Monitoramento** É possível monitorar uma instância de banco de dados do RDS para Db2 com o IBM Db2 Data Management Console.  Também é possível monitorar uma instância de banco de dados do RDS para Db2 usando métricas, eventos e o monitoramento aprimorado do Amazon RDS do CloudWatch.   |  [Conectar-se à instância de banco de dados do Amazon RDS para Db2 com o IBM Db2 Data Management Console](db2-connecting-with-ibm-data-management-console.md) [Visualizar métricas no console do Amazon RDS](USER_Monitoring.md) [Visualizar eventos do Amazon RDS](USER_ListEvents.md) [Monitorar métricas do SO com o monitoramento avançado](USER_Monitoring.OS.md)  | 
|  **Arquivos de log** É possível acessar os arquivos de log da instância de banco de dados do RDS para Db2.  |  [Monitorar arquivos de log do Amazon RDS](USER_LogAccess.md)  | 

**Topics**
+ [Realizar tarefas comuns do sistema para instâncias de banco de dados do Amazon RDS para Db2](db2-performing-common-system-tasks-db-instances.md)
+ [Realizar tarefas comuns de banco de dados para instâncias de banco de dados do Amazon RDS para Db2](db2-performing-common-database-tasks-db-instances.md)

# Realizar tarefas comuns do sistema para instâncias de banco de dados do Amazon RDS para Db2
<a name="db2-performing-common-system-tasks-db-instances"></a>

É possível executar determinadas tarefas comuns de administrador de banco de dados relacionadas ao sistema nas instâncias de bancos de dados do Amazon RDS que executam o Db2. Para oferecer uma experiência de serviço gerenciado, o Amazon RDS não fornece acesso ao shell para instâncias de bancos de dados e restringe o acesso a determinados procedimentos e tabelas do sistema que exigem privilégios avançados. 

Consulte informações sobre como conceder e revogar privilégios e anexar ao banco de dados remoto do RDS para Db2 nos tópicos a seguir.

**Tópicos**
+ [Conceder e revogar privilégios do RDS para Db2](db2-granting-revoking-privileges.md)
+ [Conectar-se à instância de banco de dados remota do RDS para Db2](db2-attaching-to-remote.md)

## Criar um endpoint de banco de dados personalizado
<a name="db2-creating-custom-database-endpoint"></a>

Ao migrar para o Amazon RDS para Db2, é possível usar URLs de endpoint de banco de dados personalizados para minimizar as alterações na aplicação. Por exemplo, se você usar `db2.example.com` como o registro do DNS atual, poderá adicioná-lo ao Amazon Route 53. No Route 53, é possível usar zonas hospedadas privadas para associar o endpoint de banco de dados do DNS atual a um endpoint de banco de dados do RDS para Db2. Para adicionar um registro personalizado `A` ou `CNAME` ou um endpoint de banco de dados do Amazon RDS, consulte [Registering and managing domains using Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar.html) no *Guia do desenvolvedor do Amazon Route 53*.

**nota**  
Se não for possível conseguir transferir o domínio para o Route 53, poderá usar o provedor de DNS para criar um registro `CNAME` para o URL do endpoint do banco de dados do RDS para Db2. Consulte a documentação do provedor de DNS.

# Conceder e revogar privilégios do RDS para Db2
<a name="db2-granting-revoking-privileges"></a>

Os usuários recebem acesso aos bancos de dados por meio da participação em grupos associados aos bancos de dados.

Use os procedimentos a seguir para conceder e revogar privilégios a fim de controlar o acesso ao banco de dados. 

Esses procedimentos usam IBM Db2 CLP em execução em uma máquina local para se conectar a uma instância de banco de dados do RDS para Db2. Catalogue o nó TCP/IP e o banco de dados para se conectar à instância de banco de dados do RDS para Db2 em execução na máquina local. Para obter mais informações, consulte [Conectar-se à instância de banco de dados do Amazon RDS para Db2 com o IBM Db2 CLP](db2-connecting-with-clp-client.md).

**Topics**
+ [Conceder a um usuário acesso ao banco de dados](#db2-granting-user-access)
+ [Alterar a senha de um usuário](#db2-changing-user-password)
+ [Adicionar grupos a um usuário](#db2-adding-group-to-user)
+ [Remover grupos de um usuário](#db2-removing-groups-from-user)
+ [Remover um usuário](#db2-removing-user)
+ [Listar usuários](#db2-listing-users-database)
+ [Criar uma função](#db2-creating-role)
+ [Conceder um perfil](#db2-granting-role)
+ [Revogar um perfil](#db2-revoking-role)
+ [Eliminação de um perfil](#db2-dropping-role)
+ [Conceder autorização de banco de dados](#db2-granting-dbadmin-auth)
+ [Revogar autorização de banco de dados](#db2-revoking-dbadmin-auth)

## Conceder a um usuário acesso ao banco de dados
<a name="db2-granting-user-access"></a>

**Como conceder a um usuário acesso ao banco de dados**

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

   Esse comando vai produzir uma saída semelhante ao seguinte exemplo:

   ```
   Database Connection Information
       
   Database server        = DB2/LINUXX8664 11.5.8.0
   SQL authorization ID   = ADMIN
   Local database alias   = RDSADMIN
   ```

1. Adicione um usuário à lista de autorizações chamando `rdsadmin.add_user`. Para obter mais informações, consulte [rdsadmin.add\$1user](db2-sp-granting-revoking-privileges.md#db2-sp-add-user). 

   ```
   db2 "call rdsadmin.add_user(
       'username',
       'password',
       'group_name,group_name')"
   ```

1.  (Opcional) Adicione outros grupos ao usuário chamando `rdsadmin.add_groups`. Para obter mais informações, consulte [rdsadmin.add\$1groups](db2-sp-granting-revoking-privileges.md#db2-sp-add-groups). 

   ```
   db2 "call rdsadmin.add_groups(
       'username',
       'group_name,group_name')"
   ```

1. Confirme as autoridades que estão disponíveis para o usuário. No exemplo a seguir, substitua *rds\$1database\$1alias*, *master\$1user* e *master\$1password* por suas próprias informações. Além disso, substitua *username* pelo nome do usuário.

   ```
   db2 terminate
   db2 connect to rds_database_alias user master_user using master_password
   db2 "SELECT SUBSTR(AUTHORITY,1,20) AUTHORITY, D_USER, D_GROUP, D_PUBLIC
          FROM TABLE (SYSPROC.AUTH_LIST_AUTHORITIES_FOR_AUTHID ('username', 'U') ) AS T
          ORDER BY AUTHORITY"
   ```

   Esse comando vai produzir uma saída semelhante ao seguinte exemplo:

   ```
   AUTHORITY            D_USER D_GROUP D_PUBLIC
   -------------------- ------ ------- --------
   ACCESSCTRL           N      N       N
   BINDADD              N      N       N
   CONNECT              N      N       N
   CREATETAB            N      N       N
   CREATE_EXTERNAL_ROUT N      N       N
   CREATE_NOT_FENCED_RO N      N       N
   CREATE_SECURE_OBJECT N      N       N
   DATAACCESS           N      N       N
   DBADM                N      N       N
   EXPLAIN              N      N       N
   IMPLICIT_SCHEMA      N      N       N
   LOAD                 N      N       N
   QUIESCE_CONNECT      N      N       N
   SECADM               N      N       N
   SQLADM               N      N       N
   SYSADM               *      N       *
   SYSCTRL              *      N       *
   SYSMAINT             *      N       *
   SYSMON               *      N       *
   WLMADM               N      N       N
   ```

1. Conceda os perfis do RDS para Db2 `ROLE_NULLID_PACKAGES`, `ROLE_TABLESPACES` e `ROLE_PROCEDURES` ao grupo ao qual você adicionou o usuário. Para obter mais informações, consulte [Perfis padrão do Amazon RDS para Db2](db2-default-roles.md).
**nota**  
Criamos instâncias de banco de dados do RDS para Db2 no modo `RESTRICTIVE`. Portanto, os perfis do RDS para Db2 `ROLE_NULLID_PACKAGES`, `ROLE_TABLESPACES` e `ROLE_PROCEDURES` concedem privilégios de execução em pacotes `NULLID` para IBM Db2 CLP e Dynamic SQL. Esses perfis também concedem privilégios de usuário em espaços de tabela. 

   1. Conecte-se ao banco de dados Db2. No exemplo a seguir, substitua *database\$1name*, *master\$1user* e *master\$1password* por suas próprias informações.

      ```
      db2 connect to database_name user master_user using master_password
      ```

   1. Conceda o perfil `ROLE_NULLED_PACKAGES` a um grupo. No exemplo a seguir, substitua *group\$1name* pelo nome do grupo ao qual você deseja adicionar o perfil.

      ```
      db2 "grant role ROLE_NULLID_PACKAGES to group group_name"
      ```

   1. Conceda o perfil `ROLE_TABLESPACES` ao mesmo grupo. No exemplo a seguir, substitua *group\$1name* pelo nome do grupo ao qual você deseja adicionar o perfil.

      ```
      db2 "grant role ROLE_TABLESPACES to group group_name"
      ```

   1. Conceda o perfil `ROLE_PROCEDURES` ao mesmo grupo. No exemplo a seguir, substitua *group\$1name* pelo nome do grupo ao qual você deseja adicionar o perfil.

      ```
      db2 "grant role ROLE_PROCEDURES to group group_name"
      ```

1. Conceda as autoridades `connect`, `bindadd`, `createtab` e `IMPLICIT_SCHEMA` ao grupo ao qual você adicionou o usuário. No exemplo a seguir, substitua *group\$1name* pelo nome do segundo grupo ao qual você adicionou o usuário.

   ```
   db2 "grant usage on workload SYSDEFAULTUSERWORKLOAD to public"
   db2 "grant connect, bindadd, createtab, implicit_schema on database to group group_name"
   ```

1. Repita as etapas 4 a 6 para cada grupo adicional ao qual o usuário foi adicionado.

1. Para testar o acesso do usuário, faça o seguinte: conecte-se como ele, crie uma tabela, insira valores nela e exiba os dados da tabela. No exemplo a seguir, substitua *rds\$1database\$1alias*, *username* e *password* pelo nome do banco de dados e pelo nome de usuário e senha do usuário.

   ```
   db2 connect to rds_database_alias user username using password
   db2 "create table t1(c1 int not null)"
   db2 "insert into t1 values (1),(2),(3),(4)"
   db2 "select * from t1"
   ```

## Alterar a senha de um usuário
<a name="db2-changing-user-password"></a>

**Para alterar a senha de um usuário**

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 a senha chamando `rdsadmin.change_password`. Para obter mais informações, consulte [rdsadmin.change\$1password](db2-sp-granting-revoking-privileges.md#db2-sp-change-password). 

   ```
   db2 "call rdsadmin.change_password(
       'username',
       'new_password')"
   ```

## Adicionar grupos a um usuário
<a name="db2-adding-group-to-user"></a>

**Como adicionar grupos a um usuário**

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. Adicione grupos a um usuário chamando `rdsadmin.add_groups`. Para obter mais informações, consulte [rdsadmin.add\$1groups](db2-sp-granting-revoking-privileges.md#db2-sp-add-groups). 

   ```
   db2 "call rdsadmin.add_groups(
       'username',
       'group_name,group_name')"
   ```

## Remover grupos de um usuário
<a name="db2-removing-groups-from-user"></a>

**Como remover grupos a um usuário**

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. Remova grupos chamando `rdsadmin.remove_groups`. Para obter mais informações, consulte [rdsadmin.remove\$1groups](db2-sp-granting-revoking-privileges.md#db2-sp-remove-groups). 

   ```
   db2 "call rdsadmin.remove_groups(
       'username',
       'group_name,group_name')"
   ```

## Remover um usuário
<a name="db2-removing-user"></a>

**Como remover um usuário da lista de autorizações**

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. Remova um usuário da lista de autorizações chamando `rdsadmin.remove_user`. Para obter mais informações, consulte [rdsadmin.remove\$1user](db2-sp-granting-revoking-privileges.md#db2-sp-remove-user). 

   ```
   db2 "call rdsadmin.remove_user('username')"
   ```

## Listar usuários
<a name="db2-listing-users-database"></a>

Para listar usuários em uma lista de autorizações, chame o procedimento armazenado `rdsadmin.list_users`. Para obter mais informações, consulte [rdsadmin.list\$1users](db2-sp-granting-revoking-privileges.md#db2-sp-list-users).

```
db2 "call rdsadmin.list_users()"
```

## Criar uma função
<a name="db2-creating-role"></a>

É possível usar o procedimento armazenado [rdsadmin.create\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-create-role) para criar um perfil.

**Para criar uma função**

1. Conecte-se ao banco de dados `rdsadmin`. 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. Defina o Db2 para gerar conteúdo.

   ```
   db2 set serveroutput on 
   ```

1. Crie uma função. Para obter mais informações, consulte [rdsadmin.create\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-create-role).

   ```
   db2 "call rdsadmin.create_role(
       'database_name',
       'role_name')"
   ```

1. Defina o Db2 para não gerar conteúdo.

   ```
   db2 set serveroutput off
   ```

## Conceder um perfil
<a name="db2-granting-role"></a>

É possível usar o procedimento armazenado [rdsadmin.grant\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-grant-role) para atribuir um perfil a um perfil, um usuário ou um grupo.

**Como atribuir um perfil**

1. Conecte-se ao banco de dados `rdsadmin`. 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. Defina o Db2 para gerar conteúdo.

   ```
   db2 set serveroutput on 
   ```

1. Atribua um perfil. Para obter mais informações, consulte [rdsadmin.grant\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-grant-role).

   ```
   db2 "call rdsadmin.grant_role(
       'database_name',
       'role_name',
       'grantee',
       'admin_option')"
   ```

1. Defina o Db2 para não gerar conteúdo.

   ```
   db2 set serveroutput off
   ```

## Revogar um perfil
<a name="db2-revoking-role"></a>

É possível usar o procedimento armazenado [rdsadmin.revoke\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-revoke-role) para revogar um perfil de um perfil, um usuário ou um grupo.

**Como revogar um perfil**

1. Conecte-se ao banco de dados `rdsadmin`. 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. Revogue um perfil. Para obter mais informações, consulte [rdsadmin.revoke\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-revoke-role).

   ```
   db2 "call rdsadmin.revoke_role(
       ?,
       'database_name',
       'role_name',
       'grantee')"
   ```

## Eliminação de um perfil
<a name="db2-dropping-role"></a>

É possível usar o procedimento armazenado [rdsadmin.drop\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-drop-role) para descartar um perfil.

**Como excluir um perfil**

1. Conecte-se ao banco de dados `rdsadmin`. 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. Descarte um perfil. Para obter mais informações, consulte [rdsadmin.drop\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-drop-role).

   ```
   db2 "call rdsadmin.drop_role(
       ?,
       'database_name',
       'role_name')"
   ```

## Conceder autorização de banco de dados
<a name="db2-granting-dbadmin-auth"></a>

O usuário principal, que tem autorização `DBADM`, pode conceder a autorização `DBADM`, `ACCESSCTRL` ou `DATAACCESS` a um perfil, um usuário ou um grupo.

**Como conceder autorização de banco de dados**

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. Conceda acesso a um usuário chamando `rdsadmin.dbadm_grant`. Para obter mais informações, consulte [rdsadmin.dbadm\$1grant](db2-sp-granting-revoking-privileges.md#db2-sp-dbadm-grant). 

   ```
   db2 "call rdsadmin.dbadm_grant(
       ?,
       'database_name,
       'authorization',
       'grantee')"
   ```

**Exemplo de caso de uso**

O procedimento a seguir explica como criar um perfil, conceder autorização `DBADM` ao perfil, atribuir o perfil a um usuário e a um grupo.

****

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 perfil chamado `PROD_ROLE` para um banco de dados chamado `TESTDB`. Para obter mais informações, consulte [rdsadmin.create\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-create-role). 

   ```
   db2 "call rdsadmin.create_role(
       'TESTDB',
       'PROD_ROLE')"
   ```

1. Atribua o perfil a um usuário denominado `PROD_USER`. O `PROD_USER` recebe autorização de administrador para atribuir perfis. Para obter mais informações, consulte [rdsadmin.grant\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-grant-role). 

   ```
   db2 "call rdsadmin.grant_role(
       ?,
       'TESTDB',
       'PROD_ROLE',
       'USER PROD_USER',
       'Y')"
   ```

1. (Opcional) Forneça autorização ou privilégios adicionais. O exemplo a seguir concede autorização `DBADM` a um perfil denominado `PROD_ROLE` para um banco de dados chamado `FUNDPROD`. Para obter mais informações, consulte [rdsadmin.dbadm\$1grant](db2-sp-granting-revoking-privileges.md#db2-sp-dbadm-grant). 

   ```
   db2 "call rdsadmin.dbadm_grant(
       ?,
       'FUNDPROD',
       'DBADM',
       'ROLE PROD_ROLE')"
   ```

1. Encerre a sessão.

   ```
   db2 terminate
   ```

1. Conecte-se ao banco de dados `TESTDB` 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 TESTDB user master_username using master_password
   ```

1. Adicione mais autorizações ao perfil.

   ```
   db2 "grant connect, implicit_schema on database to role PROD_ROLE"
   ```

1. Conceda o perfil `PROD_ROLE` a um grupo.

   ```
   db2 "grant role PROD_ROLE to group PRODGRP"
   ```

Os usuários que pertencem ao grupo `PRODGRP` agora podem realizar ações como conectar-se ao banco de dados `TESTDB`, criar tabelas ou esquemas.

## Revogar autorização de banco de dados
<a name="db2-revoking-dbadmin-auth"></a>

O usuário principal, que tem a autorização `DBADM`, pode revogar a autorização `DBADM`, `ACCESSCTRL` ou `DATAACCESS` de um perfil, um usuário ou um grupo.

**Como revogar autorização de banco de dados**

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. Revogue o acesso do usuário chamando `rdsadmin.dbadm_revoke`. Para obter mais informações, consulte [rdsadmin.dbadm\$1revoke](db2-sp-granting-revoking-privileges.md#db2-sp-dbadm-revoke). 

   ```
   db2 "call rdsadmin.dbadm_revoke(
       ?,
       'database_name,
       'authorization',
       'grantee')"
   ```

# Conectar-se à instância de banco de dados remota do RDS para Db2
<a name="db2-attaching-to-remote"></a>

Use as etapas a seguir para se conectar à sua instância de banco de dados remota do RDS para Db2 e executar operações `get snapshot`.

**Como se conectar à instância de banco de dados remota do RDS para Db2**

1. Execute uma sessão IBM Db2 CLP do lado do cliente. Para ter informações sobre como catalogar a instância de banco de dados e banco de dados do RDS para Db2, consulte [Conectar-se à instância de banco de dados do Amazon RDS para Db2 com o IBM Db2 CLP](db2-connecting-with-clp-client.md). Anote o nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2.

1. Conecte-se à instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua *node\$1name*, *master\$1username* e *master\$1password* pelo nome de nó TCPIP catalogado, além do nome de usuário principal e da senha mestra da instância de banco de dados do RDS para Db2.

   ```
   db2 attach to node_name user master_username using master_password
   ```

Depois de se conectar à instância de banco de dados remota do RDS para Db2, é possível executar os comandos a seguir e outros comandos `get snapshot`. Para ter mais informações, consulte [GET SNAPSHOT command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-get-snapshot) na documentação do IBM Db2.

```
db2 list applications
db2 get snapshot for all databases
db2 get snapshot for database manager
db2 get snapshot for all applications
```

# Realizar tarefas comuns de banco de dados para instâncias de banco de dados do Amazon RDS para Db2
<a name="db2-performing-common-database-tasks-db-instances"></a>

É possível realizar determinadas tarefas comuns de DBA relacionadas aos bancos de dados nas instâncias de bancos de dados do Amazon RDS para Db2. Para oferecer uma experiência de serviço gerenciada, o Amazon RDS não fornece acesso ao shell para as instâncias de banco de dados. Além disso, o usuário principal não pode executar comandos nem utilitários que exijam as autoridades `SYSADM`, `SYSMAINT` ou `SYSCTRL`.

Consulte informações sobre tarefas comuns para os grupos de buffer, bancos de dados e espaços de tabelas nos tópicos a seguir.

**Tópicos**
+ [Tarefas comuns para grupos de buffer](db2-managing-buffer-pools.md)
+ [Tarefas comuns para bancos de dados](db2-managing-databases.md)
+ [Tarefas comuns para espaços de tabela](db2-managing-tablespaces.md)

# 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\$1username* e *master\$1password* 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\$1bufferpool](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\$1username* e *master\$1password* 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\$1bufferpool](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\$1username* e *master\$1password* 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\$1bufferpool](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\$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. Libere os grupos de buffers.

   ```
   db2 flush bufferpools all
   ```

# Tarefas comuns para bancos de dados
<a name="db2-managing-databases"></a>

É possível criar, descartar ou restaurar bancos de dados na instância de banco de dados do RDS para Db2. Criar, descartar ou restaurar bancos de dados 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.

Também é possível realizar tarefas comuns de gerenciamento, como monitoramento, manutenção e coleta de informações sobre seus bancos de dados.

**Topics**
+ [Criação de um banco de dados](#db2-creating-database)
+ [Definir configurações para um banco de dados](#db2-configuring-database)
+ [Modificar parâmetros de banco de dados](#db2-modifying-db-parameters)
+ [Configurar a retenção de logs](#db2-configuring-log-retention)
+ [Listar informações de log](#db2-listing-log-information)
+ [Usar o controle de acesso refinado (FGAC)](#db2-using-fine-grained-access-control)
+ [Desativação de um banco de dados](#db2-deactivating-database)
+ [Ativação de um banco de dados](#db2-activating-database)
+ [Reativar um banco de dados](#db2-reactivating-database)
+ [Descartar um banco de dados](#db2-dropping-database)
+ [Realização de backup de um banco de dados](#db2-backing-up-database)
+ [Copiar logs de arquivamento para o Amazon S3](#db2-copying-archive-logs-to-s3)
+ [Restaurar um banco de dados](#db2-restoring-database)
+ [Listagem de bancos de dados](#db2-listing-databases)
+ [Coletar informações sobre bancos de dados](#db2-collecting-info-db)
+ [Forçar a retirada de aplicações de bancos de dados](#db2-forcing-application-off-db)
+ [Gerar relatórios de performance](#db2-generating-performance-reports)

## Criação de um banco de dados
<a name="db2-creating-database"></a>

Para criar um banco de dados na instância de banco de dados do RDS para Db2, chame o procedimento armazenado `rdsadmin.create_database`. Para ter mais informações, consulte [CREATE DATABASE command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-create-database) na documentação do IBM Db2.

**nota**  
Se você planeja modificar o parâmetro `db2_compatibility_vector`, modifique-o antes de criar um banco de dados. Para obter mais informações, consulte [Configuração do parâmetro db2\$1compatibility\$1vector](db2-known-issues-limitations.md#db2-known-issues-limitations-db2-compatibility-vector).

**Para criar um banco de dados**

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 banco de dados chamando `rdsadmin.create_database`. Para obter mais informações, consulte [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database).

   ```
   db2 "call rdsadmin.create_database(
       'database_name',
       'database_page_size',
       'database_code_set',
       'database_territory',
       'database_collation',
       'database_autoconfigure_str',
       'database_non-restrictive')"
   ```

1. (Opcional) Crie bancos de dados adicionais chamando `rdsadmin.create_database` para cada banco de dados que você deseja criar. Cada instância de banco de dados do Db2 pode conter até 50 bancos de dados. Para obter mais informações, consulte [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database).

   ```
   db2 "call rdsadmin.create_database('database_name')"
   ```

1. (Opcional) Confirme se o seu banco de dados foi criado usando um dos seguintes métodos: 
   + Chame `rdsadmin.list_databases`. Para obter mais informações, consulte [rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases). 
   + Execute o seguinte comando SQL: 

     ```
     db2 "select varchar(r.task_type,25) as task_type, r.database_name, 
         varchar(r.lifecycle,15) as lifecycle, r.created_at, r.database_name,
         varchar(bson_to_json(task_input_params),256) as input_params, 
         varchar(r.task_output,1024) as task_output 
         from table(rdsadmin.get_task_status(null,null,'create_database')) 
         as r order by created_at desc"
     ```

## Definir configurações para um banco de dados
<a name="db2-configuring-database"></a>

Para definir as configurações de um banco de dados na instância de banco de dados do RDS para Db2, chame o procedimento armazenado `rdsadmin.set_configuration`. Por exemplo, é possível configurar o número de buffers ou manipuladores de buffer a serem criados durante uma operação de restauração.

**Como definir as configurações de um banco de dados**

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. (Opcional) Confira suas configurações atuais chamando `rdsadmin.show_configuration`. Para obter mais informações, consulte [rdsadmin.show\$1configuration](db2-sp-managing-databases.md#db2-sp-show-configuration).

   ```
   db2 "call rdsadmin.show_configuration('name')"
   ```

1. Defina as configurações do banco de dados chamando `rdsadmin.set_configuration`. Para obter mais informações, consulte [rdsadmin.set\$1configuration](db2-sp-managing-databases.md#db2-sp-set-configuration).

   ```
   db2 "call rdsadmin.set_configuration(
       'name',  
       'value')"
   ```

## Modificar parâmetros de banco de dados
<a name="db2-modifying-db-parameters"></a>

O Amazon RDS para Db2 usa três tipos de parâmetros: parâmetros de configuração do gerenciador de banco de dados, variáveis do registro e parâmetros de configuração do banco de dados. É possível atualizar os dois primeiros tipos por meio de grupos de parâmetros e o último tipo por meio do procedimento armazenado [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param).

**nota**  
É possível modificar apenas os valores dos parâmetros existentes. Não é possível adicionar novos parâmetros não aceitos pelo RDS para Db2.

Para ter mais informações sobre esses parâmetros e como modificar os valores, consulte [Parâmetros do Amazon RDS para Db2](db2-supported-parameters.md). 

## Configurar a retenção de logs
<a name="db2-configuring-log-retention"></a>

Para configurar por quanto tempo o Amazon RDS retém arquivos de log do banco de dados do RDS para Db2, chame o procedimento armazenado `rdsadmin.set_archive_log_retention`.

**Como configurar a retenção de logs de um banco de dados**

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. (Opcional) Confira sua configuração atual para retenção de logs chamando `rdsadmin.show_archive_log_retention`. Para obter mais informações, consulte [rdsadmin.show\$1archive\$1log\$1retention](db2-sp-managing-databases.md#db2-sp-show-archive-log-retention).

   ```
   db2 "call rdsadmin.show_archive_log_retention(
       ?,
       'database_name')"
   ```

1. Configure a retenção de logs do banco de dados chamando `rdsadmin.set_archive_log_retention`. Para obter mais informações, consulte [rdsadmin.set\$1archive\$1log\$1retention](db2-sp-managing-databases.md#db2-sp-set-archive-log-retention).

   ```
   db2 "call rdsadmin.set_archive_log_retention(
       ?,            
       'database_name',  
       'archive_log_retention_hours')"
   ```

## Listar informações de log
<a name="db2-listing-log-information"></a>

Para listar detalhes sobre arquivos de log de arquivamento, como o tamanho total de armazenamento usado, chame o procedimento armazenado `rdsadmin.list_archive_log_information`.

**Como listar informações de log de um banco de dados**

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. Obtenha uma lista de informações do arquivo de log chamando `rdsadmin.list_archive_log_information`. Para obter mais informações, consulte [rdsadmin.list\$1archive\$1log\$1information](db2-sp-managing-databases.md#db2-sp-list-archive-log-information).

   ```
   db2 "call rdsadmin.list_archive_log_information(
       ?,            
       'database_name')"
   ```

## Usar o controle de acesso refinado (FGAC)
<a name="db2-using-fine-grained-access-control"></a>

Para usar comandos de controle de acesso refinado com o objetivo de controlar o acesso aos dados da tabela em um banco de dados em uma instância de banco de dados do RDS para Db2, chame o procedimento armazenado `rdsadmin.fgac_command`. Convém usar o FGAC para limitar o acesso aos dados com base nos perfis de usuário ou nos atributos dos dados. Por exemplo, você pode limitar o acesso aos dados de assistência médica do paciente com base no tipo de dados ou em determinados prestadores de cuidados médicos.

**Como usar o controle de acesso refinado para controlar o acesso aos dados da tabela em um banco de dados**

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. Execute vários comandos de controle de acesso refinado chamando `rdsadmin.fgac_command`. Para obter mais informações, consulte [rdsadmin.fgac\$1commandParâmetros](db2-sp-managing-databases.md#db2-sp-fgac-command). 

   ```
   db2 "call rdsadmin.fgac_command(     
       ?,
       'database_name',
       'fgac_command')"
   ```

## Desativação de um banco de dados
<a name="db2-deactivating-database"></a>

Para desativar um banco de dados na instância de banco de dados do RDS para Db2, chame o procedimento armazenado `rdsadmin.deactivate_database`.

Por padrão, o Amazon RDS ativa um banco de dados ao criar um banco de dados na instância de banco de dados do RDS para Db2. Você pode desativar bancos de dados usados com pouca frequência para preservar recursos de memória.

**Como desativar um banco de dados**

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. Desative um banco de dados chamando `rdsadmin.deactivate_database`. Para obter mais informações, consulte [rdsadmin.deactivate\$1database](db2-sp-managing-databases.md#db2-sp-deactivate-database).

   ```
   db2 "call rdsadmin.deactivate_database(    
       ?, 
       'database_name')"
   ```

## Ativação de um banco de dados
<a name="db2-activating-database"></a>

Para ativar um banco de dados em uma instância autônoma de banco de dados do RDS para Db2, chame o procedimento armazenado `rdsadmin.activate_database`.

Por padrão, o Amazon RDS ativa um banco de dados ao criar um banco de dados na instância de banco de dados do RDS para Db2. Você pode desativar bancos de dados usados com pouca frequência para preservar recursos de memória e, posteriormente, ativar um banco de dados desativado.

**Como ativar um banco de dados**

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. Ative um banco de dados chamando `rdsadmin.activate_database`. Para obter mais informações, consulte [rdsadmin.activate\$1database](db2-sp-managing-databases.md#db2-sp-activate-database).

   ```
   db2 "call rdsadmin.activate_database(
       ?, 
       'database_name')"
   ```

## Reativar um banco de dados
<a name="db2-reactivating-database"></a>

Para reativar um banco de dados em uma instância de banco de dados do RDS para Db2 de origem de réplica, chame o procedimento armazenado `rdsadmin.reactivate_database`. Depois de fazer alterações nas configurações do banco de dados, talvez seja necessário reativar um banco de dados em uma instância de banco de dados do RDS para Db2. Para determinar se você precisa reativar um banco de dados, conecte-se a ele e execute `db2 get db cfg show detail`. 

Também é possível chamar esse procedimento armazenado para reativar um banco de dados em uma instância autônoma de banco de dados do RDS para Db2 depois de fazer alterações nas configurações do banco de dados. Ou você pode reativar um banco de dados em uma instância autônoma de banco de dados RDS para Db2 chamando primeiro o procedimento armazenado `rdsadmin.deactivate_database` e depois o procedimento armazenado `rdsadmin.activate_database`. Para obter mais informações, consulte [Desativação de um banco de dados](#db2-deactivating-database) e [Ativação de um banco de dados](#db2-activating-database).

**Como reativar um banco de dados**

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. Reative um banco de dados chamando `rdsadmin.reactivate_database`. Para obter mais informações, consulte [rdsadmin.reactivate\$1database](db2-sp-managing-databases.md#db2-sp-reactivate-database).

   ```
   db2 "call rdsadmin.reactivate_database(
       ?, 
       'database_name')"
   ```

## Descartar um banco de dados
<a name="db2-dropping-database"></a>

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

**nota**  
Será possível descartar um banco de dados chamando o procedimento armazenado somente se determinadas condições forem atendidas. Para acessar mais informações, consulte [Observações de uso](db2-sp-managing-databases.md#db2-sp-drop-database-usage-notes) para `rdsadmin.drop_database`.

**Como descartar um banco de dados**

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. Descarte um banco de dados chamando `rdsadmin.drop_database`. Para obter mais informações, consulte [rdsadmin.drop\$1database](db2-sp-managing-databases.md#db2-sp-drop-database).

   ```
   db2 "call rdsadmin.drop_database('database_name')"
   ```

## Realização de backup de um banco de dados
<a name="db2-backing-up-database"></a>

Para fazer backup de um banco de dados na instância de banco de dados do RDS para Db2 para o Amazon S3, chame o procedimento armazenado `rdsadmin.backup_database`. Para acessar mais informações, consulte [BACKUP DATABASE command](https://www.ibm.com/docs/en/db2/11.5.x?topic=commands-backup-database) na documentação do IBM Db2.

**nota**  
Esse procedimento armazenado usa a integração ao Amazon S3. Antes de continuar, verifique se você configurou a integração. Para obter mais informações, consulte [Integrar uma instância de banco de dados do Amazon RDS para Db2 ao Amazon S3](db2-s3-integration.md).

**Como fazer backup de um banco de dados**

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 endpoint do gateway da VPC para o S3. Se você já tem um endpoint do gateway da VPC para o S3, vá para a etapa 4. 

   Para que uma instância de banco de dados do RDS para Db2 interaja com o Amazon S3, é necessário ter uma VPC e um endpoint do gateway do Amazon S3 para uso pelas sub-redes privadas. Para obter mais informações, consulte [Etapa 1: Criar um endpoint do gateway da VPC para o Amazon S3](db2-troubleshooting.md#db2-creating-endpoint).

1. Confirme o endpoint do gateway da VPC para o S3. Para obter mais informações, consulte [Etapa 2: Confirmar se o endpoint do gateway da VPC para o Amazon S3 existe](db2-troubleshooting.md#db2-confirming-endpoint).

1. Faça backup de um banco de dados chamando `rdsadmin.backup_database`. Para obter mais informações, consulte [rdsadmin.backup\$1database](db2-sp-managing-databases.md#db2-sp-backup-database).

   ```
   db2 "call rdsadmin.backup_database(
       ?,
       'database_name', 
       's3_bucket_name', 
       's3_prefix', 
       'backup_type',
       'compression_option',
       'util_impact_priority', 
       'num_files',
       'parallelism',
       'num_buffers')"
   ```

1. Encerre a conexão.

   ```
   terminate
   ```

1. (Opcional) Confirme se foi feito upload dos arquivos de backup no bucket do Amazon S3, em *s3\$1prefix/dbi\$1resource\$1id/db\$1name*. Se os arquivos não aparecerem em *s3\$1prefix/dbi\$1resource\$1id/db\$1name*, confira o status do backup do seu banco de dados para identificar quaisquer problemas. Para obter mais informações, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). Se você não conseguir resolver nenhum problema identificado, entre em contato com o [AWS Support](https://aws.amazon.com/premiumsupport/).

1. (Opcional) Após a conclusão do backup para o Amazon S3, você pode restaurar o backup para uma instância de banco de dados do RDS para Db2 ou para outro local, como um servidor local. Para acessar informações sobre como realizar a restauração para uma instância de banco de dados do RDS para Db2, consulte [Restaurar um banco de dados](#db2-restoring-database).

## Copiar logs de arquivamento para o Amazon S3
<a name="db2-copying-archive-logs-to-s3"></a>

Agora é possível copiar logs de arquivamento do Db2 da instância de banco de dados do RDS para Db2 para o Amazon S3. Os logs de arquivamento, associados ao backup nativo criado com `rdsadmin.backup_database`, podem ser usados para restaurar e recuperar o banco de dados para um ponto no tempo em outra instância do RDS para Db2 ou banco de dados do EC2.

 Antes de configurar esse recurso, use o procedimento armazenado `rdsadmin.backup_database` para configurar o RDS para o banco de dados Db2. 

Esse recurso opera em nível de instância de banco de dados do RDS para Db2, embora seja possível habilitar ou desabilitar a cópia de logs de arquivamento em nível de banco de dados.

**Como configurar a cópia de logs de arquivamento para o Amazon S3**

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. Configure o backup de logs de arquivamento para o S3 chamando [rdsadmin.set\$1configuration](db2-sp-managing-databases.md#db2-sp-set-configuration).

   ```
   db2 "call rdsadmin.set_configuration(
       'name',
       'value')"
   ```

    **Exemplo:** 

   ```
   db2 "call rdsadmin.set_configuration('ARCHIVE_LOG_COPY_TARGET_S3_ARN', 'arn:aws:s3:::my_rds_db2_backups/archive-log-copy/')"
   ```

1. Habilite a cópia de logs de arquivamento para um banco de dados chamando `rdsadmin.enable_archive_log_copy`. Substitua *database\$1name* pelo nome do seu banco de dados.

   ```
   db2 "call rdsadmin.enable_archive_log_copy(?, 'database_name')"
   ```

1. Da mesma forma, para desabilitar a cópia de logs de arquivamento para um banco de dados, chame `rdsadmin.disable_archive_log_copy`.

   ```
   db2 "call rdsadmin.disable_archive_log_copy(?, 'database_name')"
   ```

1. Confirme o status da cópia de logs de arquivamento chamando `rdsadmin.list_databases`.

   ```
   db2 "select * from table(rdsadmin.list_databases())"
   ```

    **Exemplo de saída:** 

   ```
   DATABASE_NAME   CREATE_TIME                DATABASE_UNIQUE_ID                                 ARCHIVE_LOG_RETENTION_HOURS ARCHIVE_LOG_COPY ARCHIVE_LOG_LAST_UPLOAD_FILE ARCHIVE_LOG_LAST_UPLOAD_FILE_TIME ARCHIVE_LOG_COPY_STATUS
   --------------- -------------------------- -------------------------------------------------- --------------------------- ---------------- ---------------------------- --------------------------------- ------------------------------
   RDSADMIN        2026-01-06-02.03.42.569069 RDSADMIN                                                                     0 DISABLED         -                            -                                 -
   FOO             2026-01-06-02.13.42.885650 F0D81C7E-7213-4565-B376-4F33FCF420E3                                         7 ENABLED          S0006536.LOG                 2026-01-28-19.15.10.000000        UPLOADING
   CODEP           2026-01-14-19.42.42.508476 106EEF95-6E30-4FFF-85AE-B044352DF095                                         0 DISABLED         -                            -                                 -
   ...
   ```

## Restaurar um banco de dados
<a name="db2-restoring-database"></a>

Para mover um banco de dados de um bucket do Amazon S3 para a instância de banco de dados do RDS para Db2, chame o procedimento armazenado `rdsadmin.restore_database`. Para ter mais informações, consulte [RESTORE DATABASE command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-restore-database) na documentação do IBM Db2. 

**Para restaurar um banco de dados do**

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. (Opcional) Confira suas configurações atuais para otimizar a operação de restauração chamando `rdsadmin.show_configuration`. Para obter mais informações, consulte [rdsadmin.show\$1configuration](db2-sp-managing-databases.md#db2-sp-show-configuration).

   ```
   db2 "call rdsadmin.show_configuration('name')"
   ```

1. Defina as configurações para otimizar a operação de restauração chamando `rdsadmin.set_configuration`. Definir explicitamente esses valores pode melhorar a performance ao restaurar bancos de dados com grandes volumes de dados. Para obter mais informações, consulte [rdsadmin.set\$1configuration](db2-sp-managing-databases.md#db2-sp-set-configuration).

   ```
   db2 "call rdsadmin.set_configuration(
       'name',  
       'value')"
   ```

1. Restaure o banco de dados chamando `rdsadmin.restore_database`. Para obter mais informações, consulte [rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database).

   ```
   db2 "call rdsadmin.restore_database(
       ?,
       'database_name', 
       's3_bucket_name', 
       's3_prefix', 
       restore_timestamp, 
       'backup_type')"
   ```

1. (Opcional) Confirme se seu banco de dados foi restaurado chamando `rdsadmin.list_databases` e verificando se o banco de dados restaurado está listado. Para obter mais informações, consulte [rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases). 

1. Reative o banco de dados e aplique logs de transações adicionais chamando `rdsadmin.rollforward_database`. Para obter mais informações, consulte [rdsadmin.rollforward\$1database](db2-sp-managing-databases.md#db2-sp-rollforward-database).

   ```
   db2 "call rdsadmin.rollforward_database(
       ?,
       'database_name',
       's3_bucket_name', 
       s3_prefix, 
       'rollforward_to_option', 
       'complete_rollforward')"
   ```

1. (Opcional) Verifique o status do procedimento armazenado `rdsadmin.rollforward_database` chamando o procedimento armazenado [rdsadmin.rollforward\$1status](db2-sp-managing-databases.md#db2-sp-rollforward-status).

1. Se você definiu `complete_rollforward` como `FALSE` na etapa anterior, termine de ativar o banco de dados chamando `rdsadmin.complete_rollforward`. Para obter mais informações, consulte [rdsadmin.complete\$1rollforward](db2-sp-managing-databases.md#db2-sp-complete-rollforward).

   ```
   db2 "call rdsadmin.complete_rollforward(
       ?,
       'database_name')"
   ```

1. (Opcional) Verifique o status do procedimento armazenado `rdsadmin.complete_rollforward` chamando o procedimento armazenado [rdsadmin.rollforward\$1status](db2-sp-managing-databases.md#db2-sp-rollforward-status).

## Listagem de bancos de dados
<a name="db2-listing-databases"></a>

Você pode listar todos os seus bancos de dados em execução no Amazon RDS para Db2 chamando a função definida pelo usuário `rdsadmin.list_databases`. 

**Como listar seus bancos de dados**

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. Liste seus bancos de dados chamando `rdsadmin.list_databases`. Para obter mais informações, consulte [rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases).

   ```
   db2 "select * from table(rdsadmin.list_databases())"
   ```

## Coletar informações sobre bancos de dados
<a name="db2-collecting-info-db"></a>

Para coletar informações sobre uma instância de banco de dados do RDS para Db2, chame o procedimento armazenado `rdsadmin.db2pd_command`. Essas informações podem ajudar a monitorar os bancos de dados ou solucionar problemas.

**Como coletar informações sobre um banco de dados**

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. Colete informações sobre o banco de dados chamando `rdsadmin.db2pd_command`. Para obter mais informações, consulte [rdsadmin.db2pd\$1command](db2-sp-managing-databases.md#db2-sp-db2pd-command).

   ```
   db2 "call rdsadmin.db2pd_command('db2pd_cmd')"
   ```

## Forçar a retirada de aplicações de bancos de dados
<a name="db2-forcing-application-off-db"></a>

Para forçar a retirada das aplicações de um banco de dados em sua instância de banco de dados do RDS para Db2, chame o procedimento armazenado `rdsadmin.force_application`. Antes de realizar a manutenção nos bancos de dados, retire as aplicações dos bancos de dados.

**Como forçar a retirada das aplicações de um banco de dados**

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. Force a retirada das aplicações de um banco de dados chamando `rdsadmin.force_application`. Para obter mais informações, consulte [rdsadmin.force\$1application](db2-sp-managing-databases.md#db2-sp-force-application).

   ```
   db2 "call rdsadmin.force_application(     
       ?,
       'applications')"
   ```

## Gerar relatórios de performance
<a name="db2-generating-performance-reports"></a>

É possível gerar relatórios de performance com um procedimento ou um script. Para ter informações sobre o uso de um procedimento, consulte [DBSUMMARY procedure ‐ Generate a summary report of system and application performance metrics](https://www.ibm.com/docs/en/db2/11.5?topic=mm-dbsummary-procedure-generate-summary-report-system-application-performance-metrics) na documentação do IBM Db2. 

O Db2 inclui um arquivo `db2mon.sh` no `~sqllib/sample/perf` diretório. A execução do script produz um relatório de métricas SQL extenso e de baixo custo. Para baixar o arquivo `db2mon.sh` e os arquivos de script relacionados, consulte o diretório [https://github.com/IBM/db2-samples/tree/master/perf](https://github.com/IBM/db2-samples/tree/master/perf) no repositório GitHub db2-samples da IBM.

**Como gerar relatórios de performance com o script**

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 *master\$1username* e *master\$1password* por suas próprias informações.

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

1. Crie um grupo de buffers chamado `db2monbp` com um tamanho de página de 4.096 chamando `rdsadmin.create_bufferpool`. Para obter mais informações, consulte [rdsadmin.create\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-create-buffer-pool).

   ```
   db2 "call rdsadmin.create_bufferpool('database_name','db2monbp',4096)"
   ```

1. Crie um espaço de tabela temporário chamado `db2montmptbsp` que use o grupo de buffers `db2monbp` 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',\
       'db2montmptbsp','db2monbp',4096,1000,100,'T')"
   ```

1. Abra o script `db2mon.sh` e modifique a linha sobre a conexão com um banco de dados. 

   1. Remova a linha a seguir.

      ```
      db2 -v connect to $dbName
      ```

   1. Substitua a linha na etapa anterior pela linha a seguir. No exemplo a seguir, substitua *master\$1username* e *master\$1password* pelo nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2.

      ```
      db2 -v connect to $dbName user master_username using master_password
      ```

   1. Remova as linhas a seguir.

      ```
      db2 -v create bufferpool db2monbp
      
      db2 -v create user temporary tablespace db2montmptbsp bufferpool db2monbp
      
      db2 -v drop tablespace db2montmptbsp
      
      db2 -v drop bufferpool db2monbp
      ```

1. Execute o script `db2mon.sh` para gerar um relatório em intervalos especificados. No exemplo a seguir, substitua *absolute\$1path* pelo caminho completo do arquivo de script, *rds\$1database\$1alias* pelo nome do banco de dados e *seconds* pelo número de segundos (0 a 3.600) entre as gerações do relatório.

   ```
   absolute_path/db2mon.sh rds_database_alias seconds | tee -a db2mon.out
   ```

   **Exemplos**

   O exemplo a seguir mostra que o arquivo de script está localizado no diretório `perf` abaixo do diretório `home`.

   ```
   /home/db2inst1/sqllib/samples/perf/db2mon.sh rds_database_alias seconds | tee -a db2mon.out
   ```

1. Descarte o grupo de buffers e o espaço de tabela que foram criados para o arquivo `db2mon.sh`. No exemplo a seguir, substitua *master\$1username* e *master\$1password* pelo nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2. Substitua *database\$1name* pelo nome do banco de dados. Para obter mais informações, consulte [rdsadmin.drop\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-drop-tablespace) e [rdsadmin.drop\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-drop-buffer-pool).

   ```
   db2 connect to rdsadmin user master_username using master_password
   
   db2 "call rdsadmin.drop_tablespace('database_name','db2montmptbsp')"
   
   db2 "call rdsadmin.drop_bufferpool('database_name','db2monbp')"
   ```

## Gerenciar o armazenamento
<a name="db2-managing-storage"></a>

O Db2 usa armazenamento automático para gerenciar o armazenamento físico de objetos de banco de dados, como tabelas, índices e arquivos temporários. Em vez de alocar espaço de armazenamento manualmente e acompanhar quais caminhos de armazenamento estão sendo usados, o armazenamento automático permite que o sistema Db2 crie e gerencie caminhos de armazenamento conforme necessário. Isso pode simplificar a administração de bancos de dados do Db2 e reduzir a probabilidade de erros humanos. Para ter mais informações, consulte [Armazenamento automático](https://www.ibm.com/docs/en/db2/11.5?topic=overview-automatic-storage), na documentação do IBM Db2.

Com o RDS para Db2, é possível aumentar dinamicamente o tamanho do armazenamento com a expansão automática dos volumes lógicos e do sistema de arquivos. Para obter mais informações, consulte [Trabalhar com armazenamento para instâncias de banco de dados do Amazon RDS](USER_PIOPS.StorageTypes.md).

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

# Integrar uma instância de banco de dados do Amazon RDS para Db2 ao Amazon S3
<a name="db2-s3-integration"></a>

É possível transferir arquivos entre uma instância de banco de dados do Amazon RDS para Db2 e um bucket do Amazon Simple Storage Service (Amazon S3) com os procedimentos armazenados do Amazon RDS. Para obter mais informações, consulte [Referência de procedimentos armazenados do Amazon RDS para Db2](db2-stored-procedures.md).

**nota**  
A instância de banco de dados e o bucket do Amazon S3 devem estar na mesma Região da AWS.

Para que o RDS para Db2 se integre ao Amazon S3, a instância de banco de dados deve ter acesso a um bucket do Amazon S3 no qual se encontra o RDS para Db2. Se você não tiver um bucket do S3, [crie um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket-overview.html).

**Topics**
+ [Etapa 1: criar uma política do IAM](#db2-creating-iam-policy)
+ [Etapa 2: Criar um perfil do IAM e associar a política do IAM](#db2-creating-iam-role)
+ [Etapa 3: Adicionar o perfil do IAM à instância de banco de dados do RDS para Db2](#db2-adding-iam-role)

## Etapa 1: criar uma política do IAM
<a name="db2-creating-iam-policy"></a>

Nesta etapa, crie uma política do AWS Identity and Access Management (IAM) com as permissões necessárias para transferir arquivos do bucket do Amazon S3 para a instância de banco de dados do RDS. Esta etapa pressupõe que você já tenha criado um bucket do S3. Para obter mais informações, consulte [Como criar um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) no *Guia do usuário do Amazon S3*.

Antes de criar a política, observe as seguintes informações:
+ Nome do recurso da Amazon (ARN) do bucket.
+ O ARN da chave do AWS Key Management Service (AWS KMS), se o bucket usar criptografia SSE-KMS ou SSE-S3.

A política do IAM que você criar deverá conter as informações a seguir. Substitua *\$1amzn-s3-demo-bucket\$1* pelo nome do seu bucket do S3.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowS3BucketAccess",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt",
                "s3:PutObject",
                "s3:GetObject",
                "s3:AbortMultipartUpload",
                "s3:ListBucket",
                "s3:GetObjectVersion",
                "s3:ListMultipartUploadParts",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::${amzn-s3-demo-bucket}/*",
                "arn:aws:s3:::${amzn-s3-demo-bucket}"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

É possível criar uma política do IAM usando o Console de gerenciamento da AWS ou a AWS Command Line Interface (AWS CLI). 

### Console
<a name="creating-iam-policy-console"></a>

**Como criar uma política do IAM para permitir acesso do Amazon RDS a um bucket do Amazon S3**

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM, em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, selecione **Políticas**.

1. Selecione **Criar política** e, depois, escolha a guia **JSON**.

1. Adicione ações por serviço. Para transferir arquivos de um bucket do Amazon S3 para o Amazon RDS, é necessário selecionar permissões de bucket e permissões de objeto.

1. Ampliar os **Resources (Recursos)**. É necessário especificar os recursos de bucket e objeto.

1. Escolha **Próximo**.

1. Em **Nome da política**, digite um nome para essa política. 

1. (Opcional) Em **Descrição**, digite uma descrição para essa política.

1. Escolha **Criar política**.

### AWS CLI
<a name="creating-iam-policy-cli"></a>

**Como criar uma política do IAM para permitir acesso do Amazon RDS a um bucket do Amazon S3**

1.  Crie um arquivo JSON que contenha o documento de política JSON abaixo. Substitua *\$1amzn-s3-demo-bucket\$1* pelo nome do seu bucket do S3.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowS3BucketAccess",
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt",
                   "s3:PutObject",
                   "s3:GetObject",
                   "s3:AbortMultipartUpload",
                   "s3:ListBucket",
                   "s3:GetObjectVersion",
                   "s3:ListMultipartUploadParts",
                   "s3:GetBucketAcl",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::${amzn-s3-demo-bucket}/*",
                   "arn:aws:s3:::${amzn-s3-demo-bucket}"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:ListAllMyBuckets"
               ],
               "Resource": [
                   "*"
               ]
           }
       ]
   }
   ```

------

1. Execute o comando [https://docs.aws.amazon.com/cli/latest/reference/iam/create-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-policy.html). No exemplo a seguir, substitua *iam\$1policy\$1name* e *iam\$1policy\$1file\$1name* por um nome para sua política do IAM e o nome do arquivo JSON que você criou na Etapa 1. 

   Para Linux, macOS ou Unix:

   ```
   aws iam create-policy \
       --policy-name iam_policy_name \
       --policy-document '{
         "Version": "2012-10-17"		 	 	 		 	 	 		 	 	 ,
         "Statement": [
           {
             "Effect": "Allow",
             "Action": [
               "kms:GenerateDataKey",
               "kms:Decrypt",
               "s3:PutObject",
               "s3:GetObject",
               "s3:AbortMultipartUpload",
               "s3:ListBucket",
               "s3:DeleteObject",
               "s3:GetObjectVersion",
               "s3:ListMultipartUploadParts"
             ],
             "Resource": [
               "arn:aws:s3:::s3_bucket_name/*",
               "arn:aws:s3:::s3_bucket_name"
             ]
           }
         ]
       }'
   ```

   Para Windows:

   ```
   aws iam create-policy ^
       --policy-name iam_policy_name ^
       --policy-document '{
         "Version": "2012-10-17"		 	 	 		 	 	 		 	 	 ,
         "Statement": [
           {
             "Effect": "Allow",
               "Action": [
                 "s3:PutObject",
                 "s3:GetObject",
                 "s3:AbortMultipartUpload",
                 "s3:ListBucket",
                 "s3:DeleteObject",
                 "s3:GetObjectVersion",
                 "s3:ListMultipartUploadParts"
               ],
               "Resource": [
                 "arn:aws:s3:::s3_bucket_name/*",
                 "arn:aws:s3:::s3_bucket_name"
               ]
           }
         ]
       }'
   ```

1. Depois de criar a política, anote o ARN da política. É necessário ter o ARN do [Etapa 2: Criar um perfil do IAM e associar a política do IAM](#db2-creating-iam-role).

Para ter informações sobre como criar uma política do IAM, consulte [Criação de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) no Guia do usuário do IAM.

## Etapa 2: Criar um perfil do IAM e associar a política do IAM
<a name="db2-creating-iam-role"></a>

Esta etapa pressupõe que você tenha criado a política do IAM no [Etapa 1: criar uma política do IAM](#db2-creating-iam-policy). Nesta etapa, você vai criar um perfil do IAM para a instância de banco de dados do RDS para Db2 e associar a política ao perfil. 

É possível criar um perfil do IAM para a instância de banco de dados usando o Console de gerenciamento da AWS ou a AWS CLI.

### Console
<a name="creating-iam-role-console"></a>

**Como criar um perfil do IAM e associar a política do IAM a ele**

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, escolha **Perfis**.

1. Escolha **Criar Perfil**.

1. Em **Tipo de entidade confiável**, selecione **AWS service (Serviço da AWS)**.

1. Para **Serviço ou caso de uso**, selecione **RDS** e, depois, selecione **RDS****: ****Adicionar perfil ao banco de dados**.

1. Escolha **Próximo**.

1. Em **Políticas de permissões**, pesquise e selecione o nome da política do IAM que você criou.

1. Escolha **Próximo**.

1. Em **Role name** (Nome da função), insira um nome.

1. (Opcional) Em **Descrição da função**, insira uma descrição para a nova função.

1. Selecione **Criar perfil**.

### AWS CLI
<a name="creating-iam-role-cli"></a>

**Como criar um perfil do IAM e associar a política do IAM a ele**

1. Crie um arquivo JSON que contenha o seguinte documento de política JSON:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "rds.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. Execute o comando [https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html). No exemplo a seguir, substitua *iam\$1role\$1name* e *iam\$1assume\$1role\$1policy\$1file\$1name* por um nome para seu perfil do IAM e o nome do arquivo JSON que você criou na Etapa 1.

   Para Linux, macOS ou Unix:

   ```
   aws iam create-role \
       --role-name iam_role_name \
       --assume-role-policy-document '{
         "Version": "2012-10-17"		 	 	 		 	 	 		 	 	 ,
         "Statement": [
           {
             "Effect": "Allow",
             "Principal": {
               "Service": "rds.amazonaws.com"
             },
             "Action": "sts:AssumeRole"
           }
         ]
       }'
   ```

   Para Windows:

   ```
   aws iam create-role ^
       --role-name iam_role_name ^
       --assume-role-policy-document '{
         "Version": "2012-10-17"		 	 	 		 	 	 		 	 	 ,
         "Statement": [
           {
             "Effect": "Allow",
             "Principal": {
               "Service": "rds.amazonaws.com"
             },
             "Action": "sts:AssumeRole"
           }
         ]
       }'
   ```

1. Depois que a função for criada, observe seu ARN. É necessário ter o ARN do [Etapa 3: Adicionar o perfil do IAM à instância de banco de dados do RDS para Db2](#db2-adding-iam-role).

1. Execute o comando [https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html). No exemplo a seguir, substitua *iam\$1policy\$1arn* pelo ARN da política do IAM que você criou em [Etapa 1: criar uma política do IAM](#db2-creating-iam-policy). Substitua *iam\$1role\$1name* pelo nome do perfil do IAM que você acabou de criar.

   Para Linux, macOS ou Unix:

   ```
   aws iam attach-role-policy \
      --policy-arn iam_policy_arn \
      --role-name iam_role_name
   ```

   Para Windows:

   ```
   aws iam attach-role-policy ^
      --policy-arn iam_policy_arn ^
      --role-name iam_role_name
   ```

Para ter mais informações, consulte [Criar um perfil para delegar permissões a um usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) no *Guia do usuário do IAM*.

## Etapa 3: Adicionar o perfil do IAM à instância de banco de dados do RDS para Db2
<a name="db2-adding-iam-role"></a>

Nesta etapa, você vai adicionar o perfil do IAM à instância de banco de dados do RDS para Db2. Observe os seguintes requisitos:
+ Você precisa ter acesso a um perfil do IAM com a política de permissões do Amazon S3 necessária anexada a ele. 
+ Só é possível associar um perfil do IAM à instância de banco de dados do RDS para Db2 por vez.
+ A instância de banco de dados do RDS para Db2 deve estar no estado **Disponível**.

É possível adicionar um perfil do IAM à instância de banco de dados usando o Console de gerenciamento da AWS ou a AWS CLI.

### Console
<a name="db2-adding-iam-role-console"></a>

**Como adicionar um perfil do IAM à instância de banco de dados do RDS para Db2**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Bancos de dados**.

1. Selecione o nome da instância de banco de dados do RDS para Db2.

1. Na guia **Connectivity & security** (Conectividade e segurança), role para baixo até a seção **Manage IAM roles** (Gerenciar funções do IAM) na parte inferior da página.

1. Em **Adicionar perfis do IAM a essa instância**, selecione o perfil que você criou em [Etapa 2: Criar um perfil do IAM e associar a política do IAM](#db2-creating-iam-role).

1. Em **Feature (Recurso)**, escolha **S3\$1INTEGRATION**.

1. Escolha **Add role (adicionar função)**.  
![\[O recurso S3_INTEGRATION foi adicionado ao perfil do IAM para uma instância de banco de dados.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/db2-s3-integration-role.png)

### AWS CLI
<a name="db2-adding-iam-role-cli"></a>

Para adicionar um perfil do IAM à instância de banco de dados do RDS para Db2, execute o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/add-role-to-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/add-role-to-db-instance.html). No exemplo a seguir, substitua *region*, *db\$1instance\$1name* e *iam\$1role\$1arn* pelo nome da Região da AWS onde a instância de banco de dados existe, o nome de sua instância de banco de dados e o ARN do perfil do IAM criado em [Etapa 2: Criar um perfil do IAM e associar a política do IAM](#db2-creating-iam-role). 

Para Linux, macOS ou Unix:

```
aws rds add-role-to-db-instance \
    --region $region \
    --db-instance-identifier $db_instance_name \
    --feature-name S3_INTEGRATION \
    --role-arn $iam_role_arn \
```

Para Windows:

```
aws rds add-role-to-db-instance ^
    --region $region \
    --db-instance-identifier db_instance_name ^
    --feature-name S3_INTEGRATION ^
    --role-arn iam_role_arn ^
```

Para confirmar que o perfil foi adicionado com êxito à instância de banco de dados do RDS para Db2, execute o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html). No exemplo a seguir, substitua *db\$1instance\$1name* pelo nome da instância de banco de dados. 

Para Linux, macOS ou Unix:

```
aws rds describe-db-instances \
    --filters "Name=db-instance-id,Values=db_instance_name" \
    --query 'DBInstances[].AssociatedRoles'
```

Para Windows:

```
aws rds describe-db-instances ^
    --filters "Name=db-instance-id,Values=db_instance_name" ^
    --query 'DBInstances[].AssociatedRoles'
```

O comando gerará uma saída semelhante ao seguinte exemplo:

```
[
    [
        {
            "RoleArn": "arn:aws:iam::0123456789012:role/rds-db2-s3-role",
            "FeatureName": "S3_INTEGRATION",
            "Status": "ACTIVE"
        }
    ]
]
```

# Migrar dados para o Amazon RDS para Db2
<a name="db2-migrating-data-to-rds"></a>

É possível migrar bancos de dados do Db2 autogerenciados para o Amazon RDS para Db2 usando ferramentas da AWS ou nativas do Db2.

Consulte informações sobre como migrar do banco de dados do Db2 para o Amazon RDS para Db2 usando serviços da AWS em [Usar serviços da AWS para migrar dados do Db2 para o Amazon RDS para Db2](db2-migration-approaches.md).

Consulte informações sobre como migrar do banco de dados do Db2 para o Amazon RDS para Db2 usando ferramentas nativas do Db2 em [Usar ferramentas nativas do Db2 para migrar dados do Db2 para o Amazon RDS para Db2](db2-native-db2-tools.md).

# Usar serviços da AWS para migrar dados do Db2 para o Amazon RDS para Db2
<a name="db2-migration-approaches"></a>

No Amazon RDS, há algumas maneiras de migrar dados de um banco de dados do Db2 para o Amazon RDS para Db2. É possível realizar uma migração única do banco de dados do Db2 de ambientes Linux, AIX ou Windows para o Amazon RDS para Db2. Para minimizar o tempo de inatividade, é possível realizar uma migração de tempo de inatividade quase zero. É possível migrar os dados salvando-os no Amazon S3 e carregando-os uma tabela por vez no banco de dados do Db2. Também é possível realizar uma migração síncrona por meio da replicação ou do uso do AWS Database Migration Service.

Para migrações únicas para bancos de dados do Db2 baseados no Linux, o Amazon RDS só permite backups off-line e on-line. O Amazon RDS não permite incrementos e backups Delta. Para migrações de tempo de inatividade quase nulas para bancos de dados do Db2 baseados no Linux, o Amazon RDS exige backups on-line. Recomendamos que você use backups on-line para migrações com tempo de inatividade quase zero e backups off-line para migrações que possam lidar com o tempo de inatividade.

**Topics**
+ [Migrar do Linux para Linux para o Amazon RDS para Db2](db2-one-time-migration-linux.md)
+ [Migrar do Linux para Linux com quase zero tempo de inatividade para o Amazon RDS para Db2](db2-near-zero-downtime-migration.md)
+ [Migrar de forma síncrona de Linux para Linux no Amazon RDS para Db2](db2-synchronous-migration-linux.md)
+ [Migrar do AIX ou do Windows para Linux para o Amazon RDS para Db2](db2-one-time-migration-aix-windows-linux.md)
+ [Migrar dados do Db2 por meio do Amazon S3 para o Amazon RDS para Db2](db2-migration-load-from-s3.md)
+ [Migrar dados para o Amazon RDS para Db2 com o AWS Database Migration Service (AWS DMS)](db2-migration-amazon-dms.md)

# Migrar do Linux para Linux para o Amazon RDS para Db2
<a name="db2-one-time-migration-linux"></a>

Com essa abordagem de migração, é feito backup do banco de dados do Db2 autogerenciado em um bucket do Amazon S3. Depois, use os procedimentos armazenados do Amazon RDS para restaurar o banco de dados do Db2 em uma instância de banco de dados do Amazon RDS para Db2. Para ter mais informações sobre como usar o Amazon S3, consulte [Integrar uma instância de banco de dados do Amazon RDS para Db2 ao Amazon S3](db2-s3-integration.md).

O backup e a restauração do RDS para Db2 seguem os caminhos e as restrições de atualização compatíveis do IBM Db2. Para ter mais informações, consulte [Supported upgrade paths for Db2 servers](https://www.ibm.com/docs/en/db2/11.5?topic=servers-supported-upgrade-paths-db2) e [Upgrade restrictions for Db2 servers](https://www.ibm.com/docs/en/db2/11.5?topic=servers-upgrade-restrictions) na documentação do IBM Db2.

**Topics**
+ [Limitações e recomendações para usar a restauração nativa](#db2-linux-migration-limitations)
+ [Fazer backup do banco de dados no Amazon S3](#db2-linux-backing-up-database)
+ [Criar um grupo de armazenamento automático padrão](#db2-linux-creating-auto-storage-group)
+ [Restaurar o bancos de dados do Db2](#db2-linux-restoring-db2-database)

## Limitações e recomendações para usar a restauração nativa
<a name="db2-linux-migration-limitations"></a>

As seguintes limitações e recomendações se aplicam ao uso da restauração nativa: 
+ O Amazon RDS só comporta a migração de versões on-premises do Db2 que correspondam às versões compatíveis do RDS para Db2. Para ter mais informações sobre as versões compatíveis, consulte [Gerenciamento de atualizações para instâncias Db2 do Amazon RDS](Db2.Concepts.VersionMgmt.Supported.md).
+ O Amazon RDS só permite backups off-line e on-line para restauração nativa. O Amazon RDS não permite incrementos ou backups Delta.
+ Não é possível restaurar de um bucket do Amazon S3 em uma Região da AWS diferente da região onde a instância de banco de dados do RDS para Db2 está localizada. 
+ O Amazon S3 limita o tamanho dos arquivos carregados para um bucket do Amazon S3 a 5 TB. Se um arquivo de backup de banco de dados exceder 5 TB, divida o arquivo de backup em arquivos menores.
+ O Amazon RDS não comporta rotinas externas não protegidas, restaurações incrementais nem restaurações Delta.
+ Não é possível restaurar de um banco de dados de origem criptografado, mas você pode restaurar para uma instância de banco de dados do Amazon RDS.

O processo de restauração varia de acordo com sua configuração.

Se você definir `USE_STREAMING_RESTORE` como `TRUE`, o Amazon RDS transmitirá diretamente seu backup do bucket do S3 durante a restauração. O streaming reduz significativamente os requisitos de armazenamento. Você só precisa provisionar espaço de armazenamento igual ou superior ao tamanho do backup ou ao tamanho do banco de dados original, o que for maior.

Se você definir `USE_STREAMING_RESTORE` como `FALSE`, o Amazon RDS primeiro baixará o backup na instância de banco de dados do RDS para Db2 e, depois, o extrairá. A extração requer espaço de armazenamento adicional. É necessário provisionar espaço de armazenamento equivalente ou maior que a soma do tamanho do backup mais o tamanho do banco de dados original.

O tamanho máximo do banco de dados restaurado é igual ao tamanho máximo aceito do banco de dados menos o espaço necessário para armazenamento temporário durante o processo de restauração.

## Fazer backup do banco de dados no Amazon S3
<a name="db2-linux-backing-up-database"></a>

Para fazer backup do banco de dados no Amazon S3, são necessários os seguintes componentes da AWS:
+ *Um bucket do Amazon S3 para armazenar arquivos de backup*: faça upload de todos os arquivos de backup que você deseja migrar para o Amazon RDS. Recomendamos que você use backups off-line para migrações que possam lidar com o tempo de inatividade. Se você já tiver um bucket do Amazon S3, poderá usá-lo. Se você não tiver um bucket do S3, consulte [Criar um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) no *Guia do usuário do Amazon S3*.
**nota**  
Se o banco de dados for grande e levar muito tempo para ser transferido para um bucket do S3, será possível solicitar um dispositivo AWS Snow Family e pedir para que a AWS realize o backup. Depois de copiar os arquivos para o dispositivo e devolvê-los à equipe da família Snow, a equipe vai transferir as imagens de backup para o bucket do S3. Para obter mais informações, consulte a [a documentação do AWS Snow Family](https://docs.aws.amazon.com/snowball/).
+ *Um perfil do IAM para acessar o bucket do S3*: se você já tem um perfil do IAM, pode usá-lo. Se não tiver um perfil, consulte [Etapa 2: Criar um perfil do IAM e associar a política do IAM](db2-s3-integration.md#db2-creating-iam-role). 
+ *Uma política do IAM com relações de confiança e permissões anexadas ao perfil do IAM*: consulte mais informações em [Etapa 1: criar uma política do IAM](db2-s3-integration.md#db2-creating-iam-policy).
+ *O perfil do IAM adicionado à instância de banco de dados do RDS para Db2*: consulte mais informações em [Etapa 3: Adicionar o perfil do IAM à instância de banco de dados do RDS para Db2](db2-s3-integration.md#db2-adding-iam-role).

## Criar um grupo de armazenamento automático padrão
<a name="db2-linux-creating-auto-storage-group"></a>

O banco de dados de origem deve ter um grupo de armazenamento automático padrão. Se o banco de dados não tiver um grupo de armazenamento automático padrão, você deverá criar um.

**Como criar um grupo de armazenamento automático padrão**

1. Conecte-se ao seu banco de dados de origem. No exemplo a seguir, substitua *source\$1database* pelo nome do banco de dados.

   ```
   db2 connect to source_database 
   ```

1. Crie um grupo de armazenamento automático e defina-o como padrão. No exemplo a seguir, substitua *storage\$1path* pelo caminho absoluto de onde o grupo de armazenamento está localizado.

   ```
   db2 "create stogroup IBMSTOGROUP ON storage_path set as default"
   ```

1. Encerre os processos de backend.

   ```
   db2 terminate
   ```

1. Desative o banco de dados e interrompa todos os serviços dele. No exemplo a seguir, substitua *source\$1database* pelo nome do banco de dados para o qual você criou o grupo de armazenamento.

   ```
   db2 deactivate db source_database
   ```

1. Faça backup do bancos de dados. No exemplo a seguir, substitua *source\$1database* pelo nome do banco de dados para o qual você criou o grupo de armazenamento. Substitua *file\$1system\$1path* pelo caminho absoluto para onde você deseja fazer backup do banco de dados.

   ```
   db2 backup database source_database to file_system_path 
   ```

## Restaurar o bancos de dados do Db2
<a name="db2-linux-restoring-db2-database"></a>

Depois de fazer backup do banco de dados no Amazon S3 e criar um grupo de armazenamento automático, estará tudo pronto para restaurar o banco de dados do Db2 para a instância de banco de dados do RDS para Db2.

**Como restaurar o banco de dados Db2 do bucket do Amazon S3 para sua instância de banco de dados do RDS para Db2**

1. Conecte-se à instância de banco de dados do RDS para Db2. Para obter mais informações, consulte [Conectar-se à instância de banco de dados do Db2](USER_ConnectToDb2DBInstance.md).

1. (Opcional) Para garantir que seu banco de dados esteja configurado da forma ideal, confira os valores dos seguintes parâmetros chamando [rdsadmin.show\$1configuration](db2-sp-managing-databases.md#db2-sp-show-configuration):
   + `RESTORE_DATABASE_NUM_BUFFERS`
   + `RESTORE_DATABASE_PARALLELISM`
   + `RESTORE_DATABASE_NUM_MULTI_PATHS`
   + `USE_STREAMING_RESTORE`

   Use [rdsadmin.set\$1configuration](db2-sp-managing-databases.md#db2-sp-set-configuration) para modificar esses valores conforme necessário. Definir adequadamente esses parâmetros pode melhorar significativamente a performance ao restaurar bancos de dados com grandes volumes de dados. Para a maioria dos cenários de migração, recomendamos definir `USE_STREAMING_RESTORE` como `TRUE` porque reduz os requisitos de armazenamento e pode aumentar a velocidade de restauração.

1. Restaure o banco de dados chamando `rdsadmin.restore_database`. Para obter mais informações, consulte [rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database). 

# Migrar do Linux para Linux com quase zero tempo de inatividade para o Amazon RDS para Db2
<a name="db2-near-zero-downtime-migration"></a>

Com essa abordagem de migração, você vai migrar um banco de dados do Db2 baseado em Linux de um banco de dados do Db2 autogerenciado (origem) para o Amazon RDS para Db2. Essa abordagem ocasiona mínima ou nenhuma interrupção ou tempo de inatividade da aplicação ou dos usuários. Essa abordagem faz backup do banco de dados e o restaura com a reprodução do log, o que ajuda a evitar interrupções nas operações contínuas e oferece alta disponibilidade do banco de dados. 

Para ter uma migração com tempo de inatividade quase zero, o RDS para Db2 implementa a restauração com reprodução de logs. Essa abordagem faz backup do banco de dados do DB2 baseado em Linux autogerenciado e o restaura no servidor RDS para Db2. Com os procedimentos armazenados do Amazon RDS, você aplica os logs de transações subsequentes para atualizar o banco de dados. 

**Topics**
+ [Limitações e recomendações de migração com tempo de inatividade quase zero](#db2-near-zero-downtime-migration-limitations)
+ [Fazer backup do banco de dados no Amazon S3](#db2-near-zero-downtime-backing-up-database)
+ [Criar um grupo de armazenamento automático padrão](#db2-near-zero-migration-creating-auto-storage-group)
+ [Migrar o bancos de dados do Db2](#db2-migrating-db2-database)

## Limitações e recomendações de migração com tempo de inatividade quase zero
<a name="db2-near-zero-downtime-migration-limitations"></a>

As seguintes limitações e recomendações se aplicam à utilização da migração de tempo de inatividade quase zero:
+ O Amazon RDS exige um backup on-line para uma migração com tempo de inatividade quase zero. Isso ocorre porque o Amazon RDS mantém o banco de dados em um estado pendente de rollforward à medida que você faz upload dos logs de transações arquivados. Para obter mais informações, consulte [Migrar o bancos de dados do Db2](#db2-migrating-db2-database). 
+ Não é possível restaurar de um bucket do Amazon S3 em uma Região da AWS diferente da região onde a instância de banco de dados do RDS para Db2 está localizada. 
+ O Amazon S3 limita o tamanho dos arquivos carregados para um bucket do S3 a 5 TB. Se um arquivo de backup de banco de dados exceder 5 TB, divida o arquivo de backup em arquivos menores.
+ O Amazon RDS não comporta rotinas externas não protegidas, restaurações incrementais nem restaurações Delta.
+ Não é possível restaurar de um banco de dados de origem criptografado, mas você pode restaurar para uma instância de banco de dados do Amazon RDS.

O processo de restauração varia de acordo com sua configuração.

Se você definir `USE_STREAMING_RESTORE` como `TRUE`, o Amazon RDS transmitirá diretamente seu backup do bucket do S3 durante a restauração. O streaming reduz significativamente os requisitos de armazenamento. Você só precisa provisionar espaço de armazenamento igual ou superior ao tamanho do backup ou ao tamanho do banco de dados original, o que for maior.

Se você definir `USE_STREAMING_RESTORE` como `FALSE`, o Amazon RDS primeiro baixará o backup na instância de banco de dados do RDS para Db2 e, depois, o extrairá. A extração requer espaço de armazenamento adicional. É necessário provisionar espaço de armazenamento equivalente ou maior que a soma do tamanho do backup mais o tamanho do banco de dados original.

O tamanho máximo do banco de dados restaurado é igual ao tamanho máximo aceito do banco de dados menos o espaço necessário para armazenamento temporário durante o processo de restauração. 

## Fazer backup do banco de dados no Amazon S3
<a name="db2-near-zero-downtime-backing-up-database"></a>

Para fazer backup do banco de dados no Amazon S3, são necessários os seguintes componentes da AWS:
+ *Um bucket do Amazon S3 para armazenar arquivos de backup*: faça upload de todos os arquivos de backup que você deseja migrar para o Amazon RDS. O Amazon RDS exige um backup on-line para uma migração com tempo de inatividade quase zero. Se você já tiver um bucket do Amazon S3, poderá usá-lo. Se você não tiver um bucket do S3, consulte [Criar um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) no *Guia do usuário do Amazon S3*.
**nota**  
Se o banco de dados for grande e levar muito tempo para ser transferido para um bucket do S3, será possível solicitar um dispositivo AWS Snow Family e pedir para que a AWS realize o backup. Depois de copiar os arquivos para o dispositivo e devolvê-los à equipe da família Snow, a equipe vai transferir as imagens de backup para o bucket do S3. Para obter mais informações, consulte a [a documentação do AWS Snow Family](https://docs.aws.amazon.com/snowball/).
+ *Um perfil do IAM para acessar o bucket do S3*: se você já tem um perfil do AWS Identity and Access Management (IAM), pode usá-lo. Se não tiver um perfil, consulte [Etapa 2: Criar um perfil do IAM e associar a política do IAM](db2-s3-integration.md#db2-creating-iam-role). 
+ *Uma política do IAM com relações de confiança e permissões anexadas ao perfil do IAM*: consulte mais informações em [Etapa 1: criar uma política do IAM](db2-s3-integration.md#db2-creating-iam-policy).
+ *O perfil do IAM adicionado à instância de banco de dados do RDS para Db2*: consulte mais informações em [Etapa 3: Adicionar o perfil do IAM à instância de banco de dados do RDS para Db2](db2-s3-integration.md#db2-adding-iam-role).

## Criar um grupo de armazenamento automático padrão
<a name="db2-near-zero-migration-creating-auto-storage-group"></a>

O banco de dados de origem deve ter um grupo de armazenamento automático padrão. Se o banco de dados não tiver um grupo de armazenamento automático padrão, você deverá criar um.

**Como criar um grupo de armazenamento automático padrão**

1. Conecte-se ao seu banco de dados de origem. No exemplo a seguir, substitua *source\$1database* pelo nome do banco de dados.

   ```
   db2 connect to source_database 
   ```

1. Crie um grupo de armazenamento automático e defina-o como padrão. No exemplo a seguir, substitua *storage\$1path* pelo caminho absoluto de onde o grupo de armazenamento está localizado.

   ```
   db2 "create stogroup IBMSTOGROUP ON storage_path set as default"
   ```

1. Encerre os processos de backend.

   ```
   db2 terminate
   ```

## Migrar o bancos de dados do Db2
<a name="db2-migrating-db2-database"></a>

Depois de configurar uma migração com tempo de inatividade quase zero, estará tudo pronto para migrar o banco de dados Db2 para o bucket do Amazon S3 para sua instância de banco de dados do RDS para Db2.

**Como realizar uma migração com tempo de inatividade quase zero dos arquivos de backup do bucket do Amazon S3 para a instância de banco de dados do RDS para Db2**

1. Execute um backup on-line do banco de dados de origem. Para ter mais informações, consulte [BACKUP DATABASE command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-backup-database) na documentação do IBM Db2.

1. Copie o backup do banco de dados para um bucket do Amazon S3. Para ter informações sobre o Amazon S3, consulte o [Guia do usuário do Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html).

1. Conecte-se ao servidor `rdsadmin` com o *master\$1username* e a *master\$1password* da instância de banco de dados do RDS para Db2.

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

1. (Opcional) Para garantir que seu banco de dados esteja configurado da forma ideal, confira os valores dos seguintes parâmetros chamando [rdsadmin.show\$1configuration](db2-sp-managing-databases.md#db2-sp-show-configuration):
   + `RESTORE_DATABASE_NUM_BUFFERS`
   + `RESTORE_DATABASE_PARALLELISM`
   + `RESTORE_DATABASE_NUM_MULTI_PATHS`
   + `USE_STREAMING_RESTORE`

   Use [rdsadmin.set\$1configuration](db2-sp-managing-databases.md#db2-sp-set-configuration) para modificar esses valores conforme necessário. Definir adequadamente esses parâmetros pode melhorar significativamente a performance ao restaurar bancos de dados com grandes volumes de dados. Para a maioria dos cenários de migração, recomendamos definir `USE_STREAMING_RESTORE` como `TRUE` porque reduz os requisitos de armazenamento e pode aumentar a velocidade de restauração.

1. Restaure o backup no servidor RDS para Db2 chamando `rdsadmin.restore_database`. Defina `backup_type` como `ONLINE`. Para obter mais informações, consulte [rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database).

1. Copie os logs de arquivamento do servidor de origem para o bucket do S3. Para ter mais informações, consulte [Archive logging](https://www.ibm.com/docs/en/db2/11.5?topic=logging-archive) na documentação do IBM Db2.

1. Aplique logs de arquivamento quantas vezes for necessário chamando `rdsadmin.rollforward_database`. Defina `complete_rollforward` como `FALSE` para manter o banco de dados em um estado `ROLL-FORWARD PENDING`. Para obter mais informações, consulte [rdsadmin.rollforward\$1database](db2-sp-managing-databases.md#db2-sp-rollforward-database).

1. Depois de aplicar todos os logs de arquivamento, coloque o banco de dados on-line chamando `rdsadmin.complete_rollforward`. Para obter mais informações, consulte [rdsadmin.complete\$1rollforward](db2-sp-managing-databases.md#db2-sp-complete-rollforward).

1. Alterne as conexões da aplicação para o servidor RDS para Db2 atualizando os endpoints da aplicação para o banco de dados ou atualizando os endpoints do DNS para redirecionar o tráfego para o servidor RDS para Db2. Também é possível usar o recurso de redirecionamento automático do cliente Db2 no banco de dados do Db2 autogerenciado com o endpoint do banco de dados do RDS para Db2. Para ter mais informações, consulte [Automatic client reroute description and setup](https://www.ibm.com/docs/en/db2/11.5?topic=reroute-configuring-automatic-client) na documentação do IBM Db2.

1. (Opcional) Encerre o banco de dados de origem.

# Migrar de forma síncrona de Linux para Linux no Amazon RDS para Db2
<a name="db2-synchronous-migration-linux"></a>

Com essa abordagem de migração, é possível configurar a replicação entre o banco de dados do Db2 autogerenciado e a instância de banco de dados do Amazon RDS para Db2. As alterações feitas no banco de dados autogerenciado são replicadas na instância de banco de dados do RDS para Db2 quase em tempo real. Essa abordagem pode oferecer disponibilidade contínua e minimizar o tempo de inatividade durante o processo de migração.

# Migrar do AIX ou do Windows para Linux para o Amazon RDS para Db2
<a name="db2-one-time-migration-aix-windows-linux"></a>

Com essa abordagem de migração, é necessário ferramentas nativas do Db2 para fazer backup do banco de dados do Db2 autogerenciado em um bucket do Amazon S3. As ferramentas nativas do Db2 incluem o utilitário `export`, o comando `db2move` do sistema ou o comando do sistema `db2look`. O banco de dados do Db2 pode ser autogerenciado ou no Amazon Elastic Compute Cloud (Amazon EC2). É possível mover dados do sistema AIX ou Windows para o bucket do Amazon S3. Depois, use um cliente Db2 para carregar dados diretamente do bucket do S3 para o banco de dados do Amazon RDS para Db2. O tempo de inatividade depende do tamanho do banco de dados. Para ter mais informações sobre como usar o Amazon S3, consulte [Integrar uma instância de banco de dados do Amazon RDS para Db2 ao Amazon S3](db2-s3-integration.md).

**Como migrar o banco de dados do Db2 para o RDS para Db2**

1. Prepare-se para fazer backup do banco de dados. Configure uma quantidade de armazenamento suficiente para manter o backup no sistema Db2 autogerenciado.

1. Faça backup do banco de dados.

   1. Execute o [comando db2look do sistema](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2look-db2-statistics-ddl-extraction-tool) para extrair o arquivo de linguagem de definição de dados (DDL) de todos os objetos.

   1. Execute o [utilitário de exportação do Db2](https://www.ibm.com/docs/en/db2/11.5?topic=utility-exporting-data), o [comando db2move do sistema](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2move-database-movement-tool) ou uma [declaração CREATE EXTERNAL TABLE](https://www.ibm.com/docs/en/db2/11.5?topic=statements-create-table-external) para descarregar os dados da tabela do Db2 no armazenamento no sistema Db2.

1. Mova o backup para um bucket do Amazon S3. Para ter mais informações, consulte [Integrar uma instância de banco de dados do Amazon RDS para Db2 ao Amazon S3](db2-s3-integration.md). 
**nota**  
Se o banco de dados for grande e levar muito tempo para ser transferido para um bucket do S3, será possível solicitar um dispositivo AWS Snow Family e pedir para que a AWS realize o backup. Depois de copiar os arquivos para o dispositivo e devolvê-los à equipe da família Snow, a equipe vai transferir as imagens de backup para o bucket do S3. Para obter mais informações, consulte a [documentação do AWS Snow Family](https://docs.aws.amazon.com/snowball/).

1. Depois, use um cliente Db2 para carregar dados diretamente do bucket do S3 para o banco de dados do RDS para Db2. Para ter mais informações, consulte [Migrar com o Amazon S3](db2-migration-load-from-s3.md).

# Migrar dados do Db2 por meio do Amazon S3 para o Amazon RDS para Db2
<a name="db2-migration-load-from-s3"></a>

Com essa abordagem de migração, primeiro salve dados de uma única tabela em um arquivo de dados que é colocado em um bucket do Amazon S3. Depois, use o [comando LOAD](https://www.ibm.com/docs/en/db2/11.5?topic=commands-load) para carregar os dados desse arquivo em uma tabela no banco de dados do Amazon RDS para Db2. Para ter mais informações sobre como usar o Amazon S3, consulte [Integrar uma instância de banco de dados do Amazon RDS para Db2 ao Amazon S3](db2-s3-integration.md).

**Topics**
+ [Salvar dados no Amazon S3](#db2-migration-load-from-s3-saving-data-file)
+ [Carregar dados em tabelas do RDS para Db2](#db2-migration-load-from-s3-into-db-table)

## Salvar dados no Amazon S3
<a name="db2-migration-load-from-s3-saving-data-file"></a>

Para salvar dados de uma única tabela no Amazon S3, use um utilitário de banco de dados para extrair os dados do sistema de gerenciamento de banco de dados (DBMS) em um arquivo CSV. Depois, faça upload de cada arquivo de dados no Amazon S3.

Para armazenar arquivos de dados no Amazon S3, são necessários os seguintes componentes da AWS:
+ *Um bucket do Amazon S3 para armazenar arquivos de backup*: se você já tiver um bucket do S3, poderá usá-lo. Se você não tiver um bucket do S3, consulte [Criar um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) no *Guia do usuário do Amazon S3*.
+ *Um perfil do IAM para acessar o bucket do S3*: se você já tem um perfil do IAM, pode usá-lo. Se não tiver um perfil, consulte [Etapa 2: Criar um perfil do IAM e associar a política do IAM](db2-s3-integration.md#db2-creating-iam-role). 
+ *Uma política do IAM com relações de confiança e permissões anexadas ao perfil do IAM*: consulte mais informações em [Etapa 1: criar uma política do IAM](db2-s3-integration.md#db2-creating-iam-policy).
+ *O perfil do IAM adicionado à instância de banco de dados do RDS para Db2*: consulte mais informações em [Etapa 3: Adicionar o perfil do IAM à instância de banco de dados do RDS para Db2](db2-s3-integration.md#db2-adding-iam-role).

## Carregar dados em tabelas do RDS para Db2
<a name="db2-migration-load-from-s3-into-db-table"></a>

Depois de salvar os arquivos de dados no Amazon S3, é possível carregar os dados desses arquivos em tabelas individuais na instância de banco de dados do RDS para Db2.

**Como carregar dados da tabela do Db2 na tabela do banco de dados do RDS para Db2**

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. Catalogue um alias de acesso ao armazenamento que aponte para o bucket do Amazon S3 onde os arquivos salvos são armazenados. Anote o nome desse alias para uso na próxima etapa. Só é necessário realizar essa etapa uma vez se planeja carregar várias tabelas de arquivos de dados armazenados no mesmo bucket do Amazon S3.

   O exemplo a seguir cataloga um alias chamado *my\$1s3\$1alias*, que concede a um usuário chamado *jorge\$1souza* acesso a um bucket denominado *amzn-s3-demo-bucket*.

   ```
   db2 "call rdsadmin.catalog_storage_access(?, 'my_s3_alias', 'amzn-s3-demo-bucket', 'USER', 'jorge_souza')"
   ```

   Para ter mais informações sobre esse procedimento armazenado, consulte [rdsadmin.catalog\$1storage\$1access](db2-sp-managing-storage-access.md#db2-sp-catalog-storage-access).

1. Execute o comando `LOAD` usando o alias de acesso ao armazenamento que aponta para o bucket do Amazon S3. 
**nota**  
Se o comando `LOAD` gerar um erro, talvez seja necessário criar um endpoint de gateway da VPC para o Amazon S3 e adicionar regras de saída ao grupo de segurança. Para obter mais informações, consulte [Erro de E/S de arquivo](db2-troubleshooting.md#db2-file-input-output-error).

   O exemplo a seguir carrega dados de um arquivo chamado *my\$1s3\$1datafile.csv* em uma tabela chamada *my\$1db2\$1table*. O exemplo pressupõe que o arquivo de dados esteja no bucket do Amazon S3 para o qual o alias chamando *my\$1s3\$1alias* aponta.

   ```
   db2 "load from db2remote://my_s3_alias//my_s3_datafile.csv of DEL insert into my_db2_table";
   ```

   O exemplo a seguir carrega LOBs de um arquivo de dados chamado *my\$1table1\$1export.ixf* em uma tabela denominada *my\$1db2\$1table*. O exemplo pressupõe que o arquivo de dados esteja no bucket do Amazon S3 para o qual o alias chamando *my\$1s3\$1alias* aponta.

   ```
   db2 "call sysproc.admin_cmd('load from "db2remote://my_s3_alias//my_table1_export.ixf" of ixf
           lobs from "db2remote://my_s3_alias//" xml from "db2remote://my_s3_alias//"
           modified by lobsinfile implicitlyhiddeninclude identityoverride generatedoverride periodoverride transactionidoverride
           messages on server
           replace into "my_schema"."my_db2_table"
                                  nonrecoverable
           indexing mode incremental allow no access')"
   ```

   Repita essa etapa para cada arquivo de dados do bucket do Amazon S3 que você deseja carregar em uma tabela na instância de banco de dados do RDS para Db2.

   Para ter mais informações sobre o comando `LOAD`, consulte [Comando LOAD](https://www.ibm.com/docs/en/db2/11.5?topic=commands-load).

# Migrar dados para o Amazon RDS para Db2 com o AWS Database Migration Service (AWS DMS)
<a name="db2-migration-amazon-dms"></a>

É possível usar o AWS DMS para migrações únicas e, depois, sincronizar do Db2 no Linux, no Unix (como AIX) e no Windows para o Amazon RDS para Db2. Para obter mais informações, consulte [O que é o AWS Database Migration Service?](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html).

# Usar ferramentas nativas do Db2 para migrar dados do Db2 para o Amazon RDS para Db2
<a name="db2-native-db2-tools"></a>

É possível usar várias ferramentas, utilitários e comandos nativos do Db2 para mover dados diretamente de um banco de dados do Db2 para um banco de dados do Amazon RDS para Db2. Para usar essas ferramentas nativas do Db2, é necessário ser capaz de conectar a máquina cliente a uma instância de banco de dados do RDS para Db2. Para ter mais informações, consulte [Conectar uma máquina cliente a uma instância de banco de dados do Amazon RDS para Db2](db2-connecting-client-rds.md).

**nota**  
Outra forma de mover os dados é primeiro salvá-los em um bucket do Amazon S3 e, depois, usar o comando `LOAD` para transferir esses dados para uma tabela no banco de dados do RDS para Db2. Esse método fornece o melhor performance ao migrar um grande volume de dados devido à boa conectividade de rede entre o RDS para Db2 e o S3. Para ter mais informações, consulte [Migrar dados do Db2 por meio do Amazon S3 para o Amazon RDS para Db2](db2-migration-load-from-s3.md).


| Nome da ferramenta | Caso de uso | Limitações | 
| --- | --- | --- | 
|  [db2look](db2-native-db2-tools-db2look.md)  |  Copiar metadados de um banco de dados do Db2 autogerenciado em um banco de dados do RDS para Db2.  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/db2-native-db2-tools.html)  | 
|  [Comando da IMPORT](db2-native-db2-tools-import.md)  |  Migrar tabelas pequenas e tabelas com objetos grandes (LOBs) de uma máquina cliente para a instância de banco de dados do RDS para Db2.  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/db2-native-db2-tools.html)  | 
|  [Utilitário INGEST](db2-native-db2-tools-ingest.md)   |  Transmitir de forma contínua dados de arquivos e canais *sem* objetos grandes (LOBs) na máquina cliente para a instância de banco de dados do RDS para Db2. É compatível com as operações `INSERT` e `MERGE`.   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/db2-native-db2-tools.html)  | 
|  [Comando da INSERT](db2-native-db2-tools-insert.md)  |  Copiar dados em tabelas pequenas de um banco de dados do Db2 autogerenciado em um banco de dados do RDS para Db2.  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/db2-native-db2-tools.html)  | 
|  [Comando da LOAD CLIENT](db2-native-db2-tools-load.md)  |  Migrar tabelas pequenas *sem *objetos grandes (LOBs) de uma máquina cliente para a instância de banco de dados do RDS para Db2.  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/db2-native-db2-tools.html)  | 

# Conectar uma máquina cliente a uma instância de banco de dados do Amazon RDS para Db2
<a name="db2-connecting-client-rds"></a>

Para usar qualquer uma das ferramentas nativas do Db2 para mover dados de um banco de dados do Db2 para um banco de dados do Amazon RDS para Db2, primeiro é necessário conectar a máquina cliente a uma instância de banco de dados do RDS para Db2.

A máquina cliente pode ser qualquer uma das seguintes:
+ Uma instância do Amazon Elastic Compute Cloud (Amazon EC2) no Linux, no Windows ou no macOS. Essa instância deve estar na mesma nuvem privada virtual (VPC) que a instância do banco de dados do RDS para Db2, AWS Cloud9 ou AWS CloudShell.
+ Uma instância do Db2 autogerenciada em uma instância do Amazon EC2. As instâncias devem estar na mesma VPC.
+ Uma instância do Db2 autogerenciada em uma instância do Amazon EC2. As instâncias podem estar em VPCs diferentes se você habilitou o emparelhamento de VPC. Para ter mais informações, consulte [Create a VPC peering connection](https://docs.aws.amazon.com/vpc/latest/peering/create-vpc-peering-connection.html) no *Guia de emparelhamento de Amazon Virtual Private Cloud*.
+ Uma máquina local executando Linux, Windows ou macOS em um ambiente autogerenciado. É necessário ter conectividade pública com o RDS para Db2 ou habilitar a conectividade de VPN entre instâncias autogerenciadas do Db2 e a AWS.

Para conectar a máquina cliente à instância de banco de dados do RDS para Db2, faça login na máquina cliente com o IBM Db2 Data Management Console. Para obter mais informações, consulte [Criar uma instância de banco de dados do Amazon RDS](USER_CreateDBInstance.md) e [IBM Db2 Data Management Console](db2-connecting-with-ibm-data-management-console.md). 

É possível usar AWS Database Migration Service (AWS DMS) para executar consultas no banco de dados, executar um plano de execução SQL e monitorar o banco de dados. Para ter mais informações, consulte [What is AWS Database Migration Service?](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) no *Guia do usuário do AWS Database Migration Service*.

Depois de conectar com êxito a máquina cliente à instância de banco de dados do RDS para Db2, estará tudo pronto para usar qualquer ferramenta nativa do Db2 para copiar dados. Para obter mais informações, consulte [Usar ferramentas nativas do Db2 para migrar dados do Db2 para o Amazon RDS para Db2](db2-native-db2-tools.md).

# Copiar metadados do banco de dados do Db2 para o Amazon RDS para Db2 com db2look
<a name="db2-native-db2-tools-db2look"></a>

`db2look` é uma ferramenta nativa do Db2 que extrai arquivos, objetos, autorizações, configurações, WLM e layouts de banco de dados da linguagem de definição de dados (DDL). É possível usar o `db2look` para copiar metadados de um banco de dados do Db2 autogerenciado para um banco de dados do Amazon RDS para Db2. Para ter mais informações, consulte [Mimicking databases using db2look](https://www.ibm.com/docs/en/db2/11.5?topic=tools-db2look) na documentação do IBM Db2.

**Como copiar os metadados do banco de dados**

1. Execute a ferramenta `db2look` no sistema do Db2 autogerenciado para extrair o arquivo DDL. No exemplo a seguir, substitua *database\$1name* pelo nome do banco de dados do Db2.

   ```
   db2look -d database_name -e -l -a -f -wlm -cor -createdb -printdbcfg -o db2look.sql
   ```

1. Se a máquina cliente tiver acesso ao banco de dados de origem (Db2 autogerenciado) e à instância de banco de dados do RDS para Db2, será possível criar o arquivo `db2look.sql` na máquina cliente conectando-se diretamente à instância remota. Depois, catalogue a instância remota autogerenciada do Db2.

   1. Catalogue o nó. No exemplo a seguir, substitua *dns\$1ip\$1address* e *port* pelo nome do DNS ou pelo endereço IP e pelo número da porta do banco de dados do Db2 autogerenciado.

      ```
      db2 catalog tcpip node srcnode REMOTE dns_ip_address server port
      ```

   1. Catalogue o banco de dados. No exemplo a seguir, substitua *source\$1database\$1name* e *source\$1database\$1alias* pelo nome do banco de dados do Db2 autogerenciado e pelo alias a ser utilizado para esse banco de dados.

      ```
      db2 catalog database source_database_name as source_database_alias at node srcnode \ 
          authentication server_encrypt
      ```

   1. Associe ao banco de dados de origem. No exemplo a seguir, substitua *source\$1database\$1alias*, *user\$1id* e *user\$1password* pelo alias que você criou na etapa anterior e pelo ID de usuário e senha do banco de dados do Db2 autogerenciado.

      ```
      db2look -d source_database_alias -i user_id -w user_password -e -l -a -f -wlm \
          -cor -createdb -printdbcfg -o db2look.sql
      ```

1. Se você não conseguir acessar o banco de dados do Db2 autogerenciado remoto da máquina cliente, copie o arquivo `db2look.sql` para a máquina cliente. Depois, catalogue a instância de banco de dados do RDS para Db2. 

   1. Catalogue o nó. No exemplo a seguir, substitua *dns\$1ip\$1address* e *port* pelo nome do DNS ou pelo endereço IP e pelo número da porta da instância de banco de dados do RDS para Db2.

      ```
      db2 catalog tcpip node remnode REMOTE dns_ip_address server port
      ```

   1. Catalogue o banco de dados. No exemplo a seguir, substitua *rds\$1database\$1name* e *rds\$1database\$1alias* pelo nome do banco de dados do RDS para Db2 e pelo alias a ser utilizado para esse banco de dados.

      ```
      db2 catalog database rds_database_name as rds_database_alias at node remnode \ 
          authentication server_encrypt
      ```

   1. Catalogue o banco de dados administrativo que gerencia o RDS para Db2. Não é possível usar esse banco de dados para armazenar dados.

      ```
      db2 catalog database rdsadmin as rdsadmin at node remnode authentication server_encrypt
      ```

1. Crie grupos de buffer e espaços de tabela. O administrador não tem privilégios para criar grupos de buffer nem espaços de tabela. No entanto, é possível usar procedimentos armazenados do Amazon RDS para criá-los.

   1. Encontre os nomes e as definições dos grupos de buffer e dos espaços de tabela no arquivo `db2look.sql`.

   1. Conecte-se ao Amazon RDS 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 grupo de buffers chamando `rdsadmin.create_bufferpool`. Para ter mais informações, consulte [rdsadmin.create\$1bufferpool](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)"
      ```

   1. Crie um espaço de tabela chamando `rdsadmin.create_tablespace`. Para ter 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')"
      ```

   1. Repita as etapas c ou d para cada grupo de buffers ou espaço de tabela extra que você deseja adicionar.

   1. Encerre a conexão.

      ```
      db2 terminate
      ```

1. Crie tabelas e objetos.

   1. Conecte-se ao banco de dados do RDS para Db2 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 *rds\$1database\$1name*, *master\$1username* e *master\$1password* por suas próprias informações.

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

   1. Execute o arquivo `db2look.sql`.

      ```
      db2 -tvf db2look.sql
      ```

   1. Encerre a conexão.

      ```
      db2 terminate
      ```

# Importar dados de uma máquina cliente para o Amazon RDS para Db2 com o comando IMPORT
<a name="db2-native-db2-tools-import"></a>

É possível usar o comando `IMPORT` de uma máquina cliente para importar os dados para o servidor Amazon RDS para Db2. 

**Importante**  
O método de comando `IMPORT` é útil para migrar tabelas pequenas e tabelas que incluem objetos grandes (LOBs). O comando `IMPORT` é mais lento do que o utilitário `LOAD` devido às operações de registro em log `INSERT` e `DELETE`. Se a largura de banda da rede entre a máquina cliente e o RDS para Db2 for limitada, recomendamos usar uma abordagem de migração diferente. Para ter mais informações, consulte [Usar ferramentas nativas do Db2 para migrar dados do Db2 para o Amazon RDS para Db2](db2-native-db2-tools.md).

**Como importar dados para o servidor RDS para Db2**

1. Faça login na máquina cliente com o IBM Db2 Data Management Console. Para ter mais informações, consulte [Conectar-se à instância de banco de dados do Amazon RDS para Db2 com o IBM Db2 Data Management Console](db2-connecting-with-ibm-data-management-console.md).

1. Catalogue o banco de dados do RDS para Db2 na máquina cliente.

   1. Catalogue o nó. No exemplo a seguir, substitua *dns\$1ip\$1address* e *port* pelo nome do DNS ou pelo endereço IP e pelo número da porta do banco de dados do Db2 autogerenciado.

      ```
      db2 catalog tcpip node srcnode REMOTE dns_ip_address server port
      ```

   1. Catalogue o banco de dados. No exemplo a seguir, substitua *source\$1database\$1name* e *source\$1database\$1alias* pelo nome do banco de dados do Db2 autogerenciado e pelo alias a ser utilizado para esse banco de dados.

      ```
      db2 catalog database source_database_name as source_database_alias at node srcnode \
          authentication server_encrypt
      ```

1. Associe ao banco de dados de origem. No exemplo a seguir, substitua *source\$1database\$1alias*, *user\$1id* e *user\$1password* pelo alias que você criou na etapa anterior e pelo ID de usuário e senha do banco de dados do Db2 autogerenciado.

   ```
   db2look -d source_database_alias -i user_id -w user_password -e -l -a -f -wlm \
       -cor -createdb -printdbcfg -o db2look.sql
   ```

1. Gere o arquivo de dados usando o comando ` EXPORT` no sistema Db2 autogerenciado. No exemplo a seguir, substitua *directory* pelo diretório da máquina cliente onde se encontra o arquivo de dados. Substitua *file\$1name* e *table\$1name* pelo nome do arquivo de dados e pelo nome da tabela. 

   ```
   db2 "export to /directory/file_name.txt of del lobs to /directory/lobs/ \
       modified by coldel\| select * from table_name"
   ```

1. Conecte-se ao banco de dados do RDS para Db2 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 **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. Use o comando `IMPORT` para importar dados de um arquivo na máquina cliente para o banco de dados remoto do RDS para Db2. Para ter mais informações, consulte [IMPORT command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-import) na documentação do IBM Db2. No exemplo a seguir, substitua *directory* e *file\$1name* pelo diretório da máquina cliente onde se encontra o arquivo de dados e o nome do arquivo de dados. Substitua *SCHEMA\$1NAME* e *TABLE\$1NAME* pelo nome do esquema e da tabela. 

   ```
   db2 "IMPORT from /directory/file_name.tbl OF DEL LOBS FROM /directory/lobs/ \
       modified by coldel\| replace into SCHEMA_NAME.TABLE_NAME"
   ```

1. Encerre a conexão.

   ```
   db2 terminate
   ```

# Importar dados de uma máquina cliente para o Amazon RDS para Db2 com o comando LOAD
<a name="db2-native-db2-tools-load"></a>

É possível usar o comando `LOAD CLIENT` para carregar dados de um arquivo em uma máquina cliente para o servidor do RDS para Db2. Como não existe conectividade SSH com o servidor do RDS para Db2, é possível usar o comando `LOAD CLIENT` no servidor do Db2 autogerenciado ou na máquina cliente do Db2.

**Importante**  
O método de comando `LOAD CLIENT` é útil para migrar tabelas pequenas. Se a largura de banda da rede entre o cliente e o RDS para Db2 for limitada, recomendamos usar uma abordagem de migração diferente. Para obter mais informações, consulte [Usar ferramentas nativas do Db2 para migrar dados do Db2 para o Amazon RDS para Db2](db2-native-db2-tools.md).  
Se o arquivo de dados incluir referências a nomes de arquivos de objetos grandes, o comando `LOAD` não funcionará porque objetos grandes (LOBs) precisam estar no servidor Db2. Se você tentar carregar LOBs da máquina cliente para o servidor RDS para Db2, receberá um erro SQL3025N. Em vez disso, use o [comando IMPORT](db2-native-db2-tools-import.md).

**Como carregar dados para o servidor RDS para Db2**

1. Faça login na máquina cliente com o IBM Db2 Data Management Console. Para ter mais informações, consulte [Conectar-se à instância de banco de dados do Amazon RDS para Db2 com o IBM Db2 Data Management Console](db2-connecting-with-ibm-data-management-console.md).

1. Catalogue o banco de dados do RDS para Db2 na máquina cliente.

   1. Catalogue o nó. No exemplo a seguir, substitua *dns\$1ip\$1address* e *port* pelo nome do DNS ou pelo endereço IP e pelo número da porta do banco de dados do Db2 autogerenciado.

      ```
      db2 catalog tcpip node srcnode REMOTE dns_ip_address server port
      ```

   1. Catalogue o banco de dados. No exemplo a seguir, substitua *source\$1database\$1name* e *source\$1database\$1alias* pelo nome do banco de dados do Db2 autogerenciado e pelo alias a ser utilizado para esse banco de dados.

      ```
      db2 catalog database source_database_name as source_database_alias at node srcnode \
          authentication server_encrypt
      ```

1. Associe ao banco de dados de origem. No exemplo a seguir, substitua *source\$1database\$1alias*, *user\$1id* e *user\$1password* pelo alias que você criou na etapa anterior e pelo ID de usuário e senha do banco de dados do Db2 autogerenciado. 

   ```
   db2look -d source_database_alias -i user_id -w user_password -e -l -a -f -wlm \
       -cor -createdb -printdbcfg -o db2look.sql
   ```

1. Gere o arquivo de dados usando o comando `EXPORT` no sistema Db2 autogerenciado. No exemplo a seguir, substitua *directory* pelo diretório da máquina cliente onde se encontra o arquivo de dados. Substitua *file\$1name* e *TABLE\$1NAME* pelo nome do arquivo de dados e pelo nome da tabela. 

   ```
   db2 "export to /directory/file_name.txt of del modified by coldel\| \
       select * from TPCH.TABLE_NAME"
   ```

1. Conecte-se ao banco de dados do RDS para Db2 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 **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. Use o comando `LOAD` para carregar dados de um arquivo na máquina cliente para o banco de dados remoto do RDS para Db2. Para ter mais informações, consulte [LOAD command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-load) na documentação do IBM Db2. No exemplo a seguir, substitua *directory* pelo diretório da máquina cliente onde se encontra o arquivo de dados. Substitua *file\$1name* e *TABLE\$1NAME* pelo nome do arquivo de dados e pelo nome da tabela. 

   ```
   db2 "LOAD CLIENT from /directory/file_name.txt \
       modified by coldel\| replace into TPCH.TABLE_NAME \
       nonrecoverable without prompting"
   ```

1. Encerre a conexão.

   ```
   db2 terminate
   ```

# Importar dados do Db2 para o Amazon RDS para Db2 com o comando INSERT
<a name="db2-native-db2-tools-insert"></a>

É possível usar o comando `INSERT` de um servidor do Db2 autogerenciado para inserir os dados em um banco de dados do Amazon RDS para Db2. Com essa abordagem de migração, é usado um apelido para a instância de banco de dados do RDS para Db2 remota. O banco de dados do Db2 autogerenciado (origem) deve ser capaz de se conectar ao banco de dados do RDS para Db2 (destino).

**Importante**  
O método de comando `INSERT` é útil para migrar tabelas pequenas. Se a largura de banda da rede entre o banco de dados do Db2 autogerenciado e o banco de dados do RDS para Db2 for limitada, recomendamos usar uma abordagem de migração diferente. Para ter mais informações, consulte [Usar ferramentas nativas do Db2 para migrar dados do Db2 para o Amazon RDS para Db2](db2-native-db2-tools.md).

**Como copiar dados de um banco de dados do Db2 autogerenciado em um banco de dados do RDS para Db2**

1. Catalogue a instância de banco de dados do RDS para Db2 na instância do Db2 autogerenciado. 

   1. Catalogue o nó. No exemplo a seguir, substitua *dns\$1ip\$1address* e *port* pelo nome do DNS ou pelo endereço IP e pelo número da porta do banco de dados do Db2 autogerenciado.

      ```
      db2 catalog tcpip node remnode REMOTE dns_ip_address SERVER port
      ```

   1. Catalogue o banco de dados. No exemplo a seguir, substitua *rds\$1database\$1name* pelo nome do banco de dados na instância de banco de dados do RDS para Db2.

      ```
      db2 catalog database rds_database_name as remdb at node remnode \
          authentication server_encrypt
      ```

1. Habilite a federação na instância do Db2 autogerenciado. No exemplo a seguir, substitua *source\$1database\$1name* pelo nome do banco de dados na instância de banco de dados do Db2 autogerenciado.

   ```
   db2 update dbm cfg using FEDERATED YES source_database_name
   ```

1. Crie tabelas na instância de banco de dados do RDS para Db2.

   1. Catalogue o nó. No exemplo a seguir, substitua *dns\$1ip\$1address* e *port* pelo nome do DNS ou pelo endereço IP e pelo número da porta do banco de dados do Db2 autogerenciado.

      ```
      db2 catalog tcpip node srcnode REMOTE dns_ip_address server port
      ```

   1. Catalogue o banco de dados. No exemplo a seguir, substitua *source\$1database\$1name* e *source\$1database\$1alias* pelo nome do banco de dados do Db2 autogerenciado e pelo alias a ser utilizado para esse banco de dados.

      ```
      db2 catalog database source_database_name as source_database_alias at node srcnode \
          authentication server_encrypt
      ```

1. Associe ao banco de dados de origem. No exemplo a seguir, substitua *source\$1database\$1alias*, *user\$1id* e *user\$1password* pelo alias que você criou na etapa anterior e pelo ID de usuário e senha do banco de dados do Db2 autogerenciado. 

   ```
   db2look -d source_database_alias -i user_id -w user_password -e -l -a -f -wlm \
       -cor -createdb -printdbcfg -o db2look.sql
   ```

1. Configure a federação e crie um apelido para a tabela de banco de dados do RDS para Db2 na instância do Db2 autogerenciado.

   1. Conecte-se ao banco de dados local. No exemplo a seguir, substitua *source\$1database\$1name* pelo nome do banco de dados na instância do Db2 autogerenciado.

      ```
      db2 connect to source_database_name
      ```

   1.  Crie um wrapper para acessar fontes de dados do Db2.

      ```
      db2 create wrapper drda
      ```

   1. Defina uma fonte de dados em um banco de dados federado. No exemplo a seguir, substitua *admin* e *admin\$1password* pelas credenciais da instância do Db2 autogerenciado. Substitua *rds\$1database\$1name* pelo nome do banco de dados na instância de banco de dados do RDS para Db2.

      ```
      db2 "create server rdsdb2 type DB2/LUW version '11.5.9.0' \
          wrapper drda authorization "admin" password "admin_password" \
          options( dbname 'rds_database_name', node 'remnode')"
      ```

   1. Associe os usuários nos dois bancos de dados. No exemplo a seguir, substitua *master\$1username* e *master\$1password* pelas credenciais da instância de banco de dados do RDS para Db2.

      ```
      db2 "create user mapping for user server rdsdb2 \
          options (REMOTE_AUTHID 'master_username', REMOTE_PASSWORD 'master_password')"
      ```

   1. Verifique a conexão com o servidor RDS para Db2. 

      ```
      db2 set passthru rdsdb2
      ```

   1. Crie um apelido para a tabela no banco de dados remoto do RDS para Db2. No exemplo a seguir, substitua *NICKNAME* e *TABLE\$1NAME* por um apelido para a tabela e o nome da tabela.

      ```
      db2 create nickname REMOTE.NICKNAME for RDSDB2.TABLE_NAME.NICKNAME
      ```

1. Insira dados na tabela no banco de dados remoto do RDS para Db2. Use o apelido em uma declaração `select` na tabela local na instância do Db2 autogerenciado. No exemplo a seguir, substitua *NICKNAME* e *TABLE\$1NAME* por um apelido para a tabela e o nome da tabela.

   ```
   db2 "INSERT into REMOTE.NICKNAME select * from RDS2DB2.TABLE_NAME.NICKNAME"
   ```

# Importar dados do Db2 para o Amazon RDS para Db2 com o utilitário INGEST
<a name="db2-native-db2-tools-ingest"></a>

É possível usar o utilitário `INGEST` para transmitir continuamente dados de arquivos e canais em uma máquina cliente para uma instância de banco de dados do Amazon RDS para Db2 de destino. O utilitário `INGEST` aceita operações `INSERT` e `MERGE`. Para ter mais informações, consulte [Ingest utility](https://www.ibm.com/docs/en/db2/11.1?topic=reference-ingest-utility) na documentação do IBM Db2.

Como o utilitário `INGEST` aceita apelidos, é possível usá-lo para transferir dados do banco de dados do Db2 autogerenciado para um banco de dados do RDS para Db2. Essa abordagem funciona desde que exista conectividade de rede entre os dois bancos de dados. 

**Importante**  
O utilitário `INGEST` não comporta objetos grandes (LOBs). Em vez disso, use o [comando `IMPORT`](db2-native-db2-tools-import.md). 

Para usar o recurso `RESTARTABLE` do utilitário `INGEST`, execute o comando a seguir no banco de dados do RDS para Db2.

```
db2 "call sysproc.sysinstallobjects(‘INGEST’,‘C’,NULL,NULL)"
```

# Federação do Amazon RDS para Db2
<a name="db2-federation"></a>

É possível usar o banco de dados do Amazon RDS para Db2 como um banco de dados federado. Depois de configurar a federação para o RDS para Db2, você poderá acessar e consultar dados em vários bancos de dados do seu banco de dados do RDS para Db2. A federação evita que você precise migrar dados para o banco de dados do RDS para Db2 ou consolidar dados em um único banco de dados. 

Ao usar o banco de dados do RDS para Db2 como um banco de dados federado, é possível continuar acessando todos os recursos do RDS para Db2 e aproveitar vários Serviços da AWS, além de manter os dados em bancos de dados diferentes. É possível configurar a federação homogênea, que conecta diferentes bancos de dados do mesmo tipo, ou a federação heterogênea, que conecta bancos de dados diferentes de tipos diferentes.

Primeiro, é necessário conectar o banco de dados do Db2 no RDS para Db2 aos bancos de dados remotos. Depois, é possível executar consultas em todos os bancos de dados conectados. Por exemplo, é possível executar uma declaração SQL JOIN que una tabelas no banco de dados do RDS para Db2 com tabelas em um banco de dados do Db2 remoto no z/OS. 

**Topics**
+ [Federação homogênea](#db2-federation-homogeneous)
+ [Federação heterogênea](#db2-federation-heterogeneous)

## Federação homogênea
<a name="db2-federation-homogeneous"></a>

É possível configurar uma federação homogênea entre o banco de dados do RDS para Db2 e a seguinte família de produtos Db2:
+ Db2 para Linux, UNIX, Windows (LUW)
+ Db2 iSeries
+ Db2 para z/OS

A federação homogênea do RDS para Db2 não é compatível com as seguintes ações:
+ Executar comandos `CATALOG` para configurar um diretório de nós e um banco de dados remoto em um banco de dados host do RDS para Db2.
+ Configurar o balanceamento de workload (WLB) ao federar para o Db2 no z/OS.
+ Configurar o arquivo de configuração do driver do servidor de dados IBM (`db2dsdriver.cfg`).

A federação homogênea do RDS para Db2 tem os seguintes requisitos:
+ É necessário criar o wrapper DRDA no modo `UNFENCED`. Caso contrário, a federação não funcionará no RDS para Db2.
+ É necessário permitir o tráfego de entrada e de saída do banco de dados host do RDS para Db2 para os bancos de dados host remotos. Para obter mais informações, consulte [Fornecer acesso à instância de banco de dados na VPC criando um grupo de segurança](CHAP_SettingUp.md#CHAP_SettingUp.SecurityGroup).

**Topics**
+ [Etapa 1: Criar um wrapper DRDA e um servidor federado](#db2-federation-homogeneous-create)
+ [Etapa 2: Criar um mapeamento do usuário](#db2-federation-homogeneous-map)
+ [Etapa 3: Conferir a conexão](#db2-federation-homogeneous-check)

### Etapa 1: Criar um wrapper DRDA e um servidor federado
<a name="db2-federation-homogeneous-create"></a>

Em relação a uma federação homogênea, crie um wrapper DRDA e um servidor federado. A conexão com o host remoto usa `HOST`, `PORT` e `DBNAME`. 

Escolha um dos métodos a seguir com base no tipo do banco de dados do Db2 remoto:
+ **Banco de dados do Db2 para Linux, UNIX e Windows (LUX)**: execute os comandos SQL a seguir. No exemplo a seguir, substitua *server\$1name* pelo nome do servidor que você usará para federação. Substitua *db2\$1version* pela versão do banco de dados do Db2 remoto. Substitua *username* e *password* por suas credenciais para o banco de dados do Db2 remoto ao qual você deseja se conectar. Substitua *db\$1name*, *dns\$1name* e *port* pelos valores apropriados para o banco de dados do Db2 remoto ao qual você deseja se conectar.

  ```
  create wrapper drda options(DB2_FENCED 'N');
  create server server_name type DB2/LUW wrapper drda version 'db2_version' authorization "master_username" password "master_password" options (add DBNAME 'db_name',add HOST 'dns_name',add PORT 'port');
  ```

  **Exemplo**

  ```
  create wrapper drda options(DB2_FENCED 'N');
  create server SERVER1 type DB2/LUW wrapper drda version '11.5' authorization "sysuser" password "******" options (add DBNAME 'TESTDB2',add HOST 'ip-123-45-67-899.us-west-1.compute.internal',add PORT '25010');
  ```
+ **Db2 iSeries**: execute os comandos SQL a seguir. No exemplo a seguir, substitua *wrapper\$1name* e *library\$1name* por um nome para o wrapper DRDA e o [arquivo de biblioteca de wrapper](https://www.ibm.com/docs/en/db2/11.5?topic=wrapper-db2-library-files). Substitua *server\$1name* pelo nome do servidor que você usará para federação. Substitua *db2\$1version* pela versão do banco de dados do Db2 remoto. Substitua *username* e *password* por suas credenciais para o banco de dados do Db2 remoto ao qual você deseja se conectar. Substitua *dns\$1name*, *port* e *db\$1name* pelos valores apropriados para o banco de dados do Db2 remoto ao qual você deseja se conectar.

  ```
  create wrapper wrapper_name library 'library name' options(DB2_FENCED 'N');
  create server server_name type db2/mvs version db2_version wrapper wrapper_name authorization "sername" password "password" options (HOST 'dns_name', PORT 'port', DBNAME 'db_name');
  ```

  **Exemplo**

  ```
  create wrapper WRAPPER1 library 'libdb2drda.so' options(DB2_FENCED 'N');
  create server SERVER1 type db2/mvs version 11 wrapper WRAPPER1 authorization "sysuser" password "******" options (HOST 'test1.123.com', PORT '446', DBNAME 'STLEC1');
  ```
+ **Db2 para z/OS**: execute os comandos SQL a seguir. No exemplo a seguir, substitua *wrapper\$1name* e *library\$1name* por um nome para o wrapper DRDA e o [arquivo de biblioteca de wrapper](https://www.ibm.com/docs/en/db2/11.5?topic=wrapper-db2-library-files). Substitua *server\$1name* pelo nome do servidor que você usará para federação. Substitua *db2\$1version* pela versão do banco de dados do Db2 remoto. Substitua *username* e *password* por suas credenciais para o banco de dados do Db2 remoto ao qual você deseja se conectar. Substitua *dns\$1name*, *port* e *db\$1name* pelos valores apropriados para o banco de dados do Db2 remoto ao qual você deseja se conectar.

  ```
  create wrapper wrapper_name library 'library_name' options(DB2_FENCED 'N');
  create server server_name type db2/mvs version db2_version wrapper wrapper_name authorization "username" password "password" options (HOST 'dns_name', PORT 'port', DBNAME 'db_name');
  ```

  **Exemplo**

  ```
  create wrapper WRAPPER1 library 'libdb2drda.so' OPTIONS(DB2_FENCED 'N');
  create server SERVER1 type db2/mvs version 11 wrapper WRAPPER1 authorization "sysuser" password "******" options (HOST 'test1.123.com', PORT '446', DBNAME 'STLEC1');
  ```

### Etapa 2: Criar um mapeamento do usuário
<a name="db2-federation-homogeneous-map"></a>

Crie um mapeamento de usuário para associar o servidor federado ao servidor de fonte de dados executando o comando SQL a seguir. No exemplo a seguir, substitua *server\$1name* pelo nome do servidor remoto no qual você deseja realizar as operações. Esse é o servidor que você criou na [etapa 1](#db2-federation-homogeneous-create). Substitua *username* e *password* pelas suas credenciais para esse servidor remoto.

```
create user mapping for user server server_name options (REMOTE_AUTHID 'username', REMOTE_PASSWORD 'password');
```

Para ter mais informações, consulte [User mappings](https://www.ibm.com/docs/en/db2/11.5?topic=systems-user-mappings) na documentação do IBM Db2.

### Etapa 3: Conferir a conexão
<a name="db2-federation-homogeneous-check"></a>

Confirme se a configuração da federação foi bem-sucedida conferindo a conexão. Abra uma sessão para enviar comandos SQL nativos à sua fonte de dados remota usando o comando SET PASSTHRU e, depois, crie uma tabela no servidor de dados remoto.

1. Abra e feche uma sessão para enviar SQL a uma fonte de dados. No exemplo a seguir, substitua *server\$1name* pelo nome do servidor que você criou para federação na etapa 1.

   ```
   set passthru server_name;
   ```

1. Crie uma tabela. No exemplo a seguir, substitua *column\$1name*, *data\$1type* e *value* pelos itens apropriados para sua tabela.

   ```
   create table table_name ( column_name data_type(value), column_name data_type(value);
   ```

    Para ter mais informações, consulte [CREATE TABLE statement](https://www.ibm.com/docs/en/db2-event-store/2.0.0?topic=statements-create-table) na documentação do IBM Db2.

1. Crie um índice, insira valores para linhas na tabela e redefina a conexão. A redefinição da conexão interrompe a conexão, mas retém os processos de back-end. No exemplo a seguir, substitua *index\$1name*, *table\$1name*, *column\$1value* e *columnx\$1value* por suas informações. 

   ```
   create index index_name on table_name(column_name);
   insert into table_name values(column1_value,column2_value,column3_value);
   insert into table_name values(column1_value,column2_value,column3_value);
   set passthru reset;
   
   connect reset;
   ```

1. Conecte-se ao seu banco de dados do Db2 remoto, crie um apelido para seu servidor remoto e execute operações. Quando terminar de acessar os dados no banco de dados do Db2 remoto, redefina e encerre a conexão. No exemplo a seguir, substitua *database\$1name* pelo nome do banco de dados do Db2 remoto. Substitua *nickname* por um nome. Substitua *server\$1name* e *table\$1name* pelo nome do servidor remoto e da tabela no servidor em que você deseja realizar operações. Substitua *username* pelas informações do seu servidor remoto. Substitua *sql\$1command* pela operação a ser executada no servidor remoto.

   ```
   connect to database_name;
   create nickname nickname for server_name."username"."table_name";
   select sql_command from nickname;
   connect reset;
   terminate;
   ```

**Exemplo**

O exemplo a seguir cria uma sessão de passagem para permitir operações no servidor federado `testdb10`. 

Depois, ele cria a tabela `t1` com três colunas com diferentes tipos de dados. 

Depois, o exemplo cria o índice `i1_t1` em três colunas na tabela `t1`. Depois, ele insere duas linhas com valores para essas três colunas e então se desconecta.

Por último, o exemplo se conecta ao banco de dados do Db2 remoto `testdb2` e cria um apelido para a tabela ` t1` no servidor federado `testdb10`. Ele cria o apelido com o nome de usuário `TESTUSER` dessa fonte de dados. Um comando SQL gera todos os dados da tabela `t1`. O exemplo desconecta e encerra a sessão.

```
set passthru testdbl0;

create table t1 ( c1 decimal(13,0), c2 char(200), c3 int);

create index i1_t1 on t1(c3);
insert into t1 values(1,'Test',1);
insert into t1 values(2,'Test 2',2);
connect reset;

connect to testdb2;
create nickname remote_t1 for testdbl0."TESTUSER"."T1";
select * from remote_t1;
connect reset;
terminate;
```

## Federação heterogênea
<a name="db2-federation-heterogeneous"></a>

É possível configurar uma federação heterogênea entre o banco de dados do RDS para Db2 e outras fontes de dados, como Oracle e Microsoft SQL Server. Para ter uma lista completa das fontes de dados que o Db2 LUW comporta, consulte [Data Source Support Matrix of Federation Bundled in Db2 LUW V11.5](https://www.ibm.com/support/pages/data-source-support-matrix-federation-bundled-db2-luw-v115) no site de suporte da IBM.

A federação heterogênea do RDS para Db2 não é compatível com os seguintes itens:
+ Wrappers nativos para as outras fontes de dados.
+ Wrappers JDBC para as outras fontes de dados.
+ Federação para fontes de dados Sybase, Informix e Teradata porque essas fontes de dados exigem instalação de software-cliente no RDS para Db2

A federação heterogênea do RDS para Db2 tem os seguintes requisitos:
+ O RDS para Db2 é compatível com o método de wrapper ODBC.
+ Se você criar uma definição explícita de um wrapper, deverá definir a opção `DB2_FENCED` como `'N'`. Para ter uma lista de opções de wrapper válidas para ODBC, consulte [ODBC options](https://www.ibm.com/docs/en/db2/11.5?topic=options-odbc) na documentação do IBM Db2.
+ É necessário permitir o tráfego de entrada e de saída do banco de dados host do RDS para Db2 para o banco de dados host remoto. Para obter mais informações, consulte [Fornecer acesso à instância de banco de dados na VPC criando um grupo de segurança](CHAP_SettingUp.md#CHAP_SettingUp.SecurityGroup).

Para ter informações sobre federação para Oracle, consulte [How to query Oracle by using Db2 Federation and the ODBC driver?](https://www.ibm.com/support/pages/node/6431133) no site de suporte da IBM.

Para ter mais informações sobre fontes de dados que comportam a federação, consulte [Data Source Support Matrix of Federation Bundled in Db2 LUW V11.5](https://www.ibm.com/support/pages/node/957245) no site de suporte da IBM.

**Topics**
+ [Etapa 1: Criar um wrapper ODBC](#db2-federation-heteogenous-define-wrapper)
+ [Etapa 2: Criar um servidor federado](#db2-federation-heterogeneous-create)
+ [Etapa 3: Criar um mapeamento do usuário](#db2-federation-heterogeneous-map)
+ [Etapa 4: Conferir a conexão](#db2-federation-heterogeneous-check)

### Etapa 1: Criar um wrapper ODBC
<a name="db2-federation-heteogenous-define-wrapper"></a>

Crie um wrapper executando o seguinte comando:

```
db2 "create wrapper odbc options( module '/home/rdsdb/sqllib/federation/odbc/lib/libodbc.so')"
```

### Etapa 2: Criar um servidor federado
<a name="db2-federation-heterogeneous-create"></a>

Crie um servidor federado executando o comando a seguir. No exemplo a seguir, substitua *server\$1name* pelo nome do servidor que você usará para federação. Substitua *wrapper\$1type* pelo wrapper apropriado. Substitua *db\$1version* pela versão do banco de dados remoto. Substitua *dns\$1name*, *port* e *service\$1name* pelos valores apropriados para o banco de dados remoto ao qual você deseja se conectar. 

```
db2 "create server server_name type wrapper_type version db_version options (HOST 'dns_name', PORT 'port', SERVICE_NAME 'service_name')“
```

Para ter informações sobre tipos de wrapper, consulte [Data Source Support Matrix of Federation Bundled in Db2 LUW V11.5](https://www.ibm.com/support/pages/node/957245) no site de suporte da IBM.

**Exemplo**

O exemplo a seguir cria um servidor federado para um banco de dados Oracle remoto.

```
db2 "create server server1 type oracle_odbc version 12.1 options (HOST 'test1.amazon.com', PORT '1521', SERVICE_NAME 'pdborcl.amazon.com')“
```

### Etapa 3: Criar um mapeamento do usuário
<a name="db2-federation-heterogeneous-map"></a>

Crie um mapeamento de usuário para associar o servidor federado ao servidor de fonte de dados executando o comando SQL a seguir. No exemplo a seguir, substitua *server\$1name* pelo nome do servidor remoto no qual você deseja realizar as operações. Esse é o servidor que você criou na [etapa 2](#db2-federation-heterogeneous-create). Substitua *username* e *password* pelas suas credenciais para esse servidor remoto.

```
create user mapping for user server server_name options (REMOTE_AUTHID 'username', REMOTE_PASSWORD 'password');
```

Para ter mais informações, consulte [User mappings](https://www.ibm.com/docs/en/db2/11.5?topic=systems-user-mappings) na documentação do IBM Db2.

### Etapa 4: Conferir a conexão
<a name="db2-federation-heterogeneous-check"></a>

Confirme se a configuração da federação foi bem-sucedida conferindo a conexão. Abra uma sessão para enviar comandos SQL nativos à sua fonte de dados remota usando o comando SET PASSTHRU e, depois, crie uma tabela no servidor de dados remoto.

1. Abra e feche uma sessão para enviar SQL a uma fonte de dados. No exemplo a seguir, substitua *server\$1name* pelo nome do servidor que você criou para federação na [etapa 2](#db2-federation-heterogeneous-create).

   ```
   set passthru server_name;
   ```

1. Crie uma tabela. No exemplo a seguir, substitua *column\$1name*, *data\$1type* e *value* pelos itens apropriados para sua tabela.

   ```
   create table table_name ( column_name data_type(value), column_name data_type(value);
   ```

    Para ter mais informações, consulte [CREATE TABLE statement](https://www.ibm.com/docs/en/db2-event-store/2.0.0?topic=statements-create-table) na documentação do IBM Db2.

1. Crie um índice, insira valores para linhas na tabela e redefina a conexão. A redefinição da conexão interrompe a conexão, mas retém os processos de back-end. No exemplo a seguir, substitua *index\$1name*, *table\$1name*, *column\$1value* e *columnx\$1value* por suas informações. 

   ```
   create index index_name on table_name(column_name);
   insert into table_name values(column1_value,column2_value,column3_value);
   insert into table_name values(column1_value,column2_value,column3_value);
   set passthru reset;
   
   connect reset;
   ```

1. Conecte-se ao seu banco de dados do Db2 remoto, crie um apelido para seu servidor remoto e execute operações. Quando terminar de acessar os dados no banco de dados do Db2 remoto, redefina e encerre a conexão. No exemplo a seguir, substitua *database\$1name* pelo nome do banco de dados do Db2 remoto. Substitua *nickname* por um nome. Substitua *server\$1name* e *table\$1name* pelo nome do servidor remoto e da tabela no servidor em que você deseja realizar operações. Substitua *username* pelas informações do seu servidor remoto. Substitua *sql\$1command* pela operação a ser executada no servidor remoto.

   ```
   connect to database_name;
   create nickname nickname for server_name."username"."table_name";
   select sql_command from nickname;
   connect reset;
   terminate;
   ```

**Exemplo**

O exemplo a seguir cria uma sessão de passagem para permitir operações no servidor federado `testdb10`. 

Depois, ele cria a tabela `t1` com três colunas com diferentes tipos de dados. 

Depois, o exemplo cria o índice `i1_t1` em três colunas na tabela `t1`. Depois, ele insere duas linhas com valores para essas três colunas e então se desconecta.

Por último, o exemplo se conecta ao banco de dados do Db2 remoto `testdb2` e cria um apelido para a tabela ` t1` no servidor federado `testdb10`. Ele cria o apelido com o nome de usuário `TESTUSER` dessa fonte de dados. Um comando SQL gera todos os dados da tabela `t1`. O exemplo desconecta e encerra a sessão.

```
set passthru testdbl0;

create table t1 ( c1 decimal(13,0), c2 char(200), c3 int);

create index i1_t1 on t1(c3);
insert into t1 values(1,'Test',1);
insert into t1 values(2,'Test 2',2);
connect reset;

connect to testdb2;
create nickname remote_t1 for testdbl0."TESTUSER"."T1";
select * from remote_t1;
connect reset;
terminate;
```

# Trabalhar com réplicas para o Amazon RDS para Db2
<a name="db2-replication"></a>

O RDS para Db2 aceita a criação de bancos de dados de réplica para fornecer recursos de escalabilidade de leitura e recuperação de desastres. Você pode criar réplicas em dois modos: réplicas somente para leitura para automatizar workloads de leitura e réplicas em espera para recuperação de desastres entre regiões. O RDS para Db2 usa Recuperação de Desastres de Alta Disponibilidade (HADR) do IBM Db2 para replicação. Para obter mais informações, consulte [High availability disaster recovery (HADR)](https://www.ibm.com/docs/en/db2/11.5?topic=server-high-availability-disaster-recovery-hadr) na IBM Db2documentação.

Um banco de dados de *réplica do Db2* é uma cópia física do seu banco de dados primário. Uma réplica do Db2 no modo somente leitura é chamada de *réplica de leitura*. Uma réplica do Db2 no modo de espera é chamada de *réplica em espera*. O Db2 não permite gravações em uma réplica, mas é possível promover uma réplica para torná-la gravável. A réplica promovida terá os dados replicados para o ponto quando a solicitação foi feita para promovê-la. Para obter mais informações, consulte [Promoção de uma réplica de leitura a uma instância de banco de dados autônoma](USER_ReadRepl.Promote.md).

Para ver um resumo dos recursos e dos comportamentos de réplicas do RDS para Db2, consulte [Diferenças entre réplicas de leitura para mecanismos de banco de dados](USER_ReadRepl.Overview.Differences.md).

## Réplicas somente leitura e em espera
<a name="db2-read-replicas.overview.modes"></a>

Ao criar ou modificar uma réplica do Db2, você pode colocá-la em um dos seguintes modos:

**Somente leitura**  
Esse é o padrão. O HADR transmite e aplica alterações do banco de dados de origem a todos os bancos de dados da réplica de leitura. No caso de réplicas somente leitura, a variável de ambiente do Db2 `DB2_HADR_ROS` é definida como `ON`. O nível de isolamento para consultas de leitura no banco de dados de réplica é `Uncommitted Read`. Para acessar mais informações, consulte [Isolation level on the active standby database](https://www.ibm.com/docs/en/db2/11.5?topic=standby-isolation-level-active-database) na documentação do IBM Db2.  
Para obter informações gerais sobre réplicas de leitura que se aplicam a todos os mecanismos de banco de dados, consulte [Trabalhar com réplicas de leitura de instância de banco de dados](USER_ReadRepl.md). Para acessar mais informações, consulte [High availability disaster recovery (HADR)](https://www.ibm.com/docs/en/db2/11.5?topic=server-high-availability-disaster-recovery-hadr) na documentação do IBM Db2.

 **Em espera**  
Para réplicas em espera, a variável de ambiente do Db2 `DB2_HADR_ROS` é definida como `OFF` de forma que os bancos de dados de réplica não aceitem conexões de usuário. O principal uso para réplicas em espera é a recuperação de desastres entre regiões.  
Uma réplica em espera não pode atender a uma workload somente leitura. A réplica em espera não tem nenhum log de arquivo.

Você pode criar até três réplicas de uma instância de banco de dados de origem. É possível criar uma combinação de réplicas de banco de dados somente leitura e em espera para a mesma instância de banco de dados de origem. Depois de criar uma réplica, você pode alterar o modo dela. Para acessar mais informações, consulte [Modificar o modo da réplica do RDS para Db2](db2-replicas-changing-replica-mode.md). 

Antes de criar réplicas, garanta que todos os requisitos sejam atendidos. Para obter mais informações, consulte [Requisitos e considerações sobre réplicas do RDS para Db2](db2-read-replicas.limitations.md).

## Ativações do banco de dados
<a name="db2-read-replicas.overview.database-activations"></a>

O HADR do Db2 é configurado no nível do banco de dados. Depois de criar réplicas, o HADR é definido para todos os bancos de dados Db2, inclusive `rdsadmin`, que o RDS gerencia totalmente. Antes de criar réplicas do Db2, você deve ativar explicitamente todos os bancos de dados. Caso contrário, a criação de réplicas falhará e o Amazon RDS emitirá um evento. Depois que uma instância de banco de dados tiver uma ou mais réplicas, você não poderá ativar ou desativar nenhum banco de dados na instância de banco de dados usando os procedimentos armazenados `rdsadmin.activate_database` ou `rdsadmin.deactivate_database`. Para obter mais informações, consulte [Procedimentos armazenados para bancos de dados do RDS para Db2](db2-sp-managing-databases.md).

## Configurações de HADR
<a name="db2-read-replicas.overview.hadr-configurations"></a>

Você pode ver todas as configurações de HADR de um banco de dados conectando-se ao banco de dados e depois executando `db2 get db cfg`. 

## Arquivar retenção de logs
<a name="db2-read-replicas.overview.log-retention"></a>

O Amazon RDS limpará os logs de uma instância de banco de dados primária depois que as seguintes condições forem atendidas:
+ Os logs têm pelo menos duas horas.
+ A configuração para o período de retenção para os logs de arquivo expirou.
+ Os logs de arquivamento foram replicados com sucesso em todas as instâncias de banco de dados de réplica. Essa condição se aplica tanto às instâncias de banco de dados na mesma Região da AWS quanto às instâncias de banco de dados entre regiões. 

Para obter informações sobre como definir horas de retenção de log de arquivamento, consulte [rdsadmin.set\$1archive\$1log\$1retention](db2-sp-managing-databases.md#db2-sp-set-archive-log-retention).

O Amazon RDS verifica e limpa cada banco de dados individualmente. Se um banco de dados perder a conexão HADR ou se as informações sobre a conexão não estiverem disponíveis, o Amazon RDS ignorará o banco de dados e não limpará os logs de arquivamento.

## Interrupções durante a replicação do Db2
<a name="db2-read-replicas.overview.outages"></a>

Ao criar uma réplica, o Amazon RDS faz um snapshot do banco de dados da sua instância de banco de dados de origem e inicia a replicação. Quando a operação de snapshot do banco de dados se inicia, a instância de banco de dados de origem sofre uma suspensão de E/S muito breve. A suspensão de E/S geralmente dura um segundo. No entanto, se a instância de banco de dados de origem for uma implantação Multi-AZ, a instância de banco de dados de origem não sofrerá nenhuma suspensão de E/S. Isso ocorre porque, com implantações Multi-AZ, o snapshot é obtido da instância de banco de dados secundária.

O snapshot de banco de dados torna-se a réplica do Db2. O Amazon RDS define as permissões e os parâmetros necessários para o banco de dados de origem e para a réplica sem interrupção do serviço. Da mesma forma, se você excluir uma réplica, nenhuma interrupção ocorrerá.

# Requisitos e considerações sobre réplicas do RDS para Db2
<a name="db2-read-replicas.limitations"></a>

Os requisitos de réplica do Db2 se enquadram em várias categorias: licenciamento e versionamento, considerações de backup e restauração, comportamento de replicação e considerações operacionais gerais. Antes de criar uma réplica do Oracle, familiarize-se com os seguintes requisitos e considerações.

## Requisitos de versão e licenciamento para réplicas do RDS para Db2
<a name="db2-read-replicas.limitations.versions-and-licenses"></a>

Antes de criar uma réplica do RDS para Db2, analise as seguintes informações sobre versões e modelos de licenciamento:
+ **Versões aceitas**: todas as versões do Db2 11.5 aceitam instâncias de banco de dados de réplica. 

  As instâncias de banco de dados de origem e réplica devem usar a mesma versão principal. As réplicas do Db2 comportam atualizações de versões secundárias, mas não atualizações de versões principais. Para acessar informações sobre como atualizar instâncias de banco de dados, consulte [Atualizar a versão de mecanismo de uma instância de banco de dados ](USER_UpgradeDBInstance.Upgrading.md).
**nota**  
Quando você atualiza uma instância de banco de dados de origem, todas as réplicas são atualizadas automaticamente para manter a compatibilidade das versões.
+ **Modelos de licença válidos e modos de réplica**: tanto o Db2 Advanced Edition (AE) quanto o Standard Edition (SE) podem criar réplicas somente leitura ou em espera tanto para o modelo traga a sua própria licença (BYOL) quanto para o modelo de licença do Db2 por meio do modelo AWS Marketplace.
+ **Grupo de parâmetros personalizado**: é necessário especificar um grupo de parâmetros personalizado para a réplica. 

  Para réplicas que usam o modelo BYOL, esse grupo de parâmetros personalizados deve incluir seu IBM Site ID e IBM Customer ID. Para obter mais informações, consulte [IDs da IBM para traga a sua própria licença (BYOL) para o Db2](db2-licensing.md#db2-prereqs-ibm-info). Você pode especificar esse grupo de parâmetros personalizado para a réplica usando o Console de gerenciamento da AWS, a AWS CLI ou a API do RDS. 
+ A **contagem de vCPUs** varia de acordo com o modo de réplica e o modelo de licenciamento:
  + As **réplicas em espera** sempre usam duas vCPUs, independentemente do tamanho da instância de banco de dados.
    + **Modelo BYOL**: as configurações de AWS License Manager mostram que as instâncias de banco de dados do RDS para Db2 usam duas vCPUs.
    + **Modelo de licença do Db2 por meio do AWS Marketplace**, as faturas exibem os custos de licença de duas vCPUs.
  + As **réplicas somente leitura** usam a mesma contagem de vCPUs que o tamanho da instância de banco de dados.
    + **Modelo BYOL**: as configurações do AWS License Manager mostram que as instâncias de banco de dados do RDS para Db2 usam o mesmo número de vCPUs que correspondem ao tamanho da instância de banco de dados.
    + **Licença do Db2 por meio do modelo AWS Marketplace**: as contas refletem os custos de licença para o mesmo número de vCPUs que correspondem ao tamanho da instância de banco de dados.

## Considerações sobre backup e restauração de réplicas do RDS para Db2
<a name="db2-read-replicas.limitations.backups"></a>

Os backups de réplicas têm um comportamento diferente dos backups do banco de dados primário. Pense nos seguintes requisitos de backup e restauração:
+ Para criar snapshots de réplicas do RDS para Db2 ou ativar backups automáticos, defina o período de retenção de backup manualmente. Por padrão, os backups automáticos não estão ativados.
+ Ao restaurar um backup de réplica, você restaura para a hora do banco de dados, não para a hora de criação do backup. A hora do banco de dados se refere ao horário de transação mais recente aplicado dos dados no backup. A diferença é significativa porque uma réplica pode apresentar atraso de minutos ou horas em relação ao banco de dados primário. Quando há vários bancos de dados, o RDS para Db2 usa o horário mais antigo do banco de dados.

  Para descobrir a diferença, execute o comando AWS CLI [describe-db-snapshots](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-snapshots.html) ou chame a operação [DescribeDBSnapshots](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBSnapshots.html) da API do RDS. Compare o valor `SnapshotDatabaseTime` com o valor `OriginalSnapshotCreateTime`. O valor `SnapshotDatabaseTime` é o horário do banco de dados do backup da réplica. O valor `OriginalSnapshotCreateTime` é a última transação aplicada no banco de dados primário.

Para acessar informações sobre backups e como restaurá-los, consulte [Como trabalhar com backups de réplicas do RDS para Db2](db2-read-replicas.backups.md).

## Considerações sobre replicação para réplicas do RDS para Db2
<a name="db2-read-replicas.limitations.replication"></a>

As réplicas do Db2 usam a tecnologia HADR com limitações e comportamentos específicos. Analise as seguintes considerações sobre replicação:
+ A replicação usa Db2 HADR para todos os bancos de dados na instância de banco de dados do RDS para Db2.
+ A replicação não suporta o comando `LOAD`. Se você executar o comando `LOAD` a partir da instância de banco de dados de origem, receberá dados inconsistentes.
+ O RDS para Db2 não replica os seguintes itens: 
  + Acesso ao armazenamento. Esteja ciente de dados, como tabelas externas, que dependem do acesso ao armazenamento.
  + LOBs que não são em linha e não registrados em log.
  + Binários de procedimentos armazenados externos (em C ou Java).
+ Para réplicas em espera, o RDS para Db2 replica os seguintes itens: 
  + Usuários locais, exceto usuários mestres
  + Parâmetros de configuração do banco de dados
+ Para réplicas somente leitura, o RDS para Db2 replica os seguintes itens:
  + Usuários locais, exceto usuários mestres
  + Mapeamentos do grupo de SID

## Considerações diversas sobre réplicas do RDS para Db2
<a name="db2-read-replicas.limitations.miscellaneous"></a>

Considerações operacionais adicionais se aplicam às réplicas do Db2. Analise os seguintes itens:
+ O RDS para Db2 replica as configurações do banco de dados para as réplicas. Quando o RDS para Db2 promove uma réplica, ele desativa e ativa cada banco de dados.
+ O RDS para Db2 replica os usuários locais, mas não o usuário mestre, e os mapeamentos do grupo SID nas réplicas. Você pode modificar o usuário mestre na réplica. Para obter mais informações, consulte [Modificar uma instância de banco de dados do Amazon RDS](Overview.DBInstance.Modifying.md).
+ Todos os bancos de dados devem estar em um estado ativo. Para obter informações sobre como ativar banco de dados, consulte [Procedimentos armazenados para bancos de dados do RDS para Db2](db2-sp-managing-databases.md).
+ Todos os procedimentos armazenados para criar, eliminar, restaurar ou avançar bancos de dados devem ser concluídos antes da criação de uma réplica. Para obter informações sobre esses procedimentos armazenados, consulte [Procedimentos armazenados para bancos de dados do RDS para Db2](db2-sp-managing-databases.md).
+ Quando a réplica é criada, o Amazon RDS define o parâmetro em nível de banco de dados `blocknonlogged` para todos os bancos de dados na instância de banco de dados de origem como `YES`. Quando a réplica de origem se torna novamente uma instância independente, o Amazon RDS redefine o valor para `NO`. Para obter mais informações, consulte [blocknonlogged - Block creation of tables that allow non-logged activity configuration parameter](https://www.ibm.com/docs/en/db2/11.1?topic=dcp-blocknonlogged-block-creation-tables-that-allow-non-logged-activity) na documentação do IBM Db2.
+ Quando a réplica é criada, o Amazon RDS define o parâmetro em nível de banco de dados `logindexbuild` para todos os bancos de dados na instância de banco de dados de origem como `YES`. Quando a réplica de origem se torna novamente uma instância independente, o Amazon RDS redefine o valor para `NO`. Para obter mais informações, consulte [logindexbuild - Log index pages created configuration parameter](https://www.ibm.com/docs/en/db2/11.1?topic=parameters-logindexbuild-log-index-pages-created) na documentação do IBM Db2.

# Preparar-se para criar uma réplica do RDS para Db2
<a name="db2-read-replicas.Configuration"></a>

Antes de criar uma réplica do RDS para Db2, você deve concluir as tarefas a seguir para uma replicação bem-sucedida. Estas tarefas ajudam a evitar problemas comuns e a garantir a performance ideal.

## Tarefa 1: habilitar backups automáticos
<a name="db2-read-replicas.configuration.autobackups"></a>

Antes que uma instância de banco de dados possa servir como uma instância de banco de dados de origem, você deve habilitar backups automáticos na instância de banco de dados de origem. Isso é um pré-requisito para todas as operações de criação de réplica. Para saber como executar esse procedimento, consulte [Ativar backups automáticos](USER_WorkingWithAutomatedBackups.Enabling.md).

Para acessar informações sobre backups específicos para réplicas do Db2, consulte [Como trabalhar com backups de réplicas do RDS para Db2](db2-read-replicas.backups.md).

## Tarefa 2: planejar recursos de computação e armazenamento
<a name="db2-read-replicas.configuration.planning-resources"></a>

Verifique se a instância de banco de dados de origem e suas réplicas estão dimensionadas corretamente, em termos de computação e armazenamento, para atender às suas cargas operacionais. Se uma réplica atingir a capacidade de recursos de computação, rede ou armazenamento, a réplica deixará de receber ou aplicar alterações de sua origem. Para acessar informações sobre o monitoramento da performance da réplica e da utilização de recursos, consulte [Monitoramento da replicação de leitura](USER_ReadRepl.Monitoring.md). 

O RDS para Db2 não intervém para atenuar atrasos altos de replicação entre uma instância de banco de dados de origem e suas réplicas. Se você tiver um alto atraso na réplica, consulte [Monitoramento de atraso da replicação do Db2](db2-troubleshooting-replicas.md#db2-troubleshooting-replicas-lag) para receber orientação sobre solução de problemas. 

É possível modificar os recursos de armazenamento e de CPU de uma réplica independentemente de sua origem e de outras réplicas. Para obter mais informações, consulte [Modificar uma instância de banco de dados do Amazon RDS](Overview.DBInstance.Modifying.md).

## Tarefa 3: preparar bancos de dados
<a name="db2-read-replicas.configuration.activate-databases"></a>

Antes de criar uma réplica, confirme se seus bancos de dados estão prontos com base nos seguintes pontos:
+ A instância de banco de dados contém todos os bancos de dados que você deseja que estejam presentes na instância de banco de dados. Após a criação da réplica, você não pode criar, excluir ou restaurar nativamente um banco de dados na instância de banco de dados. Todas as chamadas para os procedimentos armazenados [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database), [rdsadmin.drop\$1database](db2-sp-managing-databases.md#db2-sp-drop-database) ou [rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database) falham.
+ Todos os bancos de dados na instância de banco de dados estão em um estado ativo. Se algum banco de dados estiver em um estado inativo, a criação da réplica falhará. Para obter informações sobre como ativar banco de dados, consulte [Procedimentos armazenados para bancos de dados do RDS para Db2](db2-sp-managing-databases.md).

## Próximas etapas
<a name="db2-read-replicas-configuration-next-steps"></a>

Quando terminar de concluir todas as tarefas de preparação, você poderá criar uma réplica do Db2.
+ Para criar uma réplica somente leitura, consulte [Como criar uma réplica de leitura](USER_ReadRepl.Create.md).
+ Para criar uma réplica em espera, consulte [Criação de uma réplica do Db2 em espera](db2-read-replicas.creating-in-standby-mode.md).

# Criar uma réplica do RDS para Db2 no modo de espera
<a name="db2-read-replicas.creating-in-standby-mode"></a>

Por padrão, as réplicas do Db2 são criadas no modo somente leitura. É possível criar uma réplica no modo de espera para fins de recuperação de desastres. As réplicas em espera não aceitam conexões de usuários, mas fornecem recursos de failover mais rápidos para cenários entre regiões.

Antes de criar uma réplica em espera, garanta que você tenha cumprido as tarefas de preparação. Para obter mais informações, consulte [Preparar-se para criar uma réplica do RDS para Db2](db2-read-replicas.Configuration.md). Depois de criar uma réplica em espera, é possível modificar o modo da réplica. Para obter mais informações, consulte [Modificar o modo da réplica do RDS para Db2](db2-replicas-changing-replica-mode.md).

É possível criar uma réplica em modo de espera usando o Console de gerenciamento da AWS, a AWS CLI ou a API do RDS. Para acessar informações sobre como criar uma réplica somente leitura, consulte [Como criar uma réplica de leitura](USER_ReadRepl.Create.md).

## Console
<a name="db2-read-replicas.creating-in-standby-mode.console"></a>

**Para criar uma réplica em espera a partir de uma instância de banco de dados de origem do RDS para Db2**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Bancos de dados**.

1. Escolha a instância de banco de dados do RDS para Db2 que você deseja usar como a origem da réplica em espera.

1. Em **Actions (Ações)**, escolha **Create replica (Criar réplica)**. 

1. Em **Replica mode** (Modo de réplica), escolha **Standby** (Em espera).

1. Escolha as configurações que deseja usar. Em **Identificador da instância de banco de dados**, insira um nome para a réplica em espera. Ajuste outras configurações, conforme necessário.

1. Em **Regions** (Regiões), escolha Região da AWS onde a réplica em espera será iniciada. 

1. Escolha o tamanho da instância e o tipo de armazenamento. Recomendamos que você use a classe de instância de banco de dados e o tipo de armazenamento iguais aos da instância de banco de dados de origem na réplica em espera.

1. Em **Multi-AZ deployment** (Implantação Multi-AZ), escolha **Create a standby instance** (Criar uma instância de espera) para criar uma versão de espera de sua réplica em outra zona de disponibilidade a fim de oferecer suporte de failover para a réplica em espera.

1. Escolha as outras configurações que deseja usar.

1. Escolha **Create replica (Criar réplica)**.

Na página **Databases** (Bancos de dados), a réplica em espera tem a função **Replica** (Réplica).

## AWS CLI
<a name="db2-read-replicas.creating-in-standby-mode.cli"></a>

Para criar uma réplica do Db2 no modo em espera, defina o comando [create-db-instance-read-replica](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance-read-replica.html) da AWS CLI com `--replica-mode` definido como `mounted`.

**Example**  
Para Linux, macOS ou Unix:  

```
aws rds create-db-instance-read-replica \
    --db-instance-identifier my_standby_replica \
    --source-db-instance-identifier my_db_instance \
    --replica-mode mounted
```
Para Windows:  

```
aws rds create-db-instance-read-replica ^
    --db-instance-identifier my_standby_replica ^
    --source-db-instance-identifier my_db_instance ^
    --replica-mode mounted
```

## API do RDS
<a name="db2-read-replicas.creating-in-standby-mode.api"></a>

Para criar uma réplica do Db2 no modo em espera, especifique `ReplicaMode=mounted` na operação de API [CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) do RDS.

# Modificar o modo da réplica do RDS para Db2
<a name="db2-replicas-changing-replica-mode"></a>

Você pode alterar o modo da réplica do Db2 existente entre os modos somente leitura e em espera. Essa flexibilidade permite que você adapte sua configuração de réplica com base nas mudanças nos requisitos de workloads de leitura ou nas necessidades de recuperação de desastres. 

Convém alterar os modos da réplica em um dos seguintes cenários:
+ **De somente leitura para em espera**: quando você não precisa mais da capacidade de leitura, mas quer manter os recursos de recuperação de desastres
+ **De em espera para somente leitura**: quando você precisa adicionar capacidade de leitura para workloads de relatórios ou analytics.

Antes de alterar os modos da réplica, garanta que as seguintes condições sejam atendidas:
+ A réplica está em um estado disponível.
+ Nenhuma operação de manutenção ativa está sendo executada na réplica.
+ Você tem as permissões necessárias para modificar a instância de banco de dados.

A operação de alteração pode levar alguns minutos. Durante a operação, o status da instância de banco de dados muda para **modifying (modificando)**. Para obter mais informações sobre alterações de status, consulte [Visualizar o status de uma instância de banco de dados do Amazon RDS](accessing-monitoring.md#Overview.DBInstance.Status). Quando você altera do modo somente leitura para o modo em espera, a réplica desconecta todas as conexões ativas. 

**Importante**  
Como a alteração dos modos de réplica interrompe temporariamente o serviço, planeje a alteração durante uma janela de manutenção a fim de minimizar o impacto em suas aplicações.

Você pode modificar o modo de uma réplica usando o Console de gerenciamento da AWS, a AWS CLI ou a API do RDS.

## Console
<a name="db2-replicas-changing-replica-mode-console"></a>

**Como alterar o modo de uma réplica do Db2**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Bancos de dados**.

1. Escolha o banco de dados de réplica que você deseja modificar.

1. Escolha **Modificar**.

1. Em **Modo de réplica**, escolha o modo desejado:
   + **Somente leitura**: para workloads de leitura
   + **Em espera**: para recuperação de desastres

1. Escolha as outras configurações que deseja alterar.

1. Escolha **Continue**.

1. Em **Scheduling of modifications (Programação de modificações)**, selecione **Apply immediately (Aplicar imediatamente)**.

1. Selecione **Modify DB instance (Modificar instância de banco de dados)**.

1. Depois que a modificação for concluída, verifique a alteração do modo de réplica na página **Bancos de dados**. O status da réplica deverá ser exibido como **Disponível** quando a alteração for concluída.

## AWS CLI
<a name="db2-replicas-changing-replica-mode-cli"></a>

Para alterar uma réplica do Db2 do modo somente leitura para o modo em espera, defina `--replica-mode` como `mounted` no comando [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) da AWS CLI. Para alterar uma réplica do Db2 do modo em espera para o modo somente leitura, defina `--replica-mode` como `open-read-only`.

O exemplo a seguir altera uma réplica do modo somente leitura para o modo em espera:

**Example**  
Para Linux, macOS ou Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier my_db2_replica \
    --replica-mode mounted
```
Para Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier my_db2_replica ^
    --replica-mode mounted
```

O exemplo a seguir altera uma réplica do modo em espera para o modo somente leitura:

**Example**  
Para Linux, macOS ou Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier my_db2_replica \
    --replica-mode open-read-only
```
Para Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier my_db2_replica ^
    --replica-mode open-read-only
```

## API do RDS
<a name="db2-replicas-changing-replica-mode-api"></a>

Para alterar uma réplica do Db2 do modo somente leitura para o modo em espera, defina `ReplicaMode=mounted` em [ModifyDBInstance](AmazonRDS/latest/APIReference/API_ModifyDBInstance.html). Para alterar uma réplica do Db2 do modo em espera para o modo somente leitura, defina `ReplicaMode=open-read-only`.

O seguinte exemplo é de uma chamada de API para alterar o modo da réplica de somente leitura para em espera:

```
{
    "DBInstanceIdentifier": "my_db2_replica",
    "ReplicaMode": "mounted",
    "ApplyImmediately": true
}
```

O seguinte exemplo é de uma chamada de API para alterar o modo da réplica de em espera para somente leitura:

```
{
    "DBInstanceIdentifier": "my_db2_replica",
    "ReplicaMode": "open-read-only",
    "ApplyImmediately": true
}
```

Para acessar informações sobre as diferenças entre modos de réplica, consulte [Trabalhar com réplicas para o Amazon RDS para Db2](db2-replication.md). Para solucionar problemas de réplica, consulte [Solução de problemas de replicação do RDS para Db2](db2-troubleshooting-replicas.md).

# Como trabalhar com backups de réplicas do RDS para Db2
<a name="db2-read-replicas.backups"></a>

Você pode criar e restaurar backups de uma réplica do RDS para Db2 assim como um banco de dados primário. No entanto, existem diferenças importantes na forma como os backups de réplica funcionam, principalmente em relação ao horário de restauração e às configurações de retenção de backup.

O RDS para Db2 aceita tanto backups automáticos quanto snapshots manuais para réplicas. O RDS para Db2 não permite restauração pontual. Para acessar informações sobre backups do RDS, consulte [Backup, restauração e exportação de dados](CHAP_CommonTasks.BackupRestore.md). 

## Principais diferenças entre backups de réplicas
<a name="db2-read-replicas-backups-overview"></a>

Os backups de réplica diferem dos backups do banco de dados primário de várias maneiras importantes:
+ Os backups automáticos não estão habilitados por padrão para réplicas.
+ As operações de restauração usam a hora do banco de dados em vez da hora de criação do backup.
+ O atraso na réplica pode afetar os dados reais restaurados. Para acessar informações sobre o monitoramento do atraso da réplica, consulte [Monitoramento de atraso da replicação do Db2](db2-troubleshooting-replicas.md#db2-troubleshooting-replicas-lag).

## Habilitar backups automáticos para réplicas do RDS para Db2
<a name="db2-read-replicas.backups.turning-on"></a>

Ao contrário dos bancos de dados primários, réplicas do RDS para Db2 não têm o recurso de backups automatizados habilitado por padrão. Você deve configurar manualmente o período de retenção de backup para habilitar backups automáticos. Habilite backups automatizados configurando o período de retenção de backup como um valor positivo diferente de zero.

### Console
<a name="db2-read-replicas.backups.turning-on-console"></a>

**Como habilitar imediatamente backups automáticos**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Databases (Bancos de dados)** e a instância de banco de dados que você deseja modificar.

1. Selecione **Modify**.

1. Em **Backup Retention Period** (Período de retenção de backup), escolha um valor positivo diferente de zero; por exemplo, 3 dias.

1. Escolha **Continue**.

1. Escolha **Apply immediately (Aplicar imediatamente)**.

1. Escolha **Modify DB Instance** (Modificar instância de banco de dados) para salvar as alterações e ativar os backups automatizados.

### AWS CLI
<a name="db2-read-replicas.backups.turning-on-cli"></a>

Para habilitar os backups automatizados, use o comando AWS CLI[modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html).

Inclua os seguintes parâmetros:
+ `--db-instance-identifier`
+ `--backup-retention-period`
+ `--apply-immediately` ou `--no-apply-immediately`

O exemplo a seguir habilita backups automatizados definindo o período de retenção de backup como três dias. As alterações são aplicadas imediatamente.

**Example**  
Para Linux, macOS ou Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier my_db_instance  \
    --backup-retention-period 3 \
    --apply-immediately
```
Para Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier my_db_instance  ^
    --backup-retention-period 3 ^
    --apply-immediately
```

### API do RDS
<a name="db2-read-replicas.backups.turning-on-api"></a>

Para habilitar backups automatizados, use a operação [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) da API do RDS com os seguintes parâmetros obrigatórios:
+ `DBInstanceIdentifier`
+ `BackupRetentionPeriod`

## Restaurar um backup de réplica do RDS para Db2
<a name="db2-read-replicas.backups.restoring"></a>

Você pode restaurar um backup de réplica do RDS para Db2 da mesma forma que pode restaurar um backup do banco de dados primário. Para obter mais informações, consulte [Restaurar uma instância de banco de dados](USER_RestoreFromSnapshot.md).

A consideração mais importante ao restaurar backups de réplicas é entender a diferença entre hora do banco de dados e hora da criação do backup, principalmente quando há atraso na réplica.

Você pode monitorar o atraso na replicação e garantir que seus backups contenham os dados esperados. Para acessar informações sobre a métrica ReplicaLag, consulte [Métricas do Amazon CloudWatch para o Amazon RDS](rds-metrics.md).

### Noções básicas sobre diferenças de horário
<a name="db2-read-replicas-backups-restoring-timing"></a>

Quando você restaura o backup de uma réplica, deve determinar o momento para o qual está restaurando. A hora do banco de dados se refere ao horário de transação mais recente aplicado dos dados no backup. Ao restaurar um backup de réplica, você restaura para a hora do banco de dados, não para a hora em que o backup foi concluído. A diferença é significativa porque uma réplica pode apresentar atraso de minutos ou horas em relação ao banco de dados primário. Portanto, a hora do banco de dados de um backup de réplica pode ser muito antes do horário de criação do snapshot.

Para encontrar a diferença entre a hora do banco de dados e o horário de criação, execute o comando AWS CLI[describe-db-snapshots](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-snapshots.html) ou chame a operação [DescribeDBSnapshots](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBSnapshots.html) da API do RDS. Compare o valor `SnapshotDatabaseTime` e o valor `OriginalSnapshotCreateTime`. O valor `SnapshotDatabaseTime` é o horário mais antigo do banco de dados entre todos os bancos de dados do backup da réplica. O valor `OriginalSnapshotCreateTime` é a última transação aplicada no banco de dados primário. Observe que os atrasos de replicação podem ser diferentes para vários bancos de dados, e o tempo do banco de dados pode estar entre esses dois tempos. 

O exemplo AWS CLI a seguir mostra a diferença entre as duas horas:

Para Linux, macOS ou Unix:

```
aws rds describe-db-snapshots \
    --db-instance-identifier my_db2_replica \
    --db-snapshot-identifier my_replica_snapshot
```

Para Windows:

```
aws rds describe-db-snapshots ^
    --db-instance-identifier my_db2_replica ^
    --db-snapshot-identifier my_replica_snapshot
```

O comando vai produzir uma saída semelhante ao exemplo a seguir. 

```
{
    "DBSnapshots": [
        {
            "DBSnapshotIdentifier": "my_replica_snapshot",
            "DBInstanceIdentifier": "my_db2_replica", 
            "SnapshotDatabaseTime": "2022-07-26T17:49:44Z",
            ...
            "OriginalSnapshotCreateTime": "2021-07-26T19:49:44Z"
        }
    ]
}
```

# Solução de problemas de replicação do RDS para Db2
<a name="db2-troubleshooting-replicas"></a>

Este tópico descreve problemas comuns de replicação do RDS para Db2 e fornece orientação para solução de problemas tanto para réplicas somente leitura quanto para réplicas em espera. Além de analisar as informações de solução de problemas a seguir, siga os [requisitos e as considerações](db2-read-replicas.limitations.md) e conclua as [etapas de preparação](db2-read-replicas.Configuration.md) antes de criar réplicas do Db2.

## Falha na criação da réplica
<a name="db2-troubleshooting-replicas-creation"></a>



A criação da réplica pode falhar por vários motivos:
+ **Bancos de dados inativos**: todos os bancos de dados na instância de banco de dados de origem devem estar ativos antes de criar réplicas. 

  Para obter informações sobre como ativar banco de dados, consulte [Procedimentos armazenados para bancos de dados do RDS para Db2](db2-sp-managing-databases.md).
+ **Backups automáticos ausentes**: a instância de banco de dados de origem deve ter os backups automáticos habilitados. 

  Para acessar informações sobre como habilitar backups, consulte [Habilitar backups automáticos para réplicas do RDS para Db2](db2-read-replicas.backups.md#db2-read-replicas.backups.turning-on).
+ **Problemas com grupos de parâmetros**: grupos de parâmetros personalizados são necessários para réplicas. Para licenciamento BYOL, o grupo de parâmetros deve incluir o IBM Site ID e o IBM Customer ID. 

  Para obter mais informações, consulte [IDs da IBM para traga a sua própria licença (BYOL) para o Db2](db2-licensing.md#db2-prereqs-ibm-info).

## Monitoramento de atraso da replicação do Db2
<a name="db2-troubleshooting-replicas-lag"></a>

Para monitorar o atraso de replicação no Amazon CloudWatch, visualize a métrica `ReplicaLag` do Amazon RDS. Para obter informações sobre o tempo de atraso de replicação, consulte [Monitoramento da replicação de leitura](USER_ReadRepl.Monitoring.md) e [Métricas do Amazon CloudWatch para o Amazon RDS](rds-metrics.md). Para acessar informações sobre como configurar alarmes do CloudWatch para atraso de réplica, consulte [Monitorar métricas do Amazon RDS com o Amazon CloudWatch](monitoring-cloudwatch.md). 

Para uma réplica somente leitura, se o tempo de atraso for muito longo, consulte a tabela `MON_GET_HADR` para saber o status da instância de banco de dados de réplica. 

Para uma réplica em espera, se o tempo de atraso for muito longo, consulte a tabela `MON_GET_HADR` para saber o status da instância de banco de dados de origem. Não consulte a instância de banco de dados de réplica porque as instâncias de banco de dados de réplica não aceitam conexões de usuário.

As causas comuns do alto atraso na replicação incluem os seguintes motivos:
+ Recursos computacionais insuficientes na réplica.
+ Problemas de conectividade de rede entre a origem e a réplica.
+ Alta atividade de gravação no banco de dados de origem.
+ Limitações de performance de armazenamento na réplica.

Se o alto atraso da replicação persistir, pense em escalar seus recursos de réplica. Para obter mais informações, consulte [Modificar uma instância de banco de dados do Amazon RDS](Overview.DBInstance.Modifying.md).

## erros de replicação no Db2
<a name="db2-troubleshooting-replicas-triggers"></a>

A replicação do Db2 pode estar em estado de erro por vários motivos. Execute as seguintes ações:
+ Monitore eventos e o estado da instância de banco de dados para garantir que a instância de banco de dados esteja replicando. 

  Para obter mais informações, consulte [Trabalhar com a notificação de eventos do Amazon RDS](USER_Events.md).
+ Confira os logs de diagnóstico da réplica do Db2 no console do Amazon RDS. Nos logs, procure erros nas mensagens do HADR. Compare o número da sequência de log com o número de sequência principal. 

  Para acessar informações sobre como acessar e interpretar os logs de diagnóstico do Db2, consulte [Arquivos de log do banco de dados do Amazon RDS para Db2](USER_LogAccess.Concepts.Db2.md). Para acessar informações sobre configuração e solução de problemas do Db2 HADR, consulte [Trabalhar com réplicas para o Amazon RDS para Db2](db2-replication.md). 

Se os erros de replicação persistirem, talvez seja necessário recriar a réplica. 

## Problemas de conectividade
<a name="db2-troubleshooting-replicas-connections"></a>

Se você não conseguir se conectar à sua réplica, analise as seguintes informações sobre os modos de réplica:
+ **Réplicas em espera**: elas normalmente não aceitam conexões de usuários. Use réplicas somente leitura para workloads de leitura.
+ **Réplicas somente leitura**: confira suas configurações de grupo de segurança, ACLs de rede e configurações de grupos de parâmetros. 

  Para acessar mais informações, consulte [Controle o tráfego para seus recursos da AWS usando grupos de segurança](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html) no *Guia do usuário da Amazon VPC*, [Controlar o tráfego da sub-rede com listas de controle de acesso à rede](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) no *Guia do usuário da Amazon VPC* e [Grupos de parâmetros para Amazon RDS](USER_WorkingWithParamGroups.md).

## Problemas de performance
<a name="db2-troubleshooting-replicas-performance"></a>

Se a performance da réplica for inadequada, analise as seguintes sugestões:
+ Garanta que a réplica tenha recursos de computação e armazenamento adequados. 
+ Monitore a métrica `ReplicaLag` no Amazon CloudWatch. 
+ Pense em aumentar a escala verticalmente da classe de instância de banco de dados da réplica. 

Para acessar informações sobre como modificar recursos ou classes de instância, consulte [Modificar uma instância de banco de dados do Amazon RDS](Overview.DBInstance.Modifying.md).

Para acessar informações sobre o monitoramento do atraso da réplica, consulte [Monitorar atraso da replicação](USER_ReadRepl.Monitoring.md#USER_ReadRepl.Monitoring.Lag) e [Métricas do Amazon CloudWatch para o Amazon RDS](rds-metrics.md). Para acessar informações sobre como configurar alarmes do CloudWatch para atraso de réplica, consulte [Monitorar métricas do Amazon RDS com o Amazon CloudWatch](monitoring-cloudwatch.md). 

# Opções para instâncias de banco de dados do Amazon RDS para Db2
<a name="Db2.Options"></a>

Veja a seguir as opções, ou recursos adicionais, disponíveis para instâncias do Amazon RDS que executam o mecanismo de banco de dados do Db2. Para habilitar essas opções, você pode adicioná-las a um grupo de opções personalizado e, em seguida, associe o grupo de opções à sua instância de banco de dados. Para mais informações sobre como trabalhar com grupos de opções, consulte [Trabalhar com grupos de opções](USER_WorkingWithOptionGroups.md).

O Amazon RDS é compatível com as seguintes opções do Db2:


| Opção | ID da opção | 
| --- | --- | 
|  [Registro em log de auditoria do Db2](Db2.Options.Audit.md)  |  `DB2_AUDIT`  | 

# Registro em log de auditoria do Db2
<a name="Db2.Options.Audit"></a>

Com o registro em log de auditoria do Db2, o Amazon RDS registra a atividade do banco de dados, incluindo usuários que fazem login no banco de dados e as consultas ao banco de dados que são executadas. O RDS faz upload dos logs de auditoria concluídos no bucket do Amazon S3 usando o perfil do AWS Identity and Access Management (IAM) que você fornece.

**Topics**
+ [Configurar o registro em log de auditoria do Db2](#db2-audit-setting-up)
+ [Gerenciar o registro em log de auditoria do Db2](#db2-audit-managing)
+ [Visualizar logs de auditoria](#db2-audit-viewing-logs)
+ [Solução de problemas do registro em log da auditoria do Db2](#db2-audit-troubleshooting)

## Configurar o registro em log de auditoria do Db2
<a name="db2-audit-setting-up"></a>

Para habilitar o registro em log de auditoria para um banco de dados do Amazon RDS para Db2, você habilita a opção `DB2_AUDIT` na instância de banco de dados do RDS para Db2. Depois, configure uma política de auditoria para habilitar o recurso para o banco de dados específico. Para habilitar a opção na instância de banco de dados do RDS para Db2, você define as configurações da opção `DB2_AUDIT`. Você faz isso fornecendo os nomes de recursos da Amazon (ARNs) para o bucket do Amazon S3 e o perfil do IAM com permissões para acessar o bucket.

Para configurar o registro em log de auditoria do Db2 para um banco de dados do RDS para Db2, conclua as etapas a seguir.

**Topics**
+ [Etapa 1: Crie um bucket do Amazon S3](#db2-audit-create-s3-bucket)
+ [Etapa 2: criar uma política do IAM](#db2-audit-create-iam-policy)
+ [Etapa 3: criar um perfil do IAM e associar a política do IAM](#db2-audit-create-iam-role)
+ [Etapa 4: configurar um grupo de opções para o registro em log de auditoria do Db2](#db2-audit-configure-options-group)
+ [Etapa 5: configurar a política de auditoria](#db2-audit-configure-audit-policy)
+ [Etapa 6: verificar a configuração da auditoria](#db2-audit-check-config-status)

### Etapa 1: Crie um bucket do Amazon S3
<a name="db2-audit-create-s3-bucket"></a>

Se você ainda não tiver feito isso, crie um bucket do Amazon S3 no qual o Amazon RDS possa fazer upload dos arquivos de log de auditoria do banco de dados do RDS para Db2. As seguintes restrições se aplicam ao bucket do S3 que você usa como destino para arquivos de auditoria:
+ Ele deve estar na mesma Região da AWS que a instância de banco de dados do RDS para Db2.
+ Ele não deve estar aberto ao público.
+ O proprietário do bucket também deve ser o proprietário da função do IAM.

Para saber como criar um bucket do Amazon S3, consulte [Criação de um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) no *Guia do usuário do Amazon S3*.

Depois de habilitar o registro em log de auditoria, o Amazon RDS envia automaticamente os logs da instância de banco de dados para os seguintes locais:
+ Logs do nível da instância de banco de dados: `bucket_name/db2-audit-logs/dbi_resource_id/date_time_utc/`
+ Logs do nível de banco de dados: `bucket_name/db2-audit-logs/dbi_resource_id/date_time_utc/db_name/`

Anote o nome do recurso da Amazon (ARN) do bucket. Essas informações são necessárias para concluir as etapas subsequentes.

### Etapa 2: criar uma política do IAM
<a name="db2-audit-create-iam-policy"></a>

Crie uma política do IAM com as permissões exigidas para transferir arquivos de log de auditoria da instância de banco de dados para o bucket do Amazon S3. Essa etapa pressupõe que você tenha um bucket do S3.

Antes de criar a política, colete as seguintes informações:
+ O ARN do bucket.
+ O ARN da chave do AWS Key Management Service (AWS KMS), se o bucket usar criptografia SSE-KMS.

Crie uma política do IAM que inclua as seguintes permissões:

```
"s3:ListBucket",
 "s3:GetBucketAcl",
 "s3:GetBucketLocation",
 "s3:PutObject",
 "s3:ListMultipartUploadParts",
 "s3:AbortMultipartUpload",
 "s3:ListAllMyBuckets"
```

**nota**  
O Amazon RDS precisa da ação `s3:ListAllMyBuckets` internamente para verificar se a mesma Conta da AWS tem o bucket do S3 e a instância de banco de dados do Db2.

Se o bucket usa criptografia SSE-KMS, inclua também as permissões a seguir para o perfil do IAM e a chave do AWS KMS.

Inclua as permissões a seguir na política para o perfil do IAM.

```
"kms:GenerateDataKey",
 "kms:Decrypt"
```

Inclua as permissões a seguir na política de chave para a sua chave AWS KMS. Substitua *111122223333* pelo número da conta e *AROA123456789EXAMPLE* pelo nome do perfil do IAM.

```
{
  "Sid": "Allow RDS role to use the key",
  "Effect": "Allow",
  "Principal": {
    "AWS": [
      "arn:aws:sts::111122223333:assumed-role/AROA123456789EXAMPLE/RDS-Db2Audit",
      "arn:aws:iam::111122223333:role/AROA123456789EXAMPLE"
    ]
  },
  "Action": [
    "kms:GenerateDataKey",
    "kms:Decrypt"
  ],
  "Resource": "*"
}
```

É possível criar uma política do IAM usando o Console de gerenciamento da AWS ou a AWS Command Line Interface (AWS CLI).

#### Console
<a name="db2-audit-create-iam-policy-console"></a>

**Como criar uma política do IAM para permitir acesso do Amazon RDS a um bucket do Amazon S3**

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM, em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, selecione **Políticas**.

1. Selecione **Criar política** e, depois, escolha a guia **JSON**.

1. Em **Adicionar ações**, filtre por **S3**. Adicione acesso **ListBucket**, **GetBucketAcl** e **GetBucketLocation**.

1. Em **Adicionar um recurso**, escolha **Adicionar**. Em **Tipo de recurso**, escolha **bucket** e insira o nome do bucket. Depois, escolha **Adicionar recurso**.

1. Escolha **Adicionar nova instrução**.

1. Em **Adicionar ações**, filtre por **S3**. Adicione acesso **PutObject**, **ListMultipartUploadParts** e **AbortMultipartUpload**.

1. Em **Adicionar um recurso**, escolha **Adicionar**. Em **Tipo de recurso**, escolha **objeto** e insira *o nome do bucket/\$1*. Depois, escolha **Adicionar recurso**.

1. Escolha **Adicionar nova instrução**.

1. Em **Adicionar ações**, filtre por **S3**. Adicione acesso **ListAllMyBuckets**.

1. Em **Adicionar um recurso**, escolha **Adicionar**. Em **Tipo de recurso**, escolha **Todos os recursos**. Depois, escolha **Adicionar recurso**.

1. Se estiver usando suas próprias chaves do KMS para criptografar os dados:

   1. Escolha **Adicionar nova instrução**.

   1. Em **Adicionar ações**, filtre por KMS. Adicione acesso **GenerateDataKey** e **Decrypt**.

   1. Em **Adicionar um recurso**, escolha **Adicionar**. Em **Tipo de recurso**, escolha **Todos os recursos**. Depois, escolha **Adicionar recurso**.

1. Escolha **Próximo**.

1. Em **Nome da política**, digite um nome para essa política.

1. (Opcional) Em **Descrição**, digite uma descrição para essa política.

1. Escolha **Criar política**.

#### AWS CLI
<a name="db2-audit-create-iam-policy-cli"></a>

**Como criar uma política do IAM para permitir acesso do Amazon RDS a um bucket do Amazon S3**

1. Execute o comando [https://docs.aws.amazon.com/cli/latest/reference/iam/create-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-policy.html). No exemplo a seguir, substitua *iam\$1policy\$1name* e *amzn-s3-demo-bucket* pelo nome da sua política do IAM e pelo nome do bucket de destino do Amazon S3.

   Para Linux, macOS ou Unix:

   ```
   aws iam create-policy \
       --policy-name iam_policy_name \
       --policy-document '{
           "Version": "2012-10-17",		 	 	 
           "Statement": [
               {
                   "Sid": "Statement1",
                   "Effect": "Allow",
                   "Action": [
                       "s3:ListBucket",
                       "s3:GetBucketAcl",
                       "s3:GetBucketLocation"
                   ],
                   "Resource": [
                       "arn:aws:s3:::amzn-s3-demo-bucket"
                   ]
               },
               {
                   "Sid": "Statement2",
                   "Effect": "Allow",
                   "Action": [
                       "s3:PutObject",
                       "s3:ListMultipartUploadParts",
                       "s3:AbortMultipartUpload"
                   ],
                   "Resource": [
                       "arn:aws:s3:::amzn-s3-demo-bucket/*"
                   ]
               },
               {
                   "Sid": "Statement3",
                   "Effect": "Allow",
                   "Action": [
                       "s3:ListAllMyBuckets"
                   ],
                   "Resource": [
                       "*"
                   ]
               },
               {
                   "Sid": "Statement4",
                   "Effect": "Allow",
                   "Action": [
                       "kms:GenerateDataKey",
                       "kms:Decrypt"
                   ],
                   "Resource": [
                       "*"
                   ]
               }
           ]
     }'
   ```

   Para Windows:

   ```
   aws iam create-policy ^
       --policy-name iam_policy_name ^
       --policy-document '{
           "Version": "2012-10-17",		 	 	 
           "Statement": [
               {
                   "Sid": "Statement1",
                   "Effect": "Allow",
                   "Action": [
                       "s3:ListBucket",
                       "s3:GetBucketAcl",
                       "s3:GetBucketLocation"
                   ],
                   "Resource": [
                       "arn:aws:s3:::amzn-s3-demo-bucket"
                   ]
               },
               {
                   "Sid": "Statement2",
                   "Effect": "Allow",
                   "Action": [
                       "s3:PutObject",
                       "s3:ListMultipartUploadParts",
                       "s3:AbortMultipartUpload"
                   ],
                   "Resource": [
                       "arn:aws:s3:::amzn-s3-demo-bucket/*"
                   ]
               },
               {
                   "Sid": "Statement3",
                   "Effect": "Allow",
                   "Action": [
                       "s3:ListAllMyBuckets"
                   ],
                   "Resource": [
                       "*"
                   ]
               },
               {
                   "Sid": "Statement4",
                   "Effect": "Allow",
                   "Action": [
                       "kms:GenerateDataKey",
                       "kms:Decrypt"
                   ],
                   "Resource": [
                       "*"
                   ]
               }
           ]
     }'
   ```

1. Depois de criar a política, anote o ARN da política. É necessário ter o ARN do [Etapa 3: criar um perfil do IAM e associar a política do IAM](#db2-audit-create-iam-role).

Para ter informações sobre como criar uma política do IAM, consulte [Criação de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) no Guia do usuário do IAM.

### Etapa 3: criar um perfil do IAM e associar a política do IAM
<a name="db2-audit-create-iam-role"></a>

Esta etapa pressupõe que você tenha criado a política do IAM no [Etapa 2: criar uma política do IAM](#db2-audit-create-iam-policy). Nesta etapa, você vai criar um perfil do IAM para a instância de banco de dados do RDS para Db2 e anexar a política do IAM ao perfil.

É possível criar um perfil do IAM para a instância de banco de dados usando o console ou a AWS CLI.

#### Console
<a name="db2-audit-create-iam-role-console"></a>

**Como criar um perfil do IAM e associar a política do IAM a ele**

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, escolha **Perfis**.

1. Escolha **Criar Perfil**.

1. Em **Tipo de entidade confiável**, selecione **AWS service (Serviço da AWS)**.

1. Para **Serviço ou caso de uso**, selecione **RDS** e, depois, selecione **RDS: adicionar perfil ao banco de dados**.

1. Escolha **Próximo**.

1. Em **Políticas de permissões**, pesquise e selecione o nome da política do IAM que você criou.

1. Escolha **Próximo**.

1. Em **Role name** (Nome da função), insira um nome.

1. (Opcional) Em **Descrição da função**, insira uma descrição para a nova função.

1. Selecione **Criar perfil**.

#### AWS CLI
<a name="db2-audit-create-iam-role-cli"></a>

**Como criar um perfil do IAM e associar a política do IAM a ele**

1. Execute o comando [https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html). No exemplo a seguir, substitua *iam\$1role\$1name* por um nome para o perfil do IAM.

   Para Linux, macOS ou Unix:

   ```
   aws iam create-role \
       --role-name iam_role_name \
       --assume-role-policy-document '{
         "Version": "2012-10-17",		 	 	 
         "Statement": [
           {
             "Effect": "Allow",
             "Principal": {
               "Service": "rds.amazonaws.com"
             },
             "Action": "sts:AssumeRole"
           }
         ]
       }'
   ```

   Para Windows:

   ```
   aws iam create-role ^
       --role-name iam_role_name ^
       --assume-role-policy-document '{
         "Version": "2012-10-17",		 	 	 
         "Statement": [
           {
             "Effect": "Allow",
             "Principal": {
               "Service": "rds.amazonaws.com"
             },
             "Action": "sts:AssumeRole"
           }
         ]
       }'
   ```

1. Depois que o perfil for criado, observe o respectivo ARN. Você precisará desse ARN na próxima etapa, [Etapa 4: configurar um grupo de opções para o registro em log de auditoria do Db2](#db2-audit-configure-options-group).

1. Execute o comando [https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html). No exemplo a seguir, substitua *iam\$1policy\$1arn* pelo ARN da política do IAM que você criou em [Etapa 2: criar uma política do IAM](#db2-audit-create-iam-policy). Substitua *iam\$1role\$1name* pelo nome do perfil do IAM que você acabou de criar.

   Para Linux, macOS ou Unix:

   ```
   aws iam attach-role-policy \
      --policy-arn iam_policy_arn \
      --role-name iam_role_name
   ```

   Para Windows:

   ```
   aws iam attach-role-policy ^
      --policy-arn iam_policy_arn ^
      --role-name iam_role_name
   ```

Para ter mais informações, consulte [Criar um perfil para delegar permissões a um usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) no *Guia do usuário do IAM*.

### Etapa 4: configurar um grupo de opções para o registro em log de auditoria do Db2
<a name="db2-audit-configure-options-group"></a>

O processo para adicionar a opção de registro em log de auditoria do Db2 a uma instância de banco de dados do RDS para Db2 é o seguinte:

1. Crie um novo grupo de opções, ou copie ou modifique um existente.

1. Adicione e configure todas as opções necessárias.

1. Associe o grupo de opções à instância de banco de dados.

Depois de adicionar a opção de registro em log de auditoria do Db2, você não precisará reiniciar a instância de banco de dados. Assim que o grupo de opções estiver ativo, você poderá criar auditorias e armazenar logs de auditoria no seu bucket do S3.

**Para adicionar e configurar o registro em log de auditoria do Db2 em um grupo de opções da instância de banco de dados**

1. Escolha uma das seguintes opções:
   + Use um grupo de opções existente.
   + Crie um grupo de opções de banco de dados personalizado e use esse grupo de opções. Para obter mais informações, consulte [Criar um grupo de opções](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Adicione a opção **DB2\$1AUDIT** ao grupo de opções e defina as configurações da opção. Para ter mais informações sobre a adição de opções, consulte [Adicionar uma opção a um grupo de opções](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).
   + Em **IAM\$1ROLE\$1ARN**, insira o ARN do perfil do IAM que você criou em [Etapa 3: criar um perfil do IAM e associar a política do IAM](#db2-audit-create-iam-role).
   + Para **S3\$1BUCKET\$1ARN**, insira o ARN do bucket do S3 a ser usado para os logs de auditoria do Db2. O bucket deve estar na mesma região que a instância de banco de dados do RDS para Db2. A política associada ao perfil do IAM que você inseriu deve permitir as operações necessárias nesse recurso.

1. Aplique o grupo de opções a uma instância de banco de dados nova ou existente. Escolha uma das seguintes opções:
   + Se você estiver criando uma nova instância de banco de dados, aplique o grupo de opções ao executar a instância.
   + Em uma instância de banco de dados existente, aplique o grupo de opções modificando a instância e anexando o novo grupo de opções. Para obter mais informações, consulte [Modificar uma instância de banco de dados do Amazon RDS](Overview.DBInstance.Modifying.md). 

### Etapa 5: configurar a política de auditoria
<a name="db2-audit-configure-audit-policy"></a>

Para configurar a política de auditoria do banco de dados do RDS para Db2, conecte-se ao banco de dados `rdsadmin` usando o nome de usuário e a senha principais da instância de banco de dados do RDS para Db2. Depois, chame o procedimento armazenado `rdsadmin.configure_db_audit` com o nome do banco de dados e os valores dos parâmetros aplicáveis.

O exemplo a seguir se conecta ao banco de dados e configura uma política de auditoria `testdb` com as categorias AUDIT, CHECKING, OBJMAINT, SECMAINT, SYSADMIN e VALIDATE. O valor do status `BOTH` registra em log sucessos e falhas, e o `ERROR TYPE` é `NORMAL` por padrão. Consulte mais informações sobre como usar esse procedimento armazenado em [rdsadmin.configure\$1db\$1audit](db2-sp-managing-audit-policies.md#db2-sp-configure-db-audit).

```
db2 "connect to rdsadmin user master_user using master_password"
db2 "call rdsadmin.configure_db_audit('testdb', 'ALL', 'BOTH', ?)"
```

### Etapa 6: verificar a configuração da auditoria
<a name="db2-audit-check-config-status"></a>

Para garantir que a política de auditoria esteja configurada corretamente, verifique o status da configuração da auditoria.

Para verificar a conexão, conecte-se ao banco de dados `rdsadmin` usando o nome de usuário e a senha principais da instância de banco de dados do RDS para Db2. Depois, use a instrução SQL a seguir com o nome do banco de dados. No exemplo a seguir, o nome do banco de dados é *testdb*.

```
db2 "select task_id, task_type, database_name, lifecycle,
    varchar(bson_to_json(task_input_params), 500) as task_params,
    cast(task_output as varchar(500)) as task_output
    from table(rdsadmin.get_task_status(null,'testdb','CONFIGURE_DB_AUDIT'))"
    
Sample Output
 
TASK_ID              TASK_TYPE            DATABASE_NAME       LIFECYCLE
-------------------- -------------------- --------------- -------------
                   2  CONFIGURE_DB_AUDIT            DB2DB       SUCCESS

... continued ...
TASK_PARAMS                                
-------------------------------------------------------- 
{ "AUDIT_CATEGORY" : "ALL", "CATEGORY_SETTING" : "BOTH" }            

... continued ...
                                        TASK_OUTPUT
---------------------------------------------------
2023-12-22T20:27:03.029Z Task execution has started.

2023-12-22T20:27:04.285Z Task execution has completed successfully.
```

## Gerenciar o registro em log de auditoria do Db2
<a name="db2-audit-managing"></a>

Depois de configurar o registro em log de auditoria do Db2, você pode modificar a política de auditoria para um banco de dados específico ou desabilitar o registro em log de auditoria no nível do banco de dados ou para toda a instância de banco de dados. Você também pode alterar o bucket do Amazon S3 para o qual os arquivos de log são enviados.

**Topics**
+ [Modificar uma política de auditoria do Db2](#db2-audit-modifying-policy)
+ [Modificar o local dos arquivos de log](#db2-audit-modifying-location)
+ [Desabilitar o registro em log de auditoria do Db2](#db2-audit-disabling)

### Modificar uma política de auditoria do Db2
<a name="db2-audit-modifying-policy"></a>

Para modificar a política de auditoria de um banco de dados específico do RDS para Db2, execute o procedimento armazenado `rdsadmin.configure_db_audit`. Com esse procedimento armazenado, você pode alterar as categorias, as configurações da categoria e a configuração do tipo de erro da política de auditoria. Para obter mais informações, consulte [rdsadmin.configure\$1db\$1audit](db2-sp-managing-audit-policies.md#db2-sp-configure-db-audit).

### Modificar o local dos arquivos de log
<a name="db2-audit-modifying-location"></a>

Para alterar o bucket do Amazon S3 no qual os arquivos de log são carregados, realize uma das seguintes ações:
+ Modifique o grupo de opções atual anexado à instância de banco de dados do RDS para Db2: atualize a configuração `S3_BUCKET_ARN` da opção `DB2_AUDIT` a fim de apontar para o novo bucket. Além disso, atualize a política do IAM anexada ao perfil do IAM especificado pela configuração `IAM_ROLE_ARN` no grupo de opções anexado. Essa política do IAM deve fornecer ao novo bucket as permissões de acesso necessárias. Consulte mais informações sobre as permissões exigidas na política do IAM em [Criar uma política do IAM.](#db2-audit-create-iam-policy).
+ Anexe a instância de banco de dados do RDS para Db2 a um grupo de opções diferente: modifique a instância de banco de dados para alterar o grupo de opções anexado a ela. O novo grupo de opções deve estar configurado com as definições `S3_BUCKET_ARN` e `IAM_ROLE_ARN` corretas. Consulte informações sobre como definir essas configurações para a opção `DB2_AUDIT` em [Configurar um grupo de opções](#db2-audit-configure-options-group).

Ao modificar o grupo de opções, aplique as alterações imediatamente. Para obter mais informações, consulte [Modificar uma instância de banco de dados do Amazon RDS](Overview.DBInstance.Modifying.md).

### Desabilitar o registro em log de auditoria do Db2
<a name="db2-audit-disabling"></a>

Para desabilitar o registro em log de auditoria do Db2, realize uma das seguintes ações:
+ Desabilite o registro em log de auditoria para a instância de banco de dados do RDS para Db2: modifique a instância de banco de dados e remova o grupo de opções com a opção `DB2_AUDIT` da instância. Para obter mais informações, consulte [Modificar uma instância de banco de dados do Amazon RDS](Overview.DBInstance.Modifying.md).
+ Desabilite o registro em log de auditoria para um banco de dados específico: interrompa o registro em log de auditoria e remova a política de auditoria chamando `rdsadmin.disable_db_audit` com o nome do banco de dados. Para obter mais informações, consulte [rdsadmin.disable\$1db\$1audit](db2-sp-managing-audit-policies.md#db2-sp-disable-db-audit).

  ```
  db2 "call rdsadmin.disable_db_audit(
      'db_name',
      ?)"
  ```

## Visualizar logs de auditoria
<a name="db2-audit-viewing-logs"></a>

Depois de habilitar o registro em log de auditoria do Db2, aguarde pelo menos uma hora antes de visualizar os dados de auditoria no bucket do Amazon S3. O Amazon RDS envia automaticamente os logs da instância de banco de dados do RDS para Db2 aos seguintes locais:
+ Logs do nível da instância de banco de dados: `bucket_name/db2-audit-logs/dbi_resource_id/date_time_utc/`
+ Logs do nível de banco de dados: `bucket_name/db2-audit-logs/dbi_resource_id/date_time_utc/db_name/`

O exemplo de captura de tela a seguir do console do Amazon S3 mostra uma lista de pastas para arquivos de log no nível da instância de banco de dados do RDS para Db2.

![\[Console do Amazon S3 com a guia Objetos selecionada, mostrando uma lista de pastas para arquivos de log em nível de instância de banco de dados do RDS para Db2.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/db2-instance-level-audit-logs.png)


O exemplo de captura de tela a seguir do console do Amazon S3 mostra arquivos de log no nível de banco de dados para a instância de banco de dados do RDS para Db2.

![\[Console do Amazon S3 com a guia Objetos selecionada, mostrando arquivos de log em nível de banco de dados para a instância de banco de dados do RDS para Db2.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/db2-database-level-audit-logs.png)


## Solução de problemas do registro em log da auditoria do Db2
<a name="db2-audit-troubleshooting"></a>

Use as informações a seguir para solucionar problemas comuns com o registro em log de auditoria do Db2.

### Não é possível configurar a política de auditoria
<a name="db2-audit-troubleshooting-policy-config"></a>

Se chamar o procedimento armazenado `rdsadmin.configure_db_audit` retornar um erro, pode ser que o grupo de opções com a opção `DB2_AUDIT` não esteja associado à instância de banco de dados do RDS para Db2. Modifique a instância de banco de dados para adicionar o grupo de opções e tente chamar o procedimento armazenado novamente. Para obter mais informações, consulte [Modificar uma instância de banco de dados do Amazon RDS](Overview.DBInstance.Modifying.md).

### Nenhum dado no bucket do Amazon S3
<a name="db2-audit-troubleshooting-missing-data"></a>

Se não houver nenhum dado de log no bucket do Amazon S3, verifique se:
+ O bucket do Amazon S3 está na mesma região da instância de banco de dados do RDS para Db2.
+ O perfil que você especificou na configuração da opção `IAM_ROLE_ARN` está configurado com as permissões necessárias para fazer upload de logs no bucket do Amazon S3. Para obter mais informações, consulte [Criar uma política do IAM.](#db2-audit-create-iam-policy).
+ Os ARNs para as configurações da opção `IAM_ROLE_ARN` e `S3_BUCKET_ARN` estão corretos no grupo de opções associado à instância de banco de dados do RDS para Db2. Para obter mais informações, consulte [Configurar um grupo de opções](#db2-audit-configure-options-group).

Você pode verificar o status da tarefa da configuração do registro em log de auditoria conectando-se ao banco de dados e executando uma instrução SQL. Para obter mais informações, consulte [Verificar a configuração da auditoria](#db2-audit-check-config-status).

Também é possível verificar os eventos para saber mais sobre por que os logs podem estar ausentes. Consulte informações sobre como visualizar eventos em [Visualizar logs, eventos e transmissões no console do Amazon RDS](logs-events-streams-console.md).

# Procedimentos armazenados externos do Amazon RDS para Db2
<a name="db2-external-stored-procedures"></a>

É possível criar rotinas externas e registrá-las em bancos de dados do Amazon RDS para Db2 como procedimentos armazenados externos. No momento, o RDS para Db2 permite somente rotinas baseadas em Java para procedimentos armazenados externos.

## Procedimentos armazenados externos baseados em Java
<a name="db2-external-stored-procedures-java"></a>

Procedimentos armazenados externos baseados em Java são rotinas externas do Java que você registra no banco de dados do RDS para Db2 como procedimentos armazenados externos.

**Topics**
+ [Limitações para procedimentos armazenados externos baseados em Java](#db2-external-stored-procedures-java-limitations)
+ [Configurar procedimentos armazenados externos baseados em Java](#db2-external-stored-procedures-java-configuring)

### Limitações para procedimentos armazenados externos baseados em Java
<a name="db2-external-stored-procedures-java-limitations"></a>

Antes de desenvolver a rotina externa, considere as seguintes limitações e restrições.

Para criar a rotina externa, use o Java Development Kit (JDK) fornecido pelo Db2. Consulte mais informações em [Java software support for Db2 database products](https://www.ibm.com/docs/en/db2/11.5?topic=servers-java-software-support-db2-database-products).

O programa Java pode criar arquivos somente no diretório `/tmp`, e o Amazon RDS não permite habilitar permissões executáveis ou de definição de ID de usuário (SUID) nesses arquivos. O programa Java também não pode usar chamadas de sistema de soquete nem as seguintes chamadas de sistema:
+ \$1sysctl
+ acct
+ afs\$1syscall
+ bpf
+ capset
+ chown
+ chroot
+ create\$1module
+ delete\$1module
+ fanotify\$1init
+ fanotify\$1mark
+ finit\$1module
+ fsconfig
+ fsopen
+ fspick
+ get\$1kernel\$1syms
+ getpmsg
+ init\$1module
+ mount
+ move\$1mount
+ nfsservctl
+ open\$1by\$1handle\$1at
+ open\$1tree
+ pivot\$1root
+ putpmsg
+ query\$1module
+ quotactl
+ reboot
+ security
+ setdomainname
+ setfsuid
+ sethostname
+ sysfs
+ tuxcall
+ umount2
+ uselib
+ ustat
+ vhangup
+ vserver

Consulte as restrições adicionais sobre rotinas externas para o Db2 em [Restrictions on external routines](https://www.ibm.com/docs/en/db2/11.5?topic=routines-restrictions-external) na documentação do IBM Db2.

### Configurar procedimentos armazenados externos baseados em Java
<a name="db2-external-stored-procedures-java-configuring"></a>

Para configurar um procedimento armazenado externo, crie um arquivo .jar com a rotina externa, instale-o no banco de dados do RDS para Db2 e, depois, registre-o como um procedimento armazenado externo.

**Topics**
+ [Etapa 1: habilitar procedimentos armazenados externos](#db2-external-stored-procedures-java-enable)
+ [Etapa 2: instalar o arquivo .jar com a rotina externa](#db2-external-stored-procedures-java-install-jar)
+ [Etapa 3: registrar o procedimento armazenado externo](#db2-external-stored-procedures-java-register)
+ [Etapa 4: validar o procedimento armazenado externo](#db2-external-stored-procedures-java-validate)

#### Etapa 1: habilitar procedimentos armazenados externos
<a name="db2-external-stored-procedures-java-enable"></a>

Para habilitar procedimentos armazenados externos, em um grupo de parâmetros personalizado associado à instância de banco de dados, defina o parâmetro `db2_alternate_authz_behaviour` como um dos seguintes valores:
+ `EXTERNAL_ROUTINE_DBADM`: concede implicitamente a permissão `CREATE_EXTERNAL_ROUTINE` a qualquer usuário, grupo ou perfil com a autoridade `DBADM`.
+ `EXTERNAL_ROUTINE_DBAUTH`: permite que um usuário com a autoridade `DBADM` conceda a permissão `CREATE_EXTERNAL_ROUTINE` a qualquer usuário, grupo ou perfil. Nesse caso, nenhum usuário, grupo ou perfil recebe essa permissão implicitamente, nem mesmo um usuário com a autoridade `DBADM`.

Consulte mais informações sobre essa configuração em [GRANT (database authorities) statement](https://www.ibm.com/docs/en/db2/11.5?topic=statements-grant-database-authorities) na documentação do IBM Db2.

É possível criar e modificar um grupo de parâmetros personalizado usando o Console de gerenciamento da AWS, a AWS CLI ou a API do Amazon RDS.

##### Console
<a name="db2-external-stored-procedures-java-enable-console"></a>

**Para configurar o parâmetro db2\$1alternate\$1authz\$1behaviour em um grupo de parâmetros personalizado**

1. Se você quiser usar um grupo de parâmetros de banco de dados personalizado diferente do que o que a instância de banco de dados está usando, crie outro grupo de parâmetros de banco de dados. Se você estiver usando o modelo traga a sua própria licença (BYOL), garanta que o novo grupo de parâmetros personalizado inclua os IDs da IBM. Consulte informações sobre esses IDs em [IDs da IBM para traga a sua própria licença (BYOL) para o Db2](db2-licensing.md#db2-prereqs-ibm-info). Para obter mais informações sobre como criar um parameter group de banco de dados, consulte [Criar um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

1. Defina o valor do parâmetro `db2_alternate_authz_behaviour` em seu grupo de parâmetros personalizado. Para ter mais informações sobre como modificar um grupo de parâmetros, consulte [Modificar parâmetros em um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

##### AWS CLI
<a name="db2-external-stored-procedures-java-enable-cli"></a>

**Para configurar o parâmetro db2\$1alternate\$1authz\$1behaviour em um grupo de parâmetros personalizado**

1. Se você quiser usar um grupo de parâmetros de banco de dados personalizado diferente do que o que a instância de banco de dados está usando, crie um grupo de parâmetros de personalizado executando o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html). Se você estiver usando o modelo traga a sua própria licença (BYOL), garanta que o novo grupo de parâmetros personalizado inclua os IDs da IBM. Consulte informações sobre esses IDs em [IDs da IBM para traga a sua própria licença (BYOL) para o Db2](db2-licensing.md#db2-prereqs-ibm-info).

   Inclua as seguintes opções necessárias:
   + `--db-parameter-group-name`: um nome para o grupo de parâmetros que você está criando.
   + `--db-parameter-group-family`: a edição do mecanismo do Db2 e a versão principal. Os valores válidos são `db2-se-11.5` e `db2-ae-11.5`. 
   + `--description`: a descrição desse grupo de parâmetros.

   Para obter mais informações sobre como criar um parameter group de banco de dados, consulte [Criar um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

   O exemplo a seguir mostra como criar um grupo de parâmetros personalizado chamado `MY_EXT_SP_PARAM_GROUP` para a família do grupos de parâmetros `db2-se-11.5`.

   Para Linux, macOS ou Unix:

   ```
   aws rds create-db-parameter-group \
   --region us-east-1 \
   --db-parameter-group-name MY_EXT_SP_PARAM_GROUP \
   --db-parameter-group-family db2-se-11.5 \ 
   --description "test db2 external routines"
   ```

   Para Windows:

   ```
   aws rds create-db-parameter-group ^
   --region us-east-1 ^
   --db-parameter-group-name MY_EXT_SP_PARAM_GROUP ^
   --db-parameter-group-family db2-se-11.5 ^ 
   --description "test db2 external routines"
   ```

1. Modifique o parâmetro `db2_alternate_authz_behaviour` em seu grupo de parâmetros personalizado executando o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html).

   Inclua as seguintes opções necessárias:
   + `--db-parameter-group-name`: o nome do grupo de parâmetros criado.
   + `--parameters`: uma matriz de nomes de parâmetros, valores e os métodos de aplicação da atualização de parâmetros.

   Para ter mais informações sobre como modificar um grupo de parâmetros, consulte [Modificar parâmetros em um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

   O exemplo a seguir mostra como modificar o grupo de parâmetros `MY_EXT_SP_PARAM_GROUP` definindo o valor de `db2_alternate_authz_behaviour` como `EXTERNAL_ROUTINE_DBADM`.

   Para Linux, macOS ou Unix:

   ```
   aws rds modify-db-parameter-group \
       --db-parameter-group-name MY_EXT_SP_PARAM_GROUP \
       --parameters "ParameterName='db2_alternate_authz_behaviour',ParameterValue='EXTERNAL_ROUTINE_DBADM',ApplyMethod=immediate"
   ```

   Para Windows:

   ```
   aws rds modify-db-parameter-group ^
       --db-parameter-group-name MY_EXT_SP_PARAM_GROUP ^
       --parameters "ParameterName='db2_alternate_authz_behaviour',ParameterValue='EXTERNAL_ROUTINE_DBADM',ApplyMethod=immediate"
   ```

##### API do RDS
<a name="db2-external-stored-procedures-java-enable-api"></a>

**Para configurar o parâmetro db2\$1alternate\$1authz\$1behaviour em um grupo de parâmetros personalizado**

1. Se você quiser usar um grupo de parâmetros de banco de dados personalizado diferente do que o que a instância de banco de dados está usando, crie outro grupo de parâmetros de banco de dados usando a operação de API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html) do Amazon RDS. Se você estiver usando o modelo traga a sua própria licença (BYOL), garanta que o novo grupo de parâmetros personalizado inclua os IDs da IBM Db2. Consulte informações sobre esses IDs em [IDs da IBM para traga a sua própria licença (BYOL) para o Db2](db2-licensing.md#db2-prereqs-ibm-info).

   Inclua os seguintes parâmetros necessários:
   + `DBParameterGroupName`
   + `DBParameterGroupFamily`
   + `Description`

   Para obter mais informações sobre como criar um parameter group de banco de dados, consulte [Criar um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Creating.md).

1. Modifique o parâmetro `db2_alternate_authz_behaviour` no grupo de parâmetros personalizado que você criou usando a operação de API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html) do RDS.

   Inclua os seguintes parâmetros necessários:
   + `DBParameterGroupName`
   + `Parameters`

   Para ter mais informações sobre como modificar um grupo de parâmetros, consulte [Modificar parâmetros em um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

#### Etapa 2: instalar o arquivo .jar com a rotina externa
<a name="db2-external-stored-procedures-java-install-jar"></a>

Depois de criar a rotina do Java, crie o arquivo .jar e execute `db2 "call sqlj.install_jar('file:file_path',jar_ID)"` para instalá-lo no banco de dados do RDS para Db2.

O exemplo a seguir mostra como criar uma rotina do Java e instalá-la em um banco de dados do RDS para Db2. O exemplo inclui um exemplo de código para uma rotina simples que pode ser usada para testar o processo. Esse exemplo faz as seguintes suposições:
+ O código Java é compilado em um servidor em que o Db2 está instalado. Essa é uma prática recomendada porque não compilar com o JDK fornecido pela IBM pode resultar em erros inexplicáveis.
+ O servidor tem o banco de dados do RDS para Db2 catalogado localmente.

Se você quiser experimentar o processo com o código de exemplo a seguir, copie-o e salve-o em um arquivo chamado `MYJAVASP.java`.

```
import java.sql.*;
public class MYJAVASP
{
public static void my_JAVASP (String inparam) throws SQLException, Exception
{
try
{
// Obtain the calling context's connection details.
Connection myConn = DriverManager.getConnection("jdbc:default:connection");
String myQuery = "INSERT INTO TEST.TEST_TABLE VALUES (?, CURRENT DATE)";
PreparedStatement myStmt = myConn.prepareStatement(myQuery);
myStmt.setString(1, inparam);
myStmt.executeUpdate();
}
catch (SQLException sql_ex)
{
throw sql_ex;
}
catch (Exception ex)
{
throw ex;
}
}
```

O comando a seguir compila a rotina do Java.

```
~/sqllib/java/jdk64/bin/javac MYJAVASP.java
```

O comando a seguir cria o arquivo .jar.

```
~/sqllib/java/jdk64/bin/jar cvf MYJAVASP.jar MYJAVASP.class
```

Os comandos a seguir se conectam ao banco de dados chamado `MY_DB2_DATABASE` e instalam o arquivo .jar.

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

db2 "call sqlj.install_jar('file:/tmp/MYJAVASP.jar','MYJAVASP')"
db2 "call sqlj.refresh_classes()"
```

#### Etapa 3: registrar o procedimento armazenado externo
<a name="db2-external-stored-procedures-java-register"></a>

Depois de instalar o arquivo .jar no banco de dados do RDS para Db2, registre-o como um procedimento armazenado executando o comando `db2 CREATE PROCEDURE` ou `db2 REPLACE PROCEDURE`.

O exemplo a seguir mostra como se conectar ao banco de dados e registrar a rotina do Java criada na etapa anterior como um procedimento armazenado.

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

create procedure TESTSP.MYJAVASP (in input char(6))
specific myjavasp
dynamic result sets 0
deterministic
language java
parameter style java
no dbinfo
fenced
threadsafe
modifies sql data
program type sub
external name 'MYJAVASP!my_JAVASP';
```

#### Etapa 4: validar o procedimento armazenado externo
<a name="db2-external-stored-procedures-java-validate"></a>

Use as etapas a seguir para testar o exemplo de procedimento armazenado externo que foi registrado na etapa anterior.

**Como validar o procedimento armazenado externo**

1. Crie uma tabela como `TEST.TEST_TABLE` no exemplo a seguir.

   ```
   db2 "create table TEST.TEST_TABLE(C1 char(6), C2 date)"
   ```

1. Chame o novo procedimento armazenado externo. A chamada retorna um status de `0`.

   ```
   db2 "call TESTSP.MYJAVASP('test')"
   Return Status = 0
   ```

1. Consulte a tabela que você criou na etapa 1 para verificar os resultados da chamada do procedimento armazenado.

   ```
   db2 "SELECT * from TEST.TEST_TABLE"
   ```

   A consulta produz um resultado semelhante ao seguinte exemplo:

   ```
   C1     C2
   ------ ----------
   test   02/05/2024
   ```

# Limitações e problemas conhecidos do Amazon RDS para Db2
<a name="db2-known-issues-limitations"></a>

Os seguintes itens são limitações e problemas conhecidos no trabalho com o Amazon RDS para Db2:

**Topics**
+ [Limitação de autenticação](#db2-known-issues-limitations-authentication-limit)
+ [Rotinas não protegidas](#db2-known-issues-limitations-non-fenced-routines)
+ [Espaços de tabela de armazenamento não automáticos durante a migração](#db2-known-issues-limitations-non-automatic-storage-tablespaces)
+ [Configuração do parâmetro db2\$1compatibility\$1vector](#db2-known-issues-limitations-db2-compatibility-vector)
+ [Migrar bancos de dados que contêm pacotes INVALID](#db2-known-issues-limitations-invalid-packages-migrating)

## Limitação de autenticação
<a name="db2-known-issues-limitations-authentication-limit"></a>

O Amazon RDS define `db2auth` como `JCC_ENFORCE_SECMEC` por padrão. No entanto, se você não quiser aplicar a criptografia de ID de usuário e senha pela rede, substitua essa configuração alterando o parâmetro `db2auth` para `CLEAR_TEXT` no grupo de parâmetros. Para obter mais informações, consulte [Modificar parâmetros em um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

## Rotinas não protegidas
<a name="db2-known-issues-limitations-non-fenced-routines"></a>

O RDS para Db2 não comporta a criação de rotinas não protegidas e a migração delas por meio do backup e da restauração de dados. Para conferir se o banco de dados contém alguma rotina não protegida, execute o seguinte comando SQL:

```
SELECT 'COUNT:' || count(*) FROM SYSCAT.ROUTINES where fenced='N' and routineschema not in ('SQLJ','SYSCAT','SYSFUN','SYSIBM','SYSIBMADM','SYSPROC','SYSTOOLS')
```

## Espaços de tabela de armazenamento não automáticos durante a migração
<a name="db2-known-issues-limitations-non-automatic-storage-tablespaces"></a>

O RDS para Db2 não permite a criação de espaços de tabela de armazenamento não automáticos. Quando você usa a restauração nativa para uma migração única do banco de dados, o RDS para Db2 converte automaticamente os espaços de tabela de armazenamento não automáticos em espaços automáticos e, depois, restaura o banco de dados para o RDS para Db2. Para ter informações sobre migrações únicas, consulte [Migrar do Linux para Linux para o Amazon RDS para Db2](db2-one-time-migration-linux.md) e [Migrar do AIX ou do Windows para Linux para o Amazon RDS para Db2](db2-one-time-migration-aix-windows-linux.md).

## Configuração do parâmetro db2\$1compatibility\$1vector
<a name="db2-known-issues-limitations-db2-compatibility-vector"></a>

Com o Amazon RDS, você pode criar um banco de dados inicial ao criar a instância de banco de dados e, depois, modificar os parâmetros em um grupo de parâmetros associado. No entanto, para o Db2, se você quiser definir o parâmetro `db2_compatibility_vector` em um grupo de parâmetros, primeiro modifique o parâmetro em um grupo de parâmetros personalizado, crie a instância de banco de dados sem um banco de dados e, em seguida, crie um banco de dados usando o procedimento armazenado `rdsadmin.create_database`.

**Como definir o parâmetro `db2_compatibility_vector`**

1. [Crie um grupo de parâmetros personalizado](USER_WorkingWithParamGroups.Creating.md). (Não é possível modificar parâmetros em grupos padrão.)

1. [Modifique o parâmetro](USER_WorkingWithParamGroups.Modifying.md).

1. [Crie uma instância de banco de dados](USER_CreateDBInstance.md).

1. [Crie um banco de dados](db2-managing-databases.md#db2-creating-database) usando o procedimento armazenado `rdsadmin.create_database`.

1. [Associe o grupo de parâmetros](USER_WorkingWithParamGroups.Associating.md) à instância de banco de dados que contém o banco de dados. 

## Migrar bancos de dados que contêm pacotes INVALID
<a name="db2-known-issues-limitations-invalid-packages-migrating"></a>

Se migrar bancos de dados do Db2 que contêm pacotes `INVALID` para o RDS para Db2 usando o comando `RESTORE`, você poderá encontrar problemas ao começar a usar os bancos de dados. Pacotes `INVALID` podem causar problemas devido à configuração de autorização para o usuário da instância de banco de dados `rdsdb` e à remoção da autorização de `PUBLIC`. Pacotes `INVALID` fazem com que os seguintes comandos falhem:
+ `db2updv115`
+ `db2 "call SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS()"`

Antes de migrar o banco de dados com o comando `RESTORE`, certifique-se de que ele não contenha pacotes `INVALID` executando o seguinte comando:

```
db2 "SELECT 'COUNT:' || count(*) FROM SYSCAT.INVALIDOBJECTS"
```

Se o comando retornar uma contagem maior que zero, chame o seguinte comando:

```
db2 "call SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS()"
```

Depois, chame o comando anterior para confirmar que o banco de dados não contém mais pacotes `INVALID`.

```
db2 "SELECT 'COUNT:' || count(*) FROM SYSCAT.INVALIDOBJECTS"
```

Agora está tudo pronto para fazer backup do banco de dados e restaurá-lo na instância de banco de dados do RDS para Db2.

# Referência de procedimentos armazenados do Amazon RDS para Db2
<a name="db2-stored-procedures"></a>

É possível gerenciar instâncias de banco de dados do Amazon RDS para Db2 que executam o mecanismo do Db2 chamando procedimentos armazenados incorporados.


| Procedimento armazenado | Categoria | Descrição | 
| --- | --- | --- | 
|  [rdsadmin.activate\$1database](db2-sp-managing-databases.md#db2-sp-activate-database)  |  Bancos de dados  |  Use o procedimento armazenado `rdsadmin.activate_database` para ativar um banco de dados em uma instância de banco de dados autônoma do RDS para Db2.   | 
|  [rdsadmin.add\$1groups](db2-sp-granting-revoking-privileges.md#db2-sp-add-groups)  |  Conceder e revogar privilégios  |  Use o procedimento armazenado `rdsadmin.add_groups` para adicionar um ou mais grupos a um usuário para um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.add\$1user](db2-sp-granting-revoking-privileges.md#db2-sp-add-user)  |  Conceder e revogar privilégios  |  Use o procedimento armazenado `rdsadmin.add_user` para adicionar um usuário a uma lista de autorização de um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.alter\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-alter-buffer-pool)  |  Grupos de buffer  |  Use o procedimento armazenado `rdsadmin.alter_bufferpool` para modificar um grupo de buffers de um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.alter\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-alter-tablespace)  |  Tablespaces  |  Use o procedimento armazenado `rdsadmin.alter_tablespace` para modificar um espaço de tabela de um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.backup\$1database](db2-sp-managing-databases.md#db2-sp-backup-database)  |  Banco de dados  |  Use o procedimento armazenado `rdsadmin.backup_database` para fazer backup de um banco de dados em uma instância de banco de dados do RDS para Db2 por meio de um bucket do Amazon S3. Depois, você pode restaurar o backup do Amazon S3 para uma instância de banco de dados do RDS para Db2 ou para outro local, como um servidor local.  | 
|  [rdsadmin.catalog\$1storage\$1access](db2-sp-managing-storage-access.md#db2-sp-catalog-storage-access)  |  Acesso ao armazenamento  |  Use o procedimento armazenado `rdsadmin.catalog_storage_access` para catalogar um alias de armazenamento para acessar um bucket do Amazon S3 com arquivos de dados do Db2 para um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.change\$1password](db2-sp-granting-revoking-privileges.md#db2-sp-change-password)  |  Conceder e revogar privilégios  |  Use o procedimento armazenado `rdsadmin.change_password` para alterar a senha de um usuário de um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.complete\$1rollforward](db2-sp-managing-databases.md#db2-sp-complete-rollforward)  |  Bancos de dados  |  Use o procedimento armazenado `rdsadmin.complete_rollforward` para colocar um banco de dados em uma instância de banco de dados do RDS para Db2 on-line a partir de um estado `ROLL-FORWARD PENDING`. Um estado `ROLL-FORWARD PENDING` ocorre quando você chama [rdsadmin.rollforward\$1database](db2-sp-managing-databases.md#db2-sp-rollforward-database), mas define o parâmetro `complete_rollforward` como `FALSE`.  | 
|  [rdsadmin.configure\$1db\$1audit](db2-sp-managing-audit-policies.md#db2-sp-configure-db-audit)  |  Políticas de auditoria  |  Use o procedimento armazenado `rdsadmin.configure_db_audit` para modificar uma política de auditoria de um banco de dados em uma instância de banco de dados do RDS para Db2. Se não existir uma política de auditoria, a execução desse procedimento armazenado cria uma política de auditoria.  | 
|  [rdsadmin.create\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-create-buffer-pool)  |  Grupos de buffer  |  Use o procedimento armazenado `rdsadmin.create_bufferpool` para criar um grupo de buffers de um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database)  |  Bancos de dados  |  Use o procedimento armazenado `rdsadmin.create_database` para criar um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.create\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-create-role)  |  Conceder e revogar privilégios  |  Use o procedimento armazenado `rdsadmin.create_role` para criar um perfil para anexar a um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.create\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-create-tablespace)  |  Tablespaces  |  Use o procedimento armazenado `rdsadmin.create_tablespace` para criar um espaço de tabela de um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.db2pd\$1command](db2-sp-managing-databases.md#db2-sp-db2pd-command)  |  Bancos de dados  |  Use o procedimento armazenado `rdsadmin.db2pd_command` para coletar informações sobre um banco de dados em uma instância de banco de dados do RDS para Db2. Essas informações podem ajudar no monitoramento e na solução de problemas de bancos de dados do RDS para Db2.  | 
|  [rdsadmin.db2support\$1command](db2-sp-managing-databases.md#db2-sp-db2support-command)  |  Bancos de dados  |  Use o procedimento armazenado `rdsadmin.db2support_command` para coletar informações de diagnóstico sobre um banco de dados em uma instância de banco de dados do RDS para Db2 e carregá-las em um bucket do Amazon S3.  | 
|  [rdsadmin.dbadm\$1grant](db2-sp-granting-revoking-privileges.md#db2-sp-dbadm-grant)  |  Conceder e revogar privilégios  |  Use o procedimento armazenado `rdsadmin.dbadm_grant` para conceder um ou mais tipos de autorização (`DBADM`, `ACCESSCTRL` ou `DATAACCESS`) a um ou mais perfis, usuários ou grupos de um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.dbadm\$1revoke](db2-sp-granting-revoking-privileges.md#db2-sp-dbadm-revoke)  |  Conceder e revogar privilégios  |  Use o procedimento armazenado `rdsadmin.dbadm_revoke` para revogar um ou mais tipos de autorização (`DBADM`, `ACCESSCTRL` ou `DATAACCESS`) de um ou mais perfis, usuários ou grupos de um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|   [rdsadmin.deactivate\$1database](db2-sp-managing-databases.md#db2-sp-deactivate-database)  |  Bancos de dados  |  Use o procedimento armazenado `rdsadmin.deactivate_database` para desativar um banco de dados em uma instância de banco de dados do RDS para Db2. Você pode desativar bancos de dados usados para preservar recursos de memória.  | 
|  [rdsadmin.disable\$1db\$1audit](db2-sp-managing-audit-policies.md#db2-sp-disable-db-audit)  |  Políticas de auditoria  |  Use o procedimento armazenado `rdsadmin.disable_db_audit` para interromper o registro em log de auditoria e remover uma política de auditoria de um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.drop\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-drop-buffer-pool)  |  Grupos de buffer  |  Use o procedimento armazenado `rdsadmin.drop_bufferpool` para descartar um grupo de buffers de um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.drop\$1database](db2-sp-managing-databases.md#db2-sp-drop-database)  |  Bancos de dados  |  Use o procedimento armazenado `rdsadmin.drop_database` para descartar um banco de dados de uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.drop\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-drop-role)  |  Conceder e revogar privilégios  |  Use o procedimento armazenado `rdsadmin.drop_role` para excluir um perfil de um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.drop\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-drop-tablespace)  |  Tablespaces  |  Use o procedimento armazenado `rdsadmin.drop_tablespace` para descartar um espaço de tabela de um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.fgac\$1command](db2-sp-managing-databases.md#db2-sp-fgac-command)  |  Bancos de dados  |  Use o procedimento armazenado `rdsadmin.fgac_command` para controlar o acesso em nível de linha ou coluna aos dados da tabela em seu banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.force\$1application](db2-sp-managing-databases.md#db2-sp-force-application)  |  Bancos de dados  |  Use o procedimento armazenado `rdsadmin.force_application` para forçar a saída de aplicações de um banco de dados em uma instância de banco de dados do RDS para Db2 para realizar manutenção.   | 
|  [rdsadmin.grant\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-grant-role)  |  Conceder e revogar privilégios  |  Use o procedimento armazenado `rdsadmin.grant_role` para atribuir um perfil a um perfil, um usuário ou um grupo favorecido em um banco de dados em uma instância de banco de dados do RDS para Db2. Você também pode usar esse procedimento armazenado para conceder à função de favorecido a autorização `DBADM` para atribuir funções.  | 
|  [rdsadmin.list\$1archive\$1log\$1information](db2-sp-managing-databases.md#db2-sp-list-archive-log-information)  |  Bancos de dados  |  Use o procedimento armazenado `rdsadmin.list_archive_log_information` para exibir informações sobre logs de arquivamento para um banco de dados em uma instância de banco de dados do RDS para Db2. Essas informações incluem determinados detalhes, como tamanho e data de criação de arquivos de log individuais e armazenamento total usado pelos arquivos de log de arquivamento.  | 
|  [rdsadmin.list\$1sid\$1group\$1mapping](db2-sp-granting-revoking-privileges.md#db2-sp-list-sid-group-mapping)  |  Conceder e revogar privilégios  |  Use o procedimento armazenado `rdsadmin.list_sid_group_mapping` para exibir uma lista de todos os mapeamentos de ID de segurança (SID) e grupo do Active Directory configurados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.list\$1users](db2-sp-granting-revoking-privileges.md#db2-sp-list-users)  |  Conceder e revogar privilégios  |  Use o procedimento armazenado `rdsadmin.list_users` para exibir uma lista de usuários em uma lista de autorização para um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.reactivate\$1database](db2-sp-managing-databases.md#db2-sp-reactivate-database)  |  Bancos de dados  |  Use o procedimento armazenado `rdsadmin.reactivate_database` para reativar um banco de dados em uma instância de banco de dados do RDS para Db2 depois de fazer alterações na configuração do banco de dados. Em relação a um banco de dados em uma instância de banco de dados autônoma, é possível usar esse procedimento armazenado ou o procedimento armazenado [rdsadmin.activate\$1database](db2-sp-managing-databases.md#db2-sp-activate-database). Em relação a um banco de dados em uma instância de banco de dados de origem de réplica, é necessário usar o procedimento armazenado `rdsadmin.reactivate_database`.  | 
|  [rdsadmin.remove\$1groups](db2-sp-granting-revoking-privileges.md#db2-sp-remove-groups)  |  Conceder e revogar privilégios  |  Use o procedimento armazenado `rdsadmin.remove_groups` para remover um ou mais grupos de um usuário de um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.remove\$1sid\$1group\$1mapping](db2-sp-granting-revoking-privileges.md#db2-sp-remove-sid-group-mapping)  |  Conceder e revogar privilégios  |  Use o procedimento armazenado `rdsadmin.remove_sid_group_mapping` para remover um ID de segurança (SID) e o respectivo mapeamento do grupo do Active Directory correspondente de uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.remove\$1user](db2-sp-granting-revoking-privileges.md#db2-sp-remove-user)  |  Conceder e revogar privilégios  |  Use o procedimento armazenado `rdsadmin.remove_user` para remover um usuário de uma lista de autorização de um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.rename\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-rename-tablespace)  |  Tablespaces  |  Use o procedimento armazenado `rdsadmin.rename_tablespace` para renomear um espaço de tabela de um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database)  |  Bancos de dados  |  Use o procedimento armazenado `rdsadmin.restore_database` para restaurar um banco de dados em uma instância de banco de dados do RDS para Db2 a partir de um bucket do Amazon S3.  | 
|  [rdsadmin.revoke\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-revoke-role)  |  Conceder e revogar privilégios  |  Use o procedimento armazenado `rdsadmin.revoke_role` para revogar um perfil de um perfil, um usuário ou um grupo favorecido em um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.rollforward\$1database](db2-sp-managing-databases.md#db2-sp-rollforward-database)  |  Bancos de dados  |  Use o procedimento armazenado `rdsadmin.rollforward_database` para colocar um banco de dados em uma instância de banco de dados do RDS para Db2 on-line e aplicar logs de transações depois de restaurar um banco de dados em uma instância de banco de dados do RDS para Db2 chamando [rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database).  | 
|  [rdsadmin.rollforward\$1status](db2-sp-managing-databases.md#db2-sp-rollforward-status)  |  Bancos de dados  |  Use o procedimento armazenado `rdsadmin.rollforward_status` para consultar o status de roll forward da chamada do procedimento armazenado [rdsadmin.rollforward\$1database](db2-sp-managing-databases.md#db2-sp-rollforward-database) ou [rdsadmin.complete\$1rollforward](db2-sp-managing-databases.md#db2-sp-complete-rollforward) em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.set\$1archive\$1log\$1retention](db2-sp-managing-databases.md#db2-sp-set-archive-log-retention)  |  Bancos de dados  |  Use o procedimento armazenado `rdsadmin.set_archive_log_retention` para configurar por quanto tempo reter arquivos de log de arquivamento de um banco de dados em uma instância de banco de dados do RDS para Db2. Você também pode usar esse procedimento armazenado para desabilitar a retenção de logs de arquivamento.  | 
|  [rdsadmin.set\$1configuration](db2-sp-managing-databases.md#db2-sp-set-configuration)  |  Bancos de dados  |  Use o procedimento armazenado `rdsadmin.set_configuration` para configurar determinadas configurações de um banco de dados em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.set\$1sid\$1group\$1mapping](db2-sp-granting-revoking-privileges.md#db2-sp-set-sid-group-mapping)  |  Conceder e revogar privilégios  |  Use o procedimento armazenado `rdsadmin.set_sid_group_mapping` para criar um mapeamento entre um ID de segurança (SID) e o grupo do Active Directory correspondente em uma instância de banco de dados do RDS para Db2.  | 
|  [rdsadmin.show\$1archive\$1log\$1retention](db2-sp-managing-databases.md#db2-sp-show-archive-log-retention)  |  Bancos de dados  | Use o procedimento armazenado rdsadmin.show\$1archive\$1log\$1retention para exibir a configuração atual de retenção do log de arquivamento de um banco de dados em uma instância de banco de dados do RDS para Db2. | 
|  [rdsadmin.show\$1configuration](db2-sp-managing-databases.md#db2-sp-show-configuration)  |  Bancos de dados  | Use o procedimento armazenado rdsadmin.show\$1configuration para exibir uma ou mais configurações que podem ser modificadas de um banco de dados em uma instância de banco de dados do RDS para Db2. | 
|  [rdsadmin.uncatalog\$1storage\$1access](db2-sp-managing-storage-access.md#db2-sp-uncatalog-storage-access)  |  Acesso ao armazenamento  |  Use o procedimento armazenado `rdsadmin.uncatalog_storage_access` para remover um alias de armazenamento para acessar um bucket do Amazon S3 com arquivos de dados do Db2.  | 
|  [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param)  |  Bancos de dados  | Use o procedimento armazenado rdsadmin.update\$1db\$1param para atualizar parâmetros de banco de dados de um banco de dados em uma instância de banco de dados do RDS para Db2. | 
|  [rdsadmin.enable\$1archive\$1log\$1copy](db2-sp-managing-databases.md#db2-sp-enable_archive_log_copy)  |  Bancos de dados  | Use o procedimento armazenado rdsadmin.enable\$1archive\$1log\$1copy para habilitar a cópia de logs de arquivamento do banco de dados RDS para Db2 para o Amazon S3. | 
|  [rdsadmin.disable\$1archive\$1log\$1copy](db2-sp-managing-databases.md#db2-sp-disable_archive_log_copy)  |  Bancos de dados  | Use o procedimento armazenado rdsadmin.disable\$1archive\$1log\$1copy para desabilitar a cópia de logs de arquivamento do banco de dados RDS para Db2 para o Amazon S3. | 

**Topics**
+ [Considerações para procedimentos armazenados do Amazon RDS para Db2](db2-stored-procedures-considerations.md)
+ [Procedimentos armazenados para conceder e revogar privilégios para o RDS para Db2](db2-sp-granting-revoking-privileges.md)
+ [Procedimentos armazenados para políticas de auditoria para o RDS para Db2](db2-sp-managing-audit-policies.md)
+ [Procedimentos armazenados para grupos de buffer do RDS para Db2](db2-sp-managing-buffer-pools.md)
+ [Procedimentos armazenados para bancos de dados do RDS para Db2](db2-sp-managing-databases.md)
+ [Procedimentos armazenados para acesso ao armazenamento do RDS para Db2](db2-sp-managing-storage-access.md)
+ [Procedimentos armazenados para espaços de tabela do RDS para Db2](db2-sp-managing-tablespaces.md)

# Considerações para procedimentos armazenados do Amazon RDS para Db2
<a name="db2-stored-procedures-considerations"></a>

Antes de usar os procedimentos armazenados do sistema Amazon RDS para instâncias de banco de dados do RDS para Db2 que executam o mecanismo Db2, revise as seguintes informações:
+ Antes de executar procedimentos armazenados, primeiro você deve se conectar ao banco de dados `rdsadmin` como usuário principal 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"
  ```
+ Os procedimentos armazenados exibem o parâmetro `ERR_MESSAGE`, que indica se o procedimento armazenado foi executado com êxito ou não e por que não foi executado com êxito.

  **Exemplos**

  O exemplo a seguir indica que o procedimento armazenado foi executado com êxito.

  ```
  Parameter Name : ERR_MESSAGE
  Parameter Value : -
  Return Status = 0
  ```

  O exemplo a seguir indica que o procedimento armazenado não foi executado com êxito porque o nome do bucket do Amazon S3 usado no procedimento armazenado não era válido.

  ```
  Parameter Name : ERR_MESSAGE
  Parameter Value : Invalid S3 bucket name
  Return Status = -1006
  ```

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

Para obter informações sobre como conferir o status de um procedimento armazenado, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

# Procedimentos armazenados para conceder e revogar privilégios para o RDS para Db2
<a name="db2-sp-granting-revoking-privileges"></a>

Os procedimentos armazenados integrados descritos neste tópico gerenciam usuários, funções, grupos e autorizações 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`. 

Para tarefas que usam esses procedimentos armazenados, consulte [Conceder e revogar privilégios](db2-granting-revoking-privileges.md) e [Configurar a autenticação Kerberos](db2-kerberos-setting-up.md). 

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

**Topics**
+ [rdsadmin.create\$1role](#db2-sp-create-role)
+ [rdsadmin.grant\$1role](#db2-sp-grant-role)
+ [rdsadmin.revoke\$1role](#db2-sp-revoke-role)
+ [rdsadmin.drop\$1role](#db2-sp-drop-role)
+ [rdsadmin.add\$1user](#db2-sp-add-user)
+ [rdsadmin.change\$1password](#db2-sp-change-password)
+ [rdsadmin.list\$1users](#db2-sp-list-users)
+ [rdsadmin.remove\$1user](#db2-sp-remove-user)
+ [rdsadmin.add\$1groups](#db2-sp-add-groups)
+ [rdsadmin.remove\$1groups](#db2-sp-remove-groups)
+ [rdsadmin.dbadm\$1grant](#db2-sp-dbadm-grant)
+ [rdsadmin.dbadm\$1revoke](#db2-sp-dbadm-revoke)
+ [rdsadmin.set\$1sid\$1group\$1mapping](#db2-sp-set-sid-group-mapping)
+ [rdsadmin.list\$1sid\$1group\$1mapping](#db2-sp-list-sid-group-mapping)
+ [rdsadmin.remove\$1sid\$1group\$1mapping](#db2-sp-remove-sid-group-mapping)

## rdsadmin.create\$1role
<a name="db2-sp-create-role"></a>

Cria um perfil.

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

```
db2 "call rdsadmin.create_role(
    'database_name',
    'role_name')"
```

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

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

*database\$1name*  
O nome do banco de dados no qual o comando será executado. O tipo de dados é `varchar`.

*role\$1name*  
O nome do perfil que você deseja criar. O tipo de dados é `varchar`.

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

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

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

O exemplo a seguir cria um perfil denominado `MY_ROLE` para o banco de dados `DB2DB`.

```
db2 "call rdsadmin.create_role(
    'DB2DB',
    'MY_ROLE')"
```

## rdsadmin.grant\$1role
<a name="db2-sp-grant-role"></a>

Atribui um perfil a um perfil, um usuário ou um grupo.

### Sintaxe
<a name="db2-sp-grant-role-syntax"></a>

```
db2 "call rdsadmin.grant_role(
    ?,
    'database_name',
    'role_name',
    'grantee',
    'admin_option')"
```

### Parâmetros
<a name="db2-sp-grant-role-parameters"></a>

O seguinte parâmetro de saída é obrigatório: 

?  
Um marcador de parâmetro que gera o identificador exclusivo da tarefa. Esse parâmetro aceita apenas `?`.

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

*database\$1name*  
O nome do banco de dados no qual o comando será executado. O tipo de dados é `varchar`.

*role\$1name*  
O nome do perfil que você deseja criar. O tipo de dados é `varchar`.

*grantee*  
O perfil, o usuário ou o grupo para receber autorização. O tipo de dados é `varchar`. Valores válidos: `ROLE`, `USER`, `GROUP`, `PUBLIC`.   
O formato deve ser um valor seguido pelo nome. Separe vários valores e nomes com vírgulas. Exemplo: “”: '`USER user1, user2, GROUP group1, group2`'. Substitua os nomes por suas próprias informações.

O seguinte parâmetro de entrada é opcional:

*admin\$1option*  
Especifica se o beneficiário de `ROLE` tem autorização `DBADM` para atribuir perfis. O tipo de dados é `char`. O padrão é `N`.

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

Para ter informações sobre como conferir o status de atribuição de um perfil, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

### Exemplos
<a name="db2-sp-grant-role-examples"></a>

**Exemplo 1: atribuição de perfil a perfil, usuário e grupo e concessão de autorização**

O exemplo a seguir atribui um perfil chamado `ROLE_TEST` do banco de dados `TESTDB` ao perfil chamado `role1`, ao usuário chamado `user1` e ao grupo chamado `group1`. O `ROLE_TEST` recebe autorização de administrador para atribuir perfis.

```
db2 "call rdsadmin.grant_role(
    ?,
    'TESTDB',
    'ROLE_TEST',
    'ROLE role1, USER user1, GROUP group1',
    'Y')"
```

**Exemplo 2: atribuição de perfil a `PUBLIC` e não concessão de autorização**

O exemplo a seguir atribui um perfil chamado `ROLE_TEST` do banco de dados `TESTDB` a `PUBLIC`. `ROLE_TEST` não recebe autorização de administrador para atribuir perfis.

```
db2 "call rdsadmin.grant_role(
    ?,
    'TESTDB',
    'ROLE_TEST',
    'PUBLIC')"
```

## rdsadmin.revoke\$1role
<a name="db2-sp-revoke-role"></a>

Revoga um perfil de um perfil, um usuário ou um grupo.

### Sintaxe
<a name="db2-sp-revoke-role-syntax"></a>

```
db2 "call rdsadmin.revoke_role(
    ?,
    'database_name',
    'role_name',
    'grantee')"
```

### Parâmetros
<a name="db2-sp-revoke-role-parameters"></a>

O seguinte parâmetro de saída é obrigatório: 

?  
Um marcador de parâmetro que gera o identificador exclusivo da tarefa. Esse parâmetro aceita apenas ?.

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

*database\$1name*  
O nome do banco de dados no qual o comando será executado. O tipo de dados é `varchar`.

*role\$1name*  
O nome do perfil que você deseja revogar. O tipo de dados é `varchar`.

*grantee*  
O perfil, o usuário ou o grupo que perderá a autorização. O tipo de dados é `varchar`. Valores válidos: `ROLE`, `USER`, `GROUP`, `PUBLIC`.   
O formato deve ser um valor seguido pelo nome. Separe vários valores e nomes com vírgulas. Exemplo: “”: '`USER user1, user2, GROUP group1, group2`'. Substitua os nomes por suas próprias informações.

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

Para obter informações sobre como verificar o status de revogação de um perfil, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

### Exemplos
<a name="db2-sp-revoke-role-examples"></a>

**Exemplo 1: revogação de perfil de usuário, perfil e grupo**

O exemplo a seguir revoga um perfil chamado `ROLE_TEST` para o banco de dados `TESTDB` do perfil chamado `role1`, do usuário chamado `user1` e do grupo chamado `group1`.

```
db2 "call rdsadmin.revoke_role(
    ?,
    'TESTDB',
    'ROLE_TEST',
    'ROLE role1, USER user1, GROUP group1')"
```

**Exemplo 2: revogação de perfil de `PUBLIC`**

O exemplo a seguir revoga um perfil denominado `ROLE_TEST` para o banco de dados `TESTDB` de `PUBLIC`. 

```
db2 "call rdsadmin.revoke_role(
    ?,
    'TESTDB',
    'ROLE_TEST',
    'PUBLIC')"
```

## rdsadmin.drop\$1role
<a name="db2-sp-drop-role"></a>

Descarta um perfil.

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

```
db2 "call rdsadmin.drop_role(
    ?,
    'database_name',
    'role_name')"
```

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

O seguinte parâmetro de saída é obrigatório: 

?  
Um marcador de parâmetro que gera o identificador exclusivo da tarefa. Esse parâmetro aceita apenas ?.

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

*database\$1name*  
O nome do banco de dados no qual o comando será executado. O tipo de dados é `varchar`.

*role\$1name*  
O nome do perfil que você deseja descartar. O tipo de dados é `varchar`.

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

Para obter informações sobre como conferir o status de descarte de um perfil, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

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

O exemplo a seguir descarta um perfil denominado `ROLE_TEST` para o banco de dados `TESTDB`.

```
db2 "call rdsadmin.drop_role(
    ?,
    'TESTDB',
    'ROLE_TEST')"
```

## rdsadmin.add\$1user
<a name="db2-sp-add-user"></a>

Adiciona um usuário a uma lista de autorizações.

### Sintaxe
<a name="db2-sp-add-user-syntax"></a>

```
db2 "call rdsadmin.add_user(
    'username',
    'password',
    'group_name,group_name')"
```

### Parâmetros
<a name="db2-sp-add-user-parameters"></a>

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

*Nome de usuário do*  
O nome de um usuário. O tipo de dados é `varchar`.

*senha do*  
A senha de um usuário. O tipo de dados é `varchar`.

O seguinte parâmetro é opcional:

*nome\$1grupo*  
O nome de um grupo ao qual você deseja adicionar o usuário. O tipo de dados é `varchar`. O padrão é uma string vazia ou nula. 

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

É possível adicionar um usuário a um ou mais grupos separando os nomes dos grupos com vírgulas. 

É possível criar um grupo ao criar um usuário ou ao [adicionar um grupo a um usuário existente](db2-granting-revoking-privileges.md#add-group-to-user). Não é possível criar um grupo sozinho.

**nota**  
O número máximo de usuários que você pode adicionar chamando `rdsadmin.add_user` é 5 mil.

Para ter informações sobre como conferir o status de adição de um usuário, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

### Exemplos
<a name="db2-sp-add-user-examples"></a>

O exemplo a seguir cria um usuário chamado `jorge_souza` e o atribui aos grupos chamados `sales` e `inside_sales`.

```
db2 "call rdsadmin.add_user(
    'jorge_souza',
    '*******',
    'sales,inside_sales')"
```

## rdsadmin.change\$1password
<a name="db2-sp-change-password"></a>

Altera a senha de um usuário.

### Sintaxe
<a name="db2-sp-change-password-syntax"></a>

```
db2 "call rdsadmin.change_password(
    'username',
    'new_password')"
```

### Parâmetros
<a name="db2-sp-change-password-parameters"></a>

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

*Nome de usuário do*  
O nome de um usuário. O tipo de dados é `varchar`.

*new\$1password*  
Uma nova senha para o usuário. O tipo de dados é `varchar`.

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

Para ter informações sobre como verificar o status da alteração de uma senha, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

### Exemplos
<a name="db2-sp-change-password-examples"></a>

O exemplo a seguir altera a senha de `jorge_souza`.

```
db2 "call rdsadmin.change_password(
    'jorge_souza',
    '*******')"
```

## rdsadmin.list\$1users
<a name="db2-sp-list-users"></a>

Lista os usuários em uma lista de autorizações. 

### Sintaxe
<a name="db2-sp-list-users-syntax"></a>

```
db2 "call rdsadmin.list_users()"
```

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

Para ter informações sobre como conferir o status da lista de usuários, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

## rdsadmin.remove\$1user
<a name="db2-sp-remove-user"></a>

Remove o usuário da lista de autorizações.

### Sintaxe
<a name="db2-sp-remove-user-syntax"></a>

```
db2 "call rdsadmin.remove_user('username')"
```

### Parâmetros
<a name="db2-sp-remove-user-parameters"></a>

O seguinte parâmetro é obrigatório:

*Nome de usuário do*  
O nome de um usuário. O tipo de dados é `varchar`.

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

Para ter informações sobre como conferir o status de remoção de um usuário, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

### Exemplos
<a name="db2-sp-remove-user-examples"></a>

O exemplo a seguir remove `jorge_souza` da possibilidade de acessar bancos de dados em instâncias de banco de dados do RDS para Db2.

```
db2 "call rdsadmin.remove_user('jorge_souza')"
```

## rdsadmin.add\$1groups
<a name="db2-sp-add-groups"></a>

Adiciona grupos a um usuário.

### Sintaxe
<a name="db2-sp-add-groups-syntax"></a>

```
db2 "call rdsadmin.add_groups(
    'username',
    'group_name,group_name')"
```

### Parâmetros
<a name="db2-sp-add-groups-parameters"></a>

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

*Nome de usuário do*  
O nome de um usuário. O tipo de dados é `varchar`.

*nome\$1grupo*  
O nome de um grupo ao qual você deseja adicionar o usuário. O tipo de dados é `varchar`. O padrão é uma string vazia.

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

É possível adicionar um ou mais grupos a um usuário separando os nomes dos grupos com vírgulas. Para ter informações sobre como conferir o status de adição de grupos, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

### Exemplos
<a name="db2-sp-add-groups-examples"></a>

O exemplo a seguir adiciona os grupos `direct_sales` e `b2b_sales` ao usuário `jorge_souza`. 

```
db2 "call rdsadmin.add_groups(
    'jorge_souza',
    'direct_sales,b2b_sales')"
```

## rdsadmin.remove\$1groups
<a name="db2-sp-remove-groups"></a>

Remove grupos de um usuário.

### Sintaxe
<a name="db2-sp-remove-groups-syntax"></a>

```
db2 "call rdsadmin.remove_groups(
    'username',
    'group_name,group_name')"
```

### Parâmetros
<a name="db2-sp-remove-groups-parameters"></a>

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

*Nome de usuário do*  
O nome de um usuário. O tipo de dados é `varchar`.

*nome\$1grupo*  
O nome de um grupo do qual você deseja remover o usuário. O tipo de dados é `varchar`.

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

É possível remover um ou mais grupos de um usuário separando os nomes dos grupos com vírgulas. 

Para ter informações sobre como conferir o status de remoção de grupos, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

### Exemplos
<a name="db2-sp-remove-groups-examples"></a>

O exemplo a seguir remove os grupos `direct_sales` e `b2b_sales` do usuário `jorge_souza`. 

```
db2 "call rdsadmin.remove_groups(
    'jorge_souza',
    'direct_sales,b2b_sales')"
```

## rdsadmin.dbadm\$1grant
<a name="db2-sp-dbadm-grant"></a>

Concede a autorização `DBADM`, `ACCESSCTRL` ou `DATAACCESS` a um perfil um usuário ou um grupo.

### Sintaxe
<a name="db2-sp-dbadm-grant-syntax"></a>

```
db2 "call rdsadmin.dbadm_grant(
    ?,
    'database_name',
    'authorization',
    'grantee')"
```

### Parâmetros
<a name="db2-sp-dbadm-grant-parameters"></a>

O seguinte parâmetro de saída é obrigatório: 

?  
Um marcador de parâmetro que gera o identificador exclusivo da tarefa. Esse parâmetro aceita apenas `?`.

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

*database\$1name*  
O nome do banco de dados no qual o comando será executado. O tipo de dados é `varchar`. 

*authorization*  
O tipo de autorização a ser concedida. O tipo de dados é `varchar`. Valores válidos: `DBADM`, `ACCESSCTRL`, `DATAACCESS`.   
Separe vários tipos com vírgulas.

*grantee*  
O perfil, o usuário ou o grupo para receber autorização. O tipo de dados é `varchar`. Valores válidos: `ROLE`, `USER`, `GROUP`.   
O formato deve ser um valor seguido pelo nome. Separe vários valores e nomes com vírgulas. Exemplo: “”: '`USER user1, user2, GROUP group1, group2`'. Substitua os nomes por suas próprias informações.

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

Deve existir o perfil para receber acesso.

Para ter informações sobre como conferir o status de concessão de acesso de administrador de banco de dados, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemplos
<a name="db2-sp-dbadm-grant-examples"></a>

**Exemplo 1: concessão de acesso de administrador do banco de dados a um perfil**

O exemplo a seguir concede acesso de administrador ao banco de dados denominado `TESTDB` para o perfil `ROLE_DBA`.

```
db2 "call rdsadmin.dbadm_grant(
    ?, 
    'TESTDB',
    'DBADM',
    'ROLE ROLE_DBA')"
```

**Exemplo 2: concessão de acesso de administrador do banco de dados a usuário e grupo**

O exemplo a seguir concede acesso de administrador ao banco de dados denominado `TESTDB` para `user1` e `group1`.

```
db2 "call rdsadmin.dbadm_grant(
    ?, 
    'TESTDB', 
    'DBADM', 
    'USER user1, GROUP group1')"
```

**Exemplo 3: concessão de acesso de administrador de banco de dados a vários usuários e grupos**

O exemplo a seguir concede acesso de administrador ao banco de dados denominado `TESTDB` para `user1`, `user2`, `group1` e `group2`.

```
db2 "call rdsadmin.dbadm_grant(
    ?, 
    'TESTDB', 
    'DBADM', 
    'USER user1, user2, GROUP group1, group2')"
```

## rdsadmin.dbadm\$1revoke
<a name="db2-sp-dbadm-revoke"></a>

Revoga a autorização `DBADM`, `ACCESSCTRL` ou `DATAACCESS` de um perfil, um usuário ou um grupo.

### Sintaxe
<a name="db2-sp-dbadm-revoke-syntax"></a>

```
db2 "call rdsadmin.dbadm_revoke(
    ?,
    'database_name',
    'authorization',
    'grantee')"
```

### Parâmetros
<a name="db2-sp-dbadm-revoke-parameters"></a>

O seguinte parâmetro de saída é obrigatório: 

?  
O identificador exclusivo da tarefa. Esse parâmetro aceita apenas `?`.

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

*database\$1name*  
O nome do banco de dados no qual o comando será executado. O tipo de dados é `varchar`.

*authorization*  
O tipo de autorização a ser revogada. O tipo de dados é `varchar`. Valores válidos: `DBADM`, `ACCESSCTRL`, `DATAACCESS`.   
Separe vários tipos com vírgulas.

*grantee*  
O perfil, o usuário ou o grupo do qual revogar a autorização. O tipo de dados é `varchar`. Valores válidos: `ROLE`, `USER`, `GROUP`.   
O formato deve ser um valor seguido pelo nome. Separe vários valores e nomes com vírgulas. Exemplo: “”: '`USER user1, user2, GROUP group1, group2`'. Substitua os nomes por suas próprias informações.

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

Para ter informações sobre como conferir o status de revogação de acesso de administrador de banco de dados, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemplos
<a name="db2-sp-dbadm-revoke-examples"></a>

**Exemplo 1: revogação do acesso de administrador do banco de dados do perfil**

O exemplo a seguir revoga o acesso de administrador ao banco de dados denominado `TESTDB` para o perfil `ROLE_DBA`.

```
db2 "call rdsadmin.dbadm_revoke(
    ?, 
    'TESTDB',
    'DBADM',
    'ROLE ROLE_DBA')"
```

**Exemplo 2: revogação do acesso de administrador do banco de dados do usuário e do grupo**

O exemplo a seguir revoga o acesso de administrador ao banco de dados denominado `TESTDB` para `user1` e `group1`.

```
db2 "call rdsadmin.dbadm_revoke(
    ?, 
    'TESTDB', 
    'DBADM', 
    'USER user1, GROUP group1')"
```

**Exemplo 3: revogação do acesso de administrador do banco de dados de vários usuários e grupos**

O exemplo a seguir revoga o acesso de administrador ao banco de dados denominado `TESTDB` para `user1`, `user2`, `group1` e `group2`.

```
db2 "call rdsadmin.dbadm_revoke(
    ?, 
    'TESTDB', 
    'DBADM', 
    'USER user1, user2, GROUP group1, group2')"
```

## rdsadmin.set\$1sid\$1group\$1mapping
<a name="db2-sp-set-sid-group-mapping"></a>

Cria um mapeamento entre um ID de segurança (SID) e o grupo correspondente do Active Directory.

### Sintaxe
<a name="db2-sp-set-sid-group-mapping-syntax"></a>

```
db2 "call rdsadmin.set_sid_group_mapping(
    ?,
    'SID',
    'group_name')"
```

### Parâmetros
<a name="db2-sp-set-sid-group-mapping-parameters"></a>

O seguinte parâmetro de saída é obrigatório:

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro aceita apenas `?`.

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

*SID*  
O ID de segurança (SID). O tipo de dados é `varchar`.

*nome\$1grupo*  
O nome do grupo do Active Directory a ser associado ao SID. O tipo de dados é `varchar`.

### Observações de uso
<a name="db2-sp-set-sid-group-mapping-usage-notes"></a>

Use esse procedimento armazenado para habilitar a autenticação Kerberos com grupos do Active Directory. Se o `SID` ou o `group_name` já existir no mapeamento, esse procedimento armazenado falhará.

Para ter informações sobre como encontrar o SID para um grupo, consulte [Etapa 8: recuperar o SID do grupo do Active Directory no PowerShellEtapa 8: recuperar o SID do grupo do Active Directory no PowerShell](db2-kerberos-setting-up.md#db2-kerberos-setting-up-retrieve-ad-group-sid).

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

### Exemplos
<a name="db2-sp-set-sid-group-mapping-examples"></a>

O exemplo a seguir associa um SID a um grupo chamado `my_group`.

```
db2 "call rdsadmin.set_sid_group_mapping(
    ?,
    'S-1-5-21-9146495592-531070549-834388463-513',
    'my_group')"
```

## rdsadmin.list\$1sid\$1group\$1mapping
<a name="db2-sp-list-sid-group-mapping"></a>

Lista todos os mapeamentos de ID de segurança (SID) e grupos do Active Directory configurados na instância de banco de dados.

### Sintaxe
<a name="db2-sp-list-sid-group-mapping-syntax"></a>

```
db2 "call rdsadmin.list_sid_group_mapping()"
```

### Observações de uso
<a name="db2-sp-list-sid-group-mapping-usage-notes"></a>

Para ter informações sobre como conferir o status da lista de mapeamentos, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

## rdsadmin.remove\$1sid\$1group\$1mapping
<a name="db2-sp-remove-sid-group-mapping"></a>

Remove um ID de segurança (SID) e o mapeamento de grupo correspondente do Active Directory de uma instância de banco de dados.

### Sintaxe
<a name="db2-sp-remove-sid-group-mapping-syntax"></a>

```
db2 "call rdsadmin.remove_sid_group_mapping(
    ?,
    'SID')"
```

### Parâmetros
<a name="db2-sp-remove-sid-group-mapping-parameters"></a>

O seguinte parâmetro de saída é obrigatório:

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro aceita apenas `?`.

O seguinte parâmetro de entrada é obrigatório:

*SID*  
O ID de segurança (SID). O tipo de dados é `varchar`.

### Observações de uso
<a name="db2-sp-remove-sid-group-mapping-usage-notes"></a>

Para ter informações sobre como encontrar o SID para um grupo, consulte [Etapa 8: recuperar o SID do grupo do Active Directory no PowerShellEtapa 8: recuperar o SID do grupo do Active Directory no PowerShell](db2-kerberos-setting-up.md#db2-kerberos-setting-up-retrieve-ad-group-sid).

Para ter informações sobre como conferir o status de remoção de mapeamento, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemplos
<a name="db2-sp-remove-sid-group-mapping-examples"></a>

O exemplo a seguir remove um mapeamento de SID do grupo ao qual ele foi associado.

```
db2 "call rdsadmin.remove_sid_group_mapping(
    ?,
    'S-1-5-21-9146495592-531070549-834388463-513')"
```

# Procedimentos armazenados para políticas de auditoria para o RDS para Db2
<a name="db2-sp-managing-audit-policies"></a>

Os procedimentos integrados armazenados descritos neste tópico gerenciam políticas de auditoria para bancos de dados do Amazon RDS para Db2 que usam o registro em log de auditoria. Para obter mais informações, consulte [Registro em log de auditoria do Db2](Db2.Options.Audit.md). Para executar esses procedimentos, o usuário principal deve primeiro se conectar ao banco de dados `rdsadmin`.

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

**Topics**
+ [rdsadmin.configure\$1db\$1audit](#db2-sp-configure-db-audit)
+ [rdsadmin.disable\$1db\$1audit](#db2-sp-disable-db-audit)

## rdsadmin.configure\$1db\$1audit
<a name="db2-sp-configure-db-audit"></a>

Configura a política de auditoria para o banco de dados do RDS para Db2 especificado por *db\$1name*. Se a política que você está configurando não existir, ela será criada ao chamar esse procedimento armazenado. Se essa política existir, ela será modificada ao chamar esse procedimento armazenado com os valores dos parâmetros fornecidos por você.

### Sintaxe
<a name="db2-sp-configure-db-audit-syntax"></a>

```
db2 "call rdsadmin.configure_db_audit(
    'db_name', 
    'category', 
    'category_setting', 
    '?')"
```

### Parâmetros
<a name="db2-sp-configure-db-audit-parameters"></a>

Os parâmetros a seguir são obrigatórios.

*db\$1name*  
O nome do banco de dados do RDS para Db2 para o qual configurar a política de auditoria. O tipo de dados é `varchar`.

*category*  
O nome da categoria para a qual configurar essa política de auditoria. O tipo de dados é `varchar`. Os valores válidos para esse parâmetro são:  
+ `ALL`: com `ALL`, o Amazon RDS não inclui as categorias `CONTEXT`, `EXECUTE` ou `ERROR`.
+ `AUDIT` 
+ `CHECKING` 
+ `CONTEXT` 
+ `ERROR` 
+ `EXECUTE`: você pode configurar essa categoria com dados ou sem dados. Com dados, significa também registrar em log os valores de dados de entrada fornecidos para quaisquer variáveis do host e marcadores de parâmetros. O padrão é sem dados. Consulte mais informações na descrição do parâmetro *category\$1setting* e os [Exemplos](#db2-sp-configure-db-audit-examples).
+ `OBJMAINT` 
+ `SECMAINT` 
+ `SYSADMIN` 
+ `VALIDATE` 
Consulte mais informações sobre essas categorias na [Documentação do IBM Db2](https://www.ibm.com/docs/en/db2/11.1?topic=statements-create-audit-policy).

*category\$1setting*  
A configuração da categoria de auditoria especificada. O tipo de dados é `varchar`.  
A tabela a seguir mostra os valores válidos da configuração de cada categoria.      
<a name="db2-option-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/db2-sp-managing-audit-policies.html)

### Observações de uso
<a name="db2-sp-configure-db-audit-usage-notes"></a>

Antes de chamar `rdsadmin.configure_db_audit`, verifique se a instância de banco de dados do RDS para Db2 com o banco de dados para o qual você está configurando a política de auditoria está associada a um grupo de opções que tenha a opção `DB2_AUDIT`. Para obter mais informações, consulte [Configurar o registro em log de auditoria do Db2](Db2.Options.Audit.md#db2-audit-setting-up).

Depois de configurar a política de auditoria, você pode verificar o status da configuração de auditoria do banco de dados seguindo as etapas em [Verificar a configuração da auditoria](Db2.Options.Audit.md#db2-audit-check-config-status).

Especificar `ALL` para o parâmetro `category` não inclui as categorias `CONTEXT`, `EXECUTE` ou `ERROR`. Para adicionar essas categorias à política de auditoria, chame `rdsadmin.configure_db_audit` separadamente com cada categoria que você deseja adicionar. Para obter mais informações, consulte [Exemplos](#db2-sp-configure-db-audit-examples).

### Exemplos
<a name="db2-sp-configure-db-audit-examples"></a>

Os exemplos a seguir criam ou modificam a política de auditoria para um banco de dados chamado `TESTDB`. Nos exemplos de 1 a 5, se a categoria `ERROR` não tiver sido configurada anteriormente, ela será definida como `NORMAL` (o padrão). Para alterar essa configuração para `AUDIT`, siga [Example 6: Specifying the ERROR category](#example-6).

**Exemplo 1: especificar a categoria `ALL`**

```
db2 "call rdsadmin.configure_db_audit('TESTDB', 'ALL', 'BOTH', ?)"
```

No exemplo, a chamada configura as categorias `AUDIT`, `CHECKING`, `OBJMAINT`, `SECMAINT`, `SYSADMIN` e `VALIDATE` na política de auditoria. Especificar `BOTH` significa que tanto os eventos bem-sucedidos quanto os com falha serão auditados para cada uma dessas categorias.

**Exemplo 2: especificar a categoria `EXECUTE` com dados**

```
db2 "call rdsadmin.configure_db_audit('TESTDB', 'EXECUTE', 'SUCCESS,WITH', ?)"
```

No exemplo, a chamada configura a categoria `EXECUTE` na política de auditoria. Especificar `SUCCESS,WITH` significa que os logs dessa categoria incluirão somente eventos bem-sucedidos, bem como os valores de dados de entrada fornecidos para variáveis do host e marcadores de parâmetros.

**Exemplo 3: especificar a categoria `EXECUTE` sem dados**

```
db2 "call rdsadmin.configure_db_audit('TESTDB', 'EXECUTE', 'FAILURE,WITHOUT', ?)"
```

No exemplo, a chamada configura a categoria `EXECUTE` na política de auditoria. Especificar `FAILURE,WITHOUT` significa que os logs dessa categoria incluirão somente eventos com falha e não incluirão valores de dados de entrada fornecidos para variáveis do host e marcadores de parâmetros.

**Exemplo 4: especificar a categoria `EXECUTE` sem eventos de status**

```
db2 "call rdsadmin.configure_db_audit('TESTDB', 'EXECUTE', 'NONE', ?)"
```

No exemplo, a chamada configura a categoria `EXECUTE` na política de auditoria. Especificar `NONE` significa que nenhum evento nessa categoria será auditado.

**Exemplo 5: especificar a categoria `OBJMAINT`**

```
db2 "call rdsadmin.configure_db_audit('TESTDB', 'OBJMAINT', 'NONE', ?)"
```

No exemplo, a chamada configura a categoria `OBJMAINT` na política de auditoria. Especificar `NONE` significa que nenhum evento nessa categoria será auditado.

**Exemplo 6: especificar a categoria `ERROR`**

```
db2 "call rdsadmin.configure_db_audit('TESTDB', 'ERROR', 'AUDIT', ?)"
```

No exemplo, a chamada configura a categoria `ERROR` na política de auditoria. Especificar `AUDIT` significa que todos os erros, incluindo erros que ocorrem no próprio registro em log de auditoria, são capturados nos logs. O tipo de erro padrão é `NORMAL`. Com `NORMAL`, os erros gerados pela auditoria são ignorados e somente os `SQLCODE` s dos erros associados à operação que está sendo executada são capturados.

## rdsadmin.disable\$1db\$1audit
<a name="db2-sp-disable-db-audit"></a>

Interrompe o registro em log de auditoria do banco de dados do RDS para Db2 especificado por *db\$1name* e remove a política de auditoria configurada para ele. 

**nota**  
Esse procedimento armazenado remove somente as políticas de auditoria que foram configuradas usando a chamada de [rdsadmin.configure\$1db\$1audit](#db2-sp-configure-db-audit).

### Sintaxe
<a name="db2-sp-disable-db-audit-syntax"></a>

```
db2 "call rdsadmin.disable_db_audit('db_name', ?)"
```

### Parâmetros
<a name="db2-sp-disable-db-audit-parameters"></a>

Os parâmetros a seguir são obrigatórios.

*db\$1name*  
O nome do banco de dados do RDS para Db2 para o qual desabilitar o registro em log de auditoria. O tipo de dados é `varchar`.

### Observações de uso
<a name="db2-sp-disable-db-audit-usage-notes"></a>

Chamar `rdsadmin.disable_db_audit` não desabilita o registro em log de auditoria da instância de banco de dados do RDS para Db2. Para desabilitar o registro em log de auditoria no nível da instância de banco de dados, remova o grupo de opções da instância de banco de dados. Para obter mais informações, consulte [Desabilitar o registro em log de auditoria do Db2](Db2.Options.Audit.md#db2-audit-disabling).

### Exemplos
<a name="db2-sp-disable-db-audit-examples"></a>

O exemplo a seguir desabilita o registro em log de auditoria para um banco de dados chamado `TESTDB`.

```
db2 "call rdsadmin.disable_db_audit('TESTDB', ?)"
```

# Procedimentos armazenados para grupos de buffer do RDS para Db2
<a name="db2-sp-managing-buffer-pools"></a>

Os procedimentos armazenados integrados descritos neste tópico gerenciam pools de buffer 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 grupos de buffer](db2-managing-buffer-pools.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\$1bufferpool](#db2-sp-create-buffer-pool)
+ [rdsadmin.alter\$1bufferpool](#db2-sp-alter-buffer-pool)
+ [rdsadmin.drop\$1bufferpool](#db2-sp-drop-buffer-pool)

## rdsadmin.create\$1bufferpool
<a name="db2-sp-create-buffer-pool"></a>

Cria um grupo de buffers.

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

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

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

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

*database\$1name*  
O nome do banco de dados no qual executar o comando. O tipo de dados é `varchar`.

*buffer\$1pool\$1name*  
O nome do grupo de buffers a ser criado. O tipo de dados é `varchar`.

Os seguintes parâmetros são opcionais:

*buffer\$1pool\$1size*  
O tamanho do grupo de buffers em número de páginas. O tipo de dados é `integer`. O padrão é `-1`.

*immediate*  
Especifica se o comando é executado imediatamente. O tipo de dados é `char`. O padrão é `Y`.

*automatic*  
Especifica se o grupo de buffers deve ser definido como automático. O tipo de dados é `char`. O padrão é `Y`.

*page\$1size*  
O tamanho da página do grupo de buffers. O tipo de dados é `integer`. Valores válidos: `4096`, `8192`, `16384`, `32768`. O padrão é `8192`.

*number\$1block\$1pages*  
O tamanho de páginas de blocos nos grupos de buffers. O tipo de dados é `integer`. O padrão é `0`.

*block\$1size*  
O tamanho do bloco para as páginas de blocos. O tipo de dados é `integer`. Valores válidos: `2` a `256`. O padrão é `32`.

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

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

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

**Exemplo 1: criação de um pool de buffer com parâmetros padrão**

O exemplo a seguir cria um grupo de buffers chamado `BP8` para um banco de dados chamado `TESTDB` com parâmetros padrão, de forma que o grupo de buffers use um tamanho de página de 8 KB. 

```
db2 "call rdsadmin.create_bufferpool(
    'TESTDB', 
    'BP8')"
```

**Exemplo 2: criação de um pool de buffer para execução imediata com alocação automática**

O exemplo a seguir cria um grupo de buffers chamado `BP16` para um banco de dados chamado `TESTDB` que usa um tamanho de página de 16 KB com uma contagem inicial de páginas de 1.000 e é definido como automático. O Db2 executa o comando imediatamente. Se você usar uma contagem inicial de páginas de -1, o Db2 usará a alocação automática de páginas.

```
db2 "call rdsadmin.create_bufferpool(
    'TESTDB', 
    'BP16', 
    1000, 
    'Y', 
    'Y', 
    16384)"
```

**Exemplo 3: criação de um pool de buffer para execução imediata usando páginas em bloco**

O exemplo a seguir cria um grupo de buffers chamado `BP16` para um banco de dados chamado `TESTDB`. Esse grupo de buffer tem um tamanho de página de 16 KB com uma contagem inicial de páginas de 10.000. O Db2 executa o comando imediatamente usando 500 páginas de bloco com um tamanho de bloco de 512.

```
db2 "call rdsadmin.create_bufferpool(
    'TESTDB', 
    'BP16',
    10000, 
    'Y', 
    'Y', 
    16384, 
    500, 
    512)"
```

## rdsadmin.alter\$1bufferpool
<a name="db2-sp-alter-buffer-pool"></a>

Altera um grupo de buffers.

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

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

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

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

*database\$1name*  
O nome do banco de dados no qual executar o comando. O tipo de dados é `varchar`.

*buffer\$1pool\$1name*  
O nome do grupo de buffers a ser alterado. O tipo de dados é `varchar`.

*buffer\$1pool\$1size*  
O tamanho do grupo de buffers em número de páginas. O tipo de dados é `integer`.

Os seguintes parâmetros são opcionais:

*immediate*  
Especifica se o comando é executado imediatamente. O tipo de dados é `char`. O padrão é `Y`.

*automatic*  
Especifica se o grupo de buffers deve ser definido como automático. O tipo de dados é `char`. O padrão é `N`.

*change\$1number\$1blocks*  
Especifica se há uma alteração no número de páginas de blocos no grupo de buffers. O tipo de dados é `char`. O padrão é `N`.

*number\$1block\$1pages*  
O tamanho de páginas de blocos nos grupos de buffers. O tipo de dados é `integer`. O padrão é `0`.

*block\$1size*  
O tamanho do bloco para as páginas de blocos. O tipo de dados é `integer`. Valores válidos: `2` a `256`. O padrão é `32`.

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

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

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

O exemplo a seguir altera um grupo de buffers chamado `BP16` para um banco de dados chamado `TESTDB` para não automático e altera o tamanho para 10.000 páginas. O Db2 executa o comando imediatamente. 

```
db2 "call rdsadmin.alter_bufferpool(
    'TESTDB',
    'BP16', 
    10000, 
    'Y', 
    'N')"
```

## rdsadmin.drop\$1bufferpool
<a name="db2-sp-drop-buffer-pool"></a>

Descarta um grupo de buffers.

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

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

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

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

*database\$1name*  
O nome do banco de dados ao qual o grupo de buffers pertence. O tipo de dados é `varchar`.

*buffer\$1pool\$1name*  
O nome do grupo de buffers a ser descartado. O tipo de dados é `varchar`.

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

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

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

O exemplo a seguir descarta um grupo de buffers denominado `BP16` para um banco de dados chamado `TESTDB`.

```
db2 "call rdsadmin.drop_bufferpool(
    'TESTDB',
    'BP16')"
```

# Procedimentos armazenados para bancos de dados do RDS para Db2
<a name="db2-sp-managing-databases"></a>

Os procedimentos integrados armazenados descritos neste tópico gerenciam 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 bancos de dados](db2-managing-databases.md)
+ [Criação de bancos de dados com agrupamento EBCDIC](db2-ebcdic.md)
+ [Coleta de informações sobre bancos de dados](db2-supported-parameters.md#db2-modifying-parameters-db2-commands)
+ [Modificação dos parâmetros de configuração do banco de dados](db2-supported-parameters.md#db2-modifying-parameters-db2-commands)
+ [Migração do Linux para Linux](db2-one-time-migration-linux.md)
+ [Migração do Linux para Linux com tempo de inatividade quase zero](db2-near-zero-downtime-migration.md)

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

**Topics**
+ [rdsadmin.create\$1database](#db2-sp-create-database)
+ [rdsadmin.deactivate\$1database](#db2-sp-deactivate-database)
+ [rdsadmin.activate\$1database](#db2-sp-activate-database)
+ [rdsadmin.reactivate\$1database](#db2-sp-reactivate-database)
+ [rdsadmin.drop\$1database](#db2-sp-drop-database)
+ [rdsadmin.update\$1db\$1param](#db2-sp-update-db-param)
+ [rdsadmin.set\$1configuration](#db2-sp-set-configuration)
+ [rdsadmin.show\$1configuration](#db2-sp-show-configuration)
+ [rdsadmin.backup\$1database](#db2-sp-backup-database)
+ [rdsadmin.restore\$1database](#db2-sp-restore-database)
+ [rdsadmin.rollforward\$1database](#db2-sp-rollforward-database)
+ [rdsadmin.rollforward\$1status](#db2-sp-rollforward-status)
+ [rdsadmin.complete\$1rollforward](#db2-sp-complete-rollforward)
+ [rdsadmin.db2pd\$1command](#db2-sp-db2pd-command)
+ [rdsadmin.force\$1application](#db2-sp-force-application)
+ [rdsadmin.set\$1archive\$1log\$1retention](#db2-sp-set-archive-log-retention)
+ [rdsadmin.show\$1archive\$1log\$1retention](#db2-sp-show-archive-log-retention)
+ [rdsadmin.list\$1archive\$1log\$1information](#db2-sp-list-archive-log-information)
+ [rdsadmin.enable\$1archive\$1log\$1copy](#db2-sp-enable_archive_log_copy)
+ [rdsadmin.disable\$1archive\$1log\$1copy](#db2-sp-disable_archive_log_copy)
+ [rdsadmin.fgac\$1command](#db2-sp-fgac-command)
+ [rdsadmin.db2support\$1command](#db2-sp-db2support-command)

## rdsadmin.create\$1database
<a name="db2-sp-create-database"></a>

Cria um banco de dados.

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

```
db2 "call rdsadmin.create_database(
    'database_name',
    'database_page_size',
    'database_code_set',
    'database_territory',
    'database_collation',
    'database_autoconfigure_str',
    'database_non-restrictive')"
```

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

**nota**  
Esse procedimento armazenado não valida a combinação dos parâmetros obrigatórios. Ao chamar [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status), a função definida pelo usuário pode exibir um erro devido a uma combinação inválida de `database_codeset`, `database_territory` e `database_collation`. Para ter mais informações, consulte [Choosing the code page, territory, and collation for your database](https://www.ibm.com/docs/en/db2/11.5?topic=support-choosing-code-page-territory-collation-your-database) na documentação do IBM Db2.

O seguinte parâmetro é obrigatório:

*database\$1name*  
O nome do banco de dados a ser criado. O tipo de dados é `varchar`.

Os seguintes parâmetros são opcionais:

*database\$1page\$1size*  
O tamanho padrão da página do banco de dados. Valores válidos: `4096`, `8192`, `16384`, `32768`. O tipo de dados é `integer`. O padrão é `8192`.  
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 no disco. 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).

*database\$1code\$1set*  
O conjunto de códigos do banco de dados. O tipo de dados é `varchar`. O padrão é `UTF-8`.

*database\$1territory*  
O código de duas letras do país para o banco de dados. O tipo de dados é `varchar`. O padrão é `US`.

*database\$1collation*  
A sequência de agrupamentos determina como as strings de caracteres armazenadas no banco de dados são classificadas e comparadas. O tipo de dados é `varchar`.  
Valores válidos:   
+ `COMPATIBILITY`: uma sequência de agrupamento do IBM Db2 Versão 2.
+ `EBCDIC_819_037`: página de código ISO Latin, agrupamento; CCSID 037 (inglês dos EUA EBCDIC).
+ `EBCDIC_819_500`: página de código ISO Latin, agrupamento; CCSID 500 (EBCDIC internacional).
+ `EBCDIC_850_037`: página de código ASCII Latin, agrupamento; CCSID 037 (inglês dos EUA EBCDIC).
+ `EBCDIC_850_500`: página de código ASCII Latin, agrupamento; CCSID 500 (EBCDIC internacional).
+ `EBCDIC_932_5026`: página de código ASCII Japanese, agrupamento; CCSID 5026 (EBCDIC em inglês dos EUA).
+ `EBCDIC_932_5035`: página de código ASCII Japanese, agrupamento; CCSID 5035 (EBCDIC internacional).
+ `EBCDIC_1252_037`: página de código Windows Latin, agrupamento; CCSID 037 (inglês dos EUA EBCDIC).
+ `EBCDIC_1252_500`: página de código Windows Latin, agrupamento; CCSID 500 (EBCDIC internacional).
+ `IDENTITY`: agrupamento padrão. As strings são comparadas byte por byte.
+ `IDENTITY_16BIT`: o esquema de codificação de compatibilidade para UTF-16: sequência de agrupamento de 8 bits (CESU-8). Para ter mais informações, consulte o [Unicode Technical Report \$126](https://www.unicode.org/reports/tr26/tr26-4.html) do site do Unicode Consortium.
+ `NLSCHAR`: somente para uso com a página de código Thai (CP874).
+ `SYSTEM`: se você usar `SYSTEM`, o banco de dados usará a sequência de agrupamento automaticamente para `database_codeset` e `database_territory`.
O padrão é `IDENTITY`.  
Além disso, o RDS para Db2 é compatível com os seguintes grupos de agrupamentos: `language-aware-collation` e `locale-sensitive-collation`. Para ter mais informações, consulte [Choosing a collation for a Unicode database](https://www.ibm.com/docs/en/db2/11.5?topic=collation-choosing-unicode-database) na documentação do IBM Db2.

*database\$1autoconfigure\$1str*  
A sintaxe do comando `AUTOCONFIGURE`, por exemplo, `'AUTOCONFIGURE APPLY DB'`. O tipo de dados é `varchar`. O padrão é uma string vazia ou nula.  
Para ter mais informações, consulte [AUTOCONFIGURE command](https://www.ibm.com/docs/en/db2/11.5?topic=cc-autoconfigure) na documentação do IBM Db2.

*database\$1non-restrictive*  
A concessão de autoridades e privilégios padrão dentro do banco de dados. O tipo de dados é `varchar`. O padrão é `N`.  
Valores válidos:  
+ `N`: o banco de dados criado é restritivo e não concede autoridades nem privilégios.
+ `Y`: o banco de dados criado não é restritivo e concede um conjunto de permissões ao grupo especial `PUBLIC`. Para acessar mais informações, consulte [Default privileges granted on creating a database](https://www.ibm.com/docs/en/db2/11.5.x?topic=ownership-default-privileges-granted-creating-database) na documentação do IBM Db2.

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

Se você planeja modificar o parâmetro `db2_compatibility_vector`, modifique-o antes de criar um banco de dados. Para obter mais informações, consulte [Configuração do parâmetro db2\$1compatibility\$1vector](db2-known-issues-limitations.md#db2-known-issues-limitations-db2-compatibility-vector).

Considerações especiais:
+ O comando `CREATE DATABASE` enviado à instância do Db2 usa a opção `RESTRICTIVE`.
+ O RDS para Db2 usa somente tablespaces `AUTOMATIC STORAGE`.
+ O RDS para Db2 usa os valores padrão para `NUMSEGS` e `DFT_EXTENT_SZ`.
+ O RDS para Db2 usa criptografia de armazenamento e não comporta a criptografia de banco de dados.

Para ter mais informações sobre essas considerações, consulte [CREATE DATABASE command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-create-database#:~:text=in%20the%20database.-,RESTRICTIVE,-If%20the%20RESTRICTIVE) na documentação do IBM Db2.

Antes de chamar `rdsadmin.create_database`, é necessário se conectar ao banco de dados `rdsadmin`. No seguinte exemplo, substitua *master\$1username* e *master\$1password* pelas informações da instância de banco de dados do RDS para Db2:

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

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

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

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

O seguinte exemplo cria um banco de dados chamado `TESTJP` com uma combinação correta dos parâmetros *database\$1code\$1set*, *database\$1territory* e *database\$1collation* para o Japão:

```
db2 "call rdsadmin.create_database('TESTJP', 4096, 'IBM-437', 'JP', 'SYSTEM')"
```

## rdsadmin.deactivate\$1database
<a name="db2-sp-deactivate-database"></a>

Desativa um banco de dados.

### Sintaxe
<a name="db2-sp-deactivate-database-syntax"></a>

```
db2 "call rdsadmin.deactivate_database(
    ?,
    'database_name')"
```

### Parâmetros
<a name="db2-sp-deactivate-database-parameters"></a>

O seguinte parâmetro de saída é obrigatório: 

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro aceita apenas `?`.

O seguinte parâmetro de entrada é obrigatório:

*database\$1name*  
O nome do banco de dados a ser desativado. O tipo de dados é `varchar`.

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

É possível desativar bancos de dados para conservar recursos de memória ou para fazer outras alterações na configuração do banco de dados. Para colocar os bancos de dados desativados novamente on-line, chame o procedimento armazenado [rdsadmin.activate\$1database](#db2-sp-activate-database).

Não é possível desativar um banco de dados em uma instância de banco de dados de origem durante a replicação chamando o procedimento armazenado `rdsadmin.deactivate_database`.

Para ter informações sobre como conferir o status de desativação de um banco de dados, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

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

### Exemplos
<a name="db2-sp-deactivate-database-examples"></a>

O exemplo a seguir desativa um banco de dados chamado `TESTDB`.

```
db2 "call rdsadmin.deactivate_database(?, 'TESTDB')"
```

## rdsadmin.activate\$1database
<a name="db2-sp-activate-database"></a>

Ativa um banco de dados.

Para obter informações sobre as diferenças entre [rdsadmin.reactivate\$1database](#db2-sp-reactivate-database) e `rdsadmin.activate_database`, consulte [Observações de uso](#db2-sp-activate-database-usage-notes).

### Sintaxe
<a name="db2-sp-activate-database-syntax"></a>

```
db2 "call rdsadmin.activate_database(
    ?,
    'database_name')"
```

### Parâmetros
<a name="db2-sp-activate-database-parameters"></a>

O seguinte parâmetro de saída é obrigatório: 

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro aceita apenas `?`.

O seguinte parâmetro de entrada é obrigatório:

*database\$1name*  
O nome do banco de dados a ser ativado. O tipo de dados é `varchar`.

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

Todos os bancos de dados são ativados por padrão quando são criados. Se você [desativar]() um banco de dados em uma instância de banco de dados autônoma para conservar recursos de memória ou fazer outras alterações na configuração do banco de dados, chame o procedimento `rdsadmin.activate_database` armazenado para ativar o banco de dados novamente.

Esse procedimento armazenado ativa somente um banco de dados que esteja em uma instância de banco de dados autônoma e que foi desativado ao chamar o procedimento armazenado [rdsadmin.deactivate\$1database](#db2-sp-deactivate-database). Para ativar um banco de dados em uma instância de banco de dados de origem de réplica, é necessário chamar o procedimento armazenado [rdsadmin.reactivate\$1database](#db2-sp-reactivate-database).

Para ter informações sobre como conferir o status de ativação de um banco de dados, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

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

### Exemplos
<a name="db2-sp-activate-database-examples"></a>

O exemplo a seguir ativa um banco de dados chamado `TESTDB`.

```
db2 "call rdsadmin.activate_database(?, 'TESTDB')"
```

## rdsadmin.reactivate\$1database
<a name="db2-sp-reactivate-database"></a>

Reativa um banco de dados.

Para ter informações sobre as diferenças entre [rdsadmin.activate\$1database](#db2-sp-activate-database) e `rdsadmin.reactivate_database`, consulte [Observações de uso](#db2-sp-reactivate-database-usage-notes).

### Sintaxe
<a name="db2-sp-reactivate-database-syntax"></a>

```
db2 "call rdsadmin.reactivate_database(
    ?,
    'database_name')"
```

### Parâmetros
<a name="db2-sp-reactivate-database-parameters"></a>

O seguinte parâmetro de saída é obrigatório: 

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro aceita apenas `?`.

O seguinte parâmetro de entrada é obrigatório:

*database\$1name*  
O nome do banco de dados a ser reativado. O tipo de dados é `varchar`.

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

Quando você chama o procedimento armazenado `rdsadmin.reactivate_database`, primeiro ele desativa o banco de dados chamando o procedimento armazenado [rdsadmin.deactivate\$1database](#db2-sp-deactivate-database) e, depois, ativa o banco de dados chamando o procedimento armazenado [rdsadmin.activate\$1database](#db2-sp-activate-database).

Depois de fazer alterações nas configurações do banco de dados, talvez seja necessário reativar um banco de dados em uma instância de banco de dados do RDS para Db2. Para determinar se você precisa reativar um banco de dados, conecte-se a ele e execute `db2 get db cfg show detail`.

Para um banco de dados em uma instância de banco de dados autônoma, você pode usar o procedimento armazenado `rdsadmin.reactivate_database` para reativar o banco de dados. Ou, se você já chamou o procedimento armazenado [rdsadmin.deactivate\$1database](#db2-sp-deactivate-database), você pode chamar o procedimento armazenado [rdsadmin.activate\$1database](#db2-sp-activate-database) em vez disso.

Em relação a um banco de dados em uma instância de banco de dados de origem de réplica, é necessário usar o procedimento armazenado `rdsadmin.reactivate_database` para reativar o banco de dados.

Para ter informações sobre como conferir o status de reativação de um banco de dados, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

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

### Exemplos
<a name="db2-sp-reactivate-database-examples"></a>

O exemplo a seguir reativa um banco de dados chamado `TESTDB`.

```
db2 "call rdsadmin.reactivate_database(?, 'TESTDB')"
```

## rdsadmin.drop\$1database
<a name="db2-sp-drop-database"></a>

Remove um banco de dados.

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

```
db2 "call rdsadmin.drop_database('database_name')"
```

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

O seguinte parâmetro é obrigatório:

*database\$1name*  
O nome do banco de dados a ser descartado. O tipo de dados é `varchar`.

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

Será possível descartar um banco de dados chamando `rdsadmin.drop_database` somente se as seguintes condições forem atendidas:
+ Você não especificou o nome do banco de dados ao criar a instância de banco de dados do RDS para Db2 usando o console do Amazon RDS ou a AWS CLI. Para obter mais informações, consulte [Criar uma instância de banco de dados](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).
+ Você criou o banco de dados chamando o procedimento armazenado [rdsadmin.create\$1database](#db2-sp-create-database).
+ Você restaurou o banco de dados por meio de uma imagem off-line ou de backup chamando o procedimento armazenado [rdsadmin.restore\$1database](#db2-sp-restore-database).

Antes de chamar `rdsadmin.drop_database`, é necessário se conectar ao banco de dados `rdsadmin`. No seguinte exemplo, substitua *master\$1username* e *master\$1password* pelas informações da instância de banco de dados do RDS para Db2:

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

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

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

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

O seguinte exemplo descarta um banco de dados chamado `TESTDB`:

```
db2 "call rdsadmin.drop_database('TESTDB')"
```

## rdsadmin.update\$1db\$1param
<a name="db2-sp-update-db-param"></a>

Atualiza parâmetros do banco de dados.

### Sintaxe
<a name="db2-sp-update-db-param-syntax"></a>

```
db2 "call rdsadmin.update_db_param(
    'database_name', 
    'parameter_to_modify', 
    'changed_value',
    'restart_database')"
```

### Parâmetros
<a name="db2-sp-update-db-param-parameters"></a>

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

*database\$1name*  
O nome do banco de dados para o qual executar a tarefa. O tipo de dados é `varchar`.

*parameter\$1to\$1modify*  
O nome do parâmetro a ser modificado. O tipo de dados é `varchar`. Para obter mais informações, consulte [Parâmetros do Amazon RDS para Db2](db2-supported-parameters.md).

*changed\$1value*  
O valor para o qual o valor de parâmetro será alterado. O tipo de dados é `varchar`.

O seguinte parâmetro é opcional:

*restart\$1database*  
Especifica se o RDS deve reiniciar o banco de dados se uma reinicialização for necessária. O tipo de dados é `varchar`. Para modificar `logprimary` e `logfilsiz`, defina esse parâmetro como `'YES'`.

### Observações de uso
<a name="db2-sp-update-db-param-usage-notes"></a>

Para ter informações sobre como conferir o status de atualização dos parâmetros do banco de dados, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

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

### Exemplos
<a name="db2-sp-update-db-param-examples"></a>

**Exemplo 1: atualização de um parâmetro**

O seguinte exemplo atualiza o parâmetro `archretrydelay` para `100` para um banco de dados chamado `TESTDB`:

```
db2 "call rdsadmin.update_db_param(
    'TESTDB', 
    'archretrydelay', 
    '100')"
```

**Exemplo 2: adiamento da validação de objetos**

O seguinte exemplo adia a validação de objetos criados em um banco de dados chamado `TESTDB` para evitar a verificação de dependências:

```
db2 "call rdsadmin.update_db_param(
    'TESTDB', 
    'auto_reval', 
    'deferred_force')"
```

## rdsadmin.set\$1configuration
<a name="db2-sp-set-configuration"></a>

Define configurações específicas do banco de dados.

### Sintaxe
<a name="db2-sp-set-configuration-syntax"></a>

```
db2 "call rdsadmin.set_configuration(
    'name',  
    'value')"
```

### Parâmetros
<a name="db2-sp-set-configuration-parameters"></a>

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

*name*  
O nome do ajuste de configurações. O tipo de dados é `varchar`.

*valor*  
O valor da configuração. O tipo de dados é `varchar`.

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

A tabela a seguir mostra as configurações que podem ser controladas com `rdsadmin.set_configuration`.


| Name (Nome) | Descrição | 
| --- | --- | 
|  `RESTORE_DATABASE_NUM_BUFFERS`  |  O número de buffers a serem criados durante uma operação de restauração. Esse valor deve ser menor que o tamanho total de memória da classe de instância de banco de dados. Se essa configuração não estiver definida, o Db2 determinará o valor a ser usado durante a operação de restauração. Para acessar mais informações, consulte [RESTORE DATABASE command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-restore-database) na documentação do IBM Db2.  | 
|  `RESTORE_DATABASE_PARALLELISM`  |  O número de manipuladores de buffer a serem criados durante uma operação de restauração. Esse valor deve ser menor que o dobro do número de vCPUs da instância de banco de dados. Se essa configuração não estiver definida, o Db2 determinará o valor a ser usado durante a operação de restauração. Para acessar mais informações, consulte [RESTORE DATABASE command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-restore-database) na documentação do IBM Db2.  | 
|  `RESTORE_DATABASE_NUM_MULTI_PATHS`  |  O número de caminhos (ou fluxos de E/S) a serem usados durante uma operação de restauração do Amazon S3. Para usar essa configuração, você deve ter vários arquivos de backup. Esse valor pode melhorar a performance ao restaurar bancos de dados com grandes volumes de dados, pois restaura vários arquivos de backup de banco de dados paralelamente. Recomendamos definir esse valor para que corresponda ao número de arquivos de backup do banco de dados. Para acessar mais informações, consulte [BACKUP DATABASE command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-backup-database) na documentação do IBM Db2.  | 
|  `USE_STREAMING_RESTORE`  |  Especifica se os dados de backup devem ser transmitidos diretamente durante a restauração, em vez de primeiro baixar o backup inteiro para sua instância de banco de dados do RDS para Db2 e depois extraí-lo. Definir `USE_STREAMING_RESTORE` como `TRUE` reduz significativamente os requisitos de armazenamento e pode melhorar a performance da restauração. Essa configuração requer o mecanismo IBM Db2 versão 11.5.9.0.sb00063198.r1 ou posterior e conectividade com o Amazon S3 por meio da interface de rede elástica (ENI) do seu banco de dados. Para acessar mais informações, consulte [Remote storage](https://www.ibm.com/docs/en/db2/11.5.x?topic=databases-remote-storage), na documentação do IBM Db2.  | 

### Exemplos
<a name="db2-sp-set-configuration-examples"></a>

**Exemplo 1: especificação do número de buffers a serem criados**

O exemplo a seguir define a configuração `RESTORE_DATABASE_NUM_BUFFERS` como `150`.

```
db2 "call rdsadmin.set_configuration(
    'RESTORE_DATABASE_NUM_BUFFERS', 
    '150')"
```

**Exemplo 2: especificação do número de manipuladores de buffer a serem criados**

O exemplo a seguir define a configuração `RESTORE_DATABASE_PARALLELISM` como `8`.

```
db2 "call rdsadmin.set_configuration(
    'RESTORE_DATABASE_PARALLELISM', 
    '8')"
```

**Exemplo 3: especificar o número de caminhos ou fluxos de I/O a serem usados durante a restauração**

O exemplo a seguir define a configuração `RESTORE_DATABASE_NUM_MULTI_PATHS` como `5`.

```
db2 "call rdsadmin.set_configuration(
    'RESTORE_DATABASE_NUM_MULTI_PATHS', 
    '5')"
```

**Exemplo 4: definir a restauração para transmitir dados de backup**

O exemplo a seguir define a configuração `USE_STREAMING_RESTORE` como `TRUE`.

```
db2 "call rdsadmin.set_configuration(
    'USE_STREAMING_RESTORE', 
    'TRUE')"
```

## rdsadmin.show\$1configuration
<a name="db2-sp-show-configuration"></a>

Exibe as configurações atuais que você pode definir usando o procedimento armazenado `rdsadmin.set_configuration`.

### Sintaxe
<a name="db2-sp-show-configuration-syntax"></a>

```
db2 "call rdsadmin.show_configuration(
    'name')"
```

### Parâmetros
<a name="db2-sp-show-configuration-parameters"></a>

O seguinte parâmetro é opcional:

*name*  
O nome da configuração sobre a qual exibir informações. O tipo de dados é `varchar`.  
Os seguintes nomes de configuração são válidos:  
+ `RESTORE_DATABASE_NUM_BUFFERS`: o número de buffers a serem criados durante uma operação de restauração.
+ `RESTORE_DATABASE_PARALLELISM`: o número de manipuladores de buffer a serem criados durante uma operação de restauração.
+ `RESTORE_DATABASE_NUM_MULTI_PATHS`: o número de caminhos (ou fluxos de E/S) a serem usados durante uma operação de restauração do Amazon S3.
+ `USE_STREAMING_RESTORE`: especifica se os dados de backup devem ser transmitidos diretamente durante a restauração, em vez de primeiro baixar o backup inteiro para sua instância de banco de dados do RDS para Db2 e depois extraí-lo.

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

Se você não especificar o nome de uma configuração, `rdsadmin.show_configuration` exibirá as informações de todas as configurações que você pode definir usando o procedimento armazenado `rdsadmin.set_configuration`.

### Exemplos
<a name="db2-sp-show-configuration-examples"></a>

O exemplo a seguir exibe informações sobre a configuração `RESTORE_DATABASE_PARALLELISM` atual.

```
db2 "call rdsadmin.show_configuration(
    'RESTORE_DATABASE_PARALLELISM')"
```

## rdsadmin.backup\$1database
<a name="db2-sp-backup-database"></a>

Faz backup de um banco de dados de uma instância de banco de dados do RDS para Db2 para um bucket do Amazon S3.

### Sintaxe
<a name="db2-sp-backup-database-syntax"></a>

```
db2 "call rdsadmin.backup_database(
    ?,
    'database_name', 
    's3_bucket_name', 
    's3_prefix', 
    'backup_type',
    'compression_option',
    'util_impact_priority', 
    'num_files',
    'parallelism',
    'num_buffers')"
```

### Parâmetros
<a name="db2-sp-backup-database-parameters"></a>

O seguinte parâmetro de saída é obrigatório:

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro aceita apenas `?`.

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

*database\$1name*  
O nome do banco de dados de destino em uma instância de banco de dados do RDS para Db2 para backup. O tipo de dados é `varchar`.  
O banco de dados deve existir na instância de banco de dados. Você não pode fazer backup do banco de dados `rdsadmin`.

*s3\$1bucket\$1name*  
O nome do bucket do Amazon S3 onde você deseja que o backup resida. O tipo de dados é `varchar`.  
O bucket do S3 deve existir antes de chamar `rdsadmin.backup_database`, estar na mesma Região da AWS que o banco de dados de destino na instância de banco de dados do RDS para Db2 da qual você deseja fazer backup e estar acessível por meio do perfil do IAM anexado à instância de banco de dados.

*s3\$1prefix*  
O prefixo do caminho para o Amazon S3 em que o RDS para Db2 faz upload dos arquivos de backup. O tipo de dados é `varchar`.  
O prefixo é limitado a 1.024 caracteres. Não deve incluir uma barra inicial ou final (/). Devido a uma limitação de streaming do IBM  para o Amazon S3, recomendamos que o prefixo inclua subdiretórios.  
Para melhorar o gerenciamento de arquivos, o RDS para Db2 cria diretórios extras após *s3\$1prefix*. O RDS para Db2 faz upload de todos os arquivos de backup para *s3\$1prefix/dbi\$1resource\$1id/db\$1name*. Se você definir *num\$1files* como maior que `1`, o diretório *db\$1name* conterá mais de um arquivo de backup.  
Veja a seguir um exemplo de localização do Amazon S3 para arquivos de backup. No exemplo, `backups/daily` é o valor definido para o parâmetro *s3\$1prefix*.  

```
backups/daily/db-5N7FXOY4GDP7RG2NSH2ZTAI2W4/SAMPLEDB
```

*backup\$1type*  
O tipo de backup que determina se o banco de dados permanece disponível durante o backup. O tipo de dados é `varchar`.  
Valores válidos:  
+ `OFFLINE`: o banco de dados fica indisponível durante o backup. Esse tipo é mais rápido, mas causa tempo de inatividade. 
+ `ONLINE`: o banco de dados permanece disponível durante o backup. Por padrão, `ONLINE` é definido como `INCLUDE LOGS`.

Os seguintes parâmetros são opcionais:

*compression\$1option*  
O tipo de algoritmo de compactação usado que afeta o tempo de backup, o uso da CPU e os custos de armazenamento. O tipo de dados é `varchar`. O padrão é `NONE`.  
Valores válidos:  
+ `NONE`: o maior tamanho de arquivo, o menor uso da CPU e os menores custos de armazenamento.
+ `STANDARD`: compactação padrão do Db2. Usa `libdb2compr.so`.
+ `ZLIB`: compactação aprimorada do Db2. Usa `libdb2zcompr.so`, mas consome mais CPU e é o custo de armazenamento mais caro.

*util\$1impact\$1priority*  
A configuração que controla o impacto do backup nos recursos do sistema. O tipo de dados é `integer`. Valores válidos: `1` a `100` (de baixo para alto). O padrão é `50`.  
Valores mais baixos reduzem o impacto do backup nos recursos do sistema, mas podem aumentar o tempo necessário para fazer backup do banco de dados. Valores mais altos podem concluir o backup do banco de dados mais rapidamente, mas podem afetar outras operações. O impacto real depende da utilização geral do sistema e da configuração de `util_impact_lim`. É possível visualizar e modificar a configuração `util_impact_lim` em grupos de parâmetros. Para obter mais informações, consulte [Parâmetros do Amazon RDS para Db2](db2-supported-parameters.md).

*num\$1files*  
O número de fluxos de upload paralelos para o Amazon S3. O tipo de dados é `integer`. Valores válidos: `1` a `256`.  
Recomendamos que você defina esse parâmetro somente após observar a performance do backup no padrão que o Amazon RDS calcula automaticamente. Valores mais altos podem melhorar a performance de backups grandes, especialmente com conexões de alta largura de banda, mas, em determinado momento, eles degradam a performance. Além disso, leve em conta os recursos disponíveis do sistema e a capacidade da rede.

*paralelismo*  
O número de espaços para tabela que o utilitário de backup pode ler paralelamente. O tipo de dados é `integer`. Valores válidos: `1` a `256`.  
Recomendamos que você defina esse parâmetro somente após observar a performance do backup no padrão que o mecanismo do Db2 calcula automaticamente como o valor ideal. Se você definir esse parâmetro, o Amazon RDS validará em relação aos processadores disponíveis e não executará a solicitação de backup se a capacidade de processamento for insuficiente.

*num\$1buffers*  
O número de buffers a serem usados. O tipo de dados é `integer`. Valores válidos: `1` a `268435456`.  
Recomendamos que você defina esse parâmetro somente após observar a performance do backup no padrão que o Amazon RDS calcula automaticamente com base na memória. Se você definir esse parâmetro, o Amazon RDS validará em relação à memória disponível e não executará a solicitação de backup se a memória disponível for insuficiente. Se você estiver fazendo backup em vários locais (`num_files` está definido como mais de `1`), um número maior de buffers poderá melhorar a performance. Se você não definir `compression_option` como `NONE`, poderá melhorar a performance aumentando `num_buffers` e `parallelism`.

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

Esse procedimento armazenado cria tarefas de backup assíncronas que transmitem o backup do seu banco de dados diretamente para o bucket do Amazon S3 usando a integração do Amazon S3. Você pode fazer backups do seu servidor local ou de uma instância de banco de dados do RDS para Db2, transmiti-los para o Amazon S3 e, depois, restaurá-los onde quiser. Para acessar informações sobre como restaurar um banco de dados para uma instância de banco de dados do RDS para Db2, consulte [rdsadmin.restore\$1database](#db2-sp-restore-database).

Antes de chamar o procedimento armazenado, examine estas considerações:
+ Você só pode fazer backup de um banco de dados por vez.
+ Você não pode realizar um backup e uma restauração juntos em uma instância de banco de dados.
+ A criptografia do lado do servidor do Amazon S3 com a AWS KMS (SSE-KMS) não é aceita. Mesmo que o bucket do S3 esteja definido como SSE-KMS, os arquivos enviados ao bucket do S3 não usarão a criptografia SSE-KMS.
+ Para transmitir os arquivos de backup para o Amazon S3, você já deve ter configurado a integração. Para obter mais informações, consulte [Integrar uma instância de banco de dados do Amazon RDS para Db2 ao Amazon S3](db2-s3-integration.md).
+ Para que uma instância de banco de dados do RDS para Db2 interaja com o Amazon S3, é necessário ter uma VPC e um endpoint do gateway do Amazon S3 para uso pelas sub-redes privadas. Para obter mais informações, consulte [Etapa 1: Criar um endpoint do gateway da VPC para o Amazon S3](db2-troubleshooting.md#db2-creating-endpoint) e [Etapa 2: Confirmar se o endpoint do gateway da VPC para o Amazon S3 existe](db2-troubleshooting.md#db2-confirming-endpoint).

Antes de chamar `rdsadmin.backup_database`, é necessário se conectar ao banco de dados `rdsadmin`. No seguinte exemplo, substitua *master\$1username* e *master\$1password* pelas informações da instância de banco de dados do RDS para Db2:

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

Depois de fazer backup do banco de dados, não se esqueça de encerrar a conexão.

```
terminate
```

Para acessar informações sobre como conferir o status do backup de um banco de dados, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

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

### Exemplos
<a name="db2-sp-backup-database-examples"></a>

Todos os exemplos fazem backup de um banco de dados chamado `MYDB` para o bucket do Amazon S3 chamado `amzn-s3-demo-bucket` e definem o *prefix* como `backups/daily`.

**Exemplo 1: especificar o banco de dados offline e indisponível com utilização média e um único fluxo de upload**

No exemplo a seguir, o banco de dados está offline, o que é mais rápido, mas significa que o banco de dados não está disponível durante o backup. O exemplo não compacta os arquivos, tem impacto médio nos recursos do sistema e usa um único fluxo de upload para o Amazon S3.

```
db2 call "rdsadmin.backup_database(
    ?, 
    'MYDB',
    'amzn-s3-demo-bucket', 
    'backups/daily',
    'OFFLINE',
    'NONE', 
    50, 
    1)"
```

**Exemplo 2: especificar o banco de dados on-line e disponível com compactação aprimorada, utilização média e poucos fluxos de upload paralelos**

No exemplo a seguir, o banco de dados está on-line e disponível durante o backup. O exemplo executa uma compactação aprimorada, o que ocasiona um tamanho de arquivo pequeno, mas consome muita CPU. Ele tem um impacto um pouco maior do que a média nos recursos do sistema e usa cinco fluxos de upload para o Amazon S3.

```
db2 call "rdsadmin.backup_database(
    ?, 
    'MYDB',
    'amzn-s3-demo-bucket', 
    'backups/daily',
    'ONLINE',
    'ZLIB', 
    60, 
    5)"
```

**Exemplo 3: especificar o banco de dados offline e indisponível com padrões e cálculos do sistema**

No exemplo a seguir, o banco de dados está offline, o que é mais rápido, mas significa que o banco de dados não está disponível durante o backup. O exemplo usa a compactação padrão dos arquivos e o impacto nos recursos do sistema. Ele também permite que o RDS para Db2 calcule o número de fluxos de upload paralelos para o Amazon S3, espaços para tabela para leitura paralela e buffers para uso.

```
db2 "call rdsadmin.backup_database(
    ?, 
    'MYDB', 
    'amzn-s3-demo-bucket',
    'backups/daily', 
    'OFFLINE')"
```

**Exemplo 4: especificar o banco de dados offline e indisponível sem compactação, alta utilização e cálculos personalizados**

No exemplo a seguir, o banco de dados está offline, o que é mais rápido, mas significa que o banco de dados não está disponível durante o backup. O exemplo não compacta os arquivos, tem impacto alto nos recursos do sistema e usa vinte fluxos de upload para o Amazon S3. Ele define o número máximo de espaços para tabela a serem lidos em paralelo, o que pode fazer com que a solicitação de backup falhe se a capacidade de processamento for insuficiente. Ele também define o número máximo de buffers a serem usados, o que pode fazer com que a solicitação de backup falhe se a memória for insuficiente.

```
db2 "call rdsadmin.backup_database(
    ?, 
    'MYDB', 
    'amzn-s3-demo-bucket', 
    'backups/daily', 
    'OFFLINE', 
    'NONE', 
    90, 
    20, 
    256, 
    268435456)"
```

## rdsadmin.restore\$1database
<a name="db2-sp-restore-database"></a>

Restaura um banco de dados de um bucket do Amazon S3 para a instância de banco de dados do RDS para Db2.

### Sintaxe
<a name="db2-sp-restore-database-syntax"></a>

```
db2 "call rdsadmin.restore_database(
    ?,
    'database_name', 
    's3_bucket_name', 
    's3_prefix', 
    restore_timestamp, 
    'backup_type')"
```

### Parâmetros
<a name="db2-sp-restore-database-parameters"></a>

O seguinte parâmetro de saída é obrigatório: 

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro aceita apenas `?`.

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

*database\$1name*  
O nome do banco de dados de destino a ser restaurado no RDS para Db2. O tipo de dados é `varchar`.  
Por exemplo, se o nome do banco de dados de origem for `TESTDB` e você definir *database\$1name* como `NEWDB`, o Amazon RDS restaurará `NEWDB` como o banco de dados de origem.

*s3\$1bucket\$1name*  
O nome do bucket do Amazon S3 onde reside o backup. O tipo de dados é `varchar`.

*s3\$1prefix*  
O prefixo a ser usado para correspondência de arquivos durante o download. O tipo de dados é `varchar`.  
Se esse parâmetro estiver vazio, todos os arquivos no bucket do Amazon S3 serão processados. Veja a seguir um exemplo de prefixo:  

```
backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101
```

*restore\$1timestamp*  
O carimbo de data e hora da imagem de backup do banco de dados. O tipo de dados é `varchar`.  
O carimbo de data e hora está incluído no nome do arquivo de backup. Por exemplo, `20230615010101` é o carimbo de data e hora do nome do arquivo. `SAMPLE.0.rdsdb.DBPART000.20230615010101.001`.

*backup\$1type*  
O tipo de backup. O tipo de dados é `varchar`. Valores válidos: `OFFLINE`, `ONLINE`.  
Use `ONLINE` para migrações com tempo de inatividade quase zero. Para obter mais informações, consulte [Migrar do Linux para Linux com quase zero tempo de inatividade para o Amazon RDS para Db2](db2-near-zero-downtime-migration.md).

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

Você pode usar esse procedimento armazenado para migrar um banco de dados do Db2 para uma instância de banco de dados do RDS para Db2. Para obter mais informações, consulte [Usar serviços da AWS para migrar dados do Db2 para o Amazon RDS para Db2](db2-migration-approaches.md). Também é possível usar esse procedimento armazenado para criar várias cópias do mesmo banco de dados com nomes de banco de dados diferentes que usam a mesma imagem de restauração.

Antes de chamar o procedimento armazenado, examine estas considerações: 
+ Antes de restaurar um banco de dados, é necessário provisionar espaço de armazenamento para a instância de banco de dados do RDS para Db2 maior que o banco de dados Db2 original no disco. Se você habilitar `USE_STREAMING_RESTORE`, ao restaurar o backup, o Amazon RDS transmitirá os arquivos de backup diretamente do bucket do S3 para a instância de banco de dados do RDS para Db2. Se você hão habilitar `USE_STREAMING_RESTORE`, deverá provisionar espaço de armazenamento para a instância de banco de dados do RDS para Db2 igual ou maior que a soma do tamanho do backup mais o tamanho do banco de dados Db2 original no disco. Para obter mais informações, consulte [Insufficient disk space](db2-troubleshooting.md#restore-database-sp-insufficient-disk-space).
+ Ao restaurar o backup, o Amazon RDS extrai o arquivo de backup na instância de banco de dados do RDS para Db2. Cada arquivo de backup deve ter 5 TB ou menos. Se um arquivo de backup exceder 5 TB, você deverá dividi o arquivo de backup em arquivos menores. 
+ Para restaurar todos os arquivos usando o procedimento armazenado `rdsadmin.restore_database`, não inclua o sufixo do número do arquivo após o carimbo de data e hora nos nomes dos arquivos. Por exemplo, o *s3\$1prefix* `backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101` restaura os seguintes arquivos:

  ```
  SAMPLE.0.rdsdb.DBPART000.20230615010101.001
  SAMPLE.0.rdsdb.DBPART000.20230615010101.002
  SAMPLE.0.rdsdb.DBPART000.20230615010101.003
  SAMPLE.0.rdsdb.DBPART000.20230615010101.004
  SAMPLE.0.rdsdb.DBPART000.20230615010101.005
  ```
+ O RDS para Db2 não permite armazenamento não automático. Para obter mais informações, consulte [Tablespaces not restored](db2-troubleshooting.md#restore-database-sp-tablespaces-not-restored).
+ O RDS para Db2 não permite rotinas não protegidas. Para obter mais informações, consulte [Non-fenced routines not allowed](db2-troubleshooting.md#restore-database-sp-non-fenced-routines).
+ Para melhorar a performance das operações de restauração do banco de dados, é possível configurar o número de buffers, manipuladores de buffer e o número de caminhos de backup a serem usados pelo RDS. Para otimizar o uso do armazenamento e potencialmente melhorar a performance, você também pode transmitir diretamente um backup do Amazon S3. Para conferir a configuração atual, use [rdsadmin.show\$1configuration](#db2-sp-show-configuration). Para alterar a configuração, use [rdsadmin.set\$1configuration](#db2-sp-set-configuration).

Para colocar o banco de dados on-line e aplicar logs de transações adicionais após a restauração do banco de dados, consulte [rdsadmin.rollforward\$1database](#db2-sp-rollforward-database).

Para ter informações sobre como conferir o status de restauração de um banco de dados, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

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

### Exemplos
<a name="db2-sp-restore-database-examples"></a>

O seguinte exemplo restaura um backup off-line com um ou vários arquivos que têm o *s3\$1prefix* `backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101`:

```
db2 "call rdsadmin.restore_database(
    ?,
    'SAMPLE',
    'amzn-s3-demo-bucket',
    'backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101',
    20230615010101,
    'OFFLINE')"
```

## rdsadmin.rollforward\$1database
<a name="db2-sp-rollforward-database"></a>

Coloca o banco de dados on-line e aplica logs de transações adicionais depois de restaurar um banco de dados chamando [rdsadmin.restore\$1database](#db2-sp-restore-database).

### Sintaxe
<a name="db2-sp-rollforward-database-syntax"></a>

```
db2 "call rdsadmin.rollforward_database(
    ?,
    'database_name',
    's3_bucket_name', 
    s3_prefix, 
    'rollforward_to_option', 
    'complete_rollforward')"
```

### Parâmetros
<a name="db2-sp-rollforward-database-parameters"></a>

O seguinte parâmetro de saída é obrigatório: 

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro aceita apenas `?`.

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

*database\$1name*  
O nome do banco de dados no qual a operação deve ser realizada. O tipo de dados é `varchar`.

*s3\$1bucket\$1name*  
O nome do bucket do Amazon S3 onde reside o backup. O tipo de dados é `varchar`.

*s3\$1prefix*  
O prefixo a ser usado para correspondência de arquivos durante o download. O tipo de dados é `varchar`.  
Se esse parâmetro estiver vazio, todos os arquivos no bucket do S3 serão baixados. O seguinte exemplo é de um prefixo:  

```
backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101
```

Os seguintes parâmetros de entrada são opcionais:

*rollforward\$1to\$1option*  
O ponto até o qual você pretende efetuar roll forward. O tipo de dados é `varchar`. Valores válidos: `END_OF_LOGS`, `END_OF_BACKUP` com o carimbo de data/hora no formato `YYYY-MM-DD-HH.MM.SS`. O padrão é `END_OF_LOGS`.

*complete\$1rollforward*  
Especifica se o processo de efetuar roll forward deve ser concluído. O tipo de dados é `varchar`. O padrão é `TRUE`.  
Se `TRUE`, após a conclusão, o banco de dados estará on-line e acessível. Se `FALSE`, o banco de dados permanecerá em um estado `ROLL-FORWARD PENDING`.

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

Você pode usar `rds.rollforward_database` para fazer um backup on-line com a inclusão de logs produzidos no ambiente on-premises em vários cenários diferentes.

**Cenário 1: restaurar o banco de dados, aplicar roll forward nos logs incluídos e colocar o banco de dados on-line**

Após a conclusão de `rdsadmin.restore_database()`, use a sintaxe no [Exemplo 1](#db2-sp-rollforward-database-examples) para colocar o banco de dados com logs de transação on-line.

**Cenário 2: colocar o banco de dados on-line, mas não aplicar roll forward nos logs incluídos. **

Após a conclusão de `rdsadmin.restore_database()`, use a sintaxe no [Exemplo 2](#db2-sp-rollforward-database-examples) para colocar o banco de dados com logs de transação on-line.

**Cenário 3: aplicar roll forward nos logs incluídos no backup e aplicar logs de transação adicionais à medida que eles forem produzidos no ambiente on-premises**

Após a conclusão de `rdsadmin.restore_database()`, use a sintaxe no [Exemplo 3 ou Exemplo 4](#db2-sp-rollforward-database-examples) para aplicar roll forward nos logs sem colocar o banco de dados on-line.

Se você definir `complete_rollforward` como `FALSE`, o banco de dados estará em um estado `ROLL-FORWARD PENDING` e off-line. Para colocar o banco de dados on-line, é necessário chamar [rdsadmin.complete\$1rollforward](#db2-sp-complete-rollforward).

Para ter informações sobre como conferir o status da realização de roll forward do banco de dados, consulte [rdsadmin.rollforward\$1status](#db2-sp-rollforward-status).

### Exemplos
<a name="db2-sp-rollforward-database-examples"></a>

**Exemplo 1: colocar o banco de dados com logs de transação on-line**

O seguinte exemplo efetua roll forward em um backup on-line do banco de dados com logs de transações e, depois, coloca o banco de dados on-line:

```
db2 "call rdsadmin.rollforward_database(
    ?,
    null,
    null,
    'END_OF_LOGS',
    'TRUE')"
```

**Exemplo 2: colocação do banco de dados sem logs de transações online **

O seguinte exemplo avança para um backup on-line do banco de dados sem logs de transações e, depois, coloca o banco de dados on-line:

```
db2 "call rdsadmin.rollforward_database(
    ?,
    'TESTDB',
    'amzn-s3-demo-bucket',
    'logsfolder/,
    'END_OF_BACKUP',
    'TRUE')"
```

**Exemplo 3: sem colocação do banco de dados com logs de transações online **

O seguinte exemplo efetua roll forward em um backup on-line do banco de dados com logs de transações e, depois, não coloca o banco de dados on-line:

```
db2 "call rdsadmin.rollforward_database(
    ?,
    'TESTDB',
    null,
    'onlinebackup/TESTDB',
    'END_OF_LOGS',
    'FALSE')"
```

**Exemplo 4: sem colocação do banco de dados com logs de transações adicionais online **

O seguinte exemplo efetua roll forward em um backup on-line do banco de dados com logs de transações adicionais e, depois, não coloca o banco de dados on-line.

```
db2 "call rdsadmin.rollforward_database(
    ?,
    'TESTDB',
    'amzn-s3-demo-bucket',
    'logsfolder/S0000155.LOG',
    'END_OF_LOGS',
    'FALSE')"
```

## rdsadmin.rollforward\$1status
<a name="db2-sp-rollforward-status"></a>

Retorna a saída de `ROLLFORWARD DATABASE database_name QUERY STATUS`.

### Sintaxe
<a name="db2-sp-rollforward-status-syntax"></a>

```
db2 "call rdsadmin.rollforward_status(
    ?,
    'database_name')"
```

### Parâmetros
<a name="db2-sp-rollforward-status-parameters"></a>

O seguinte parâmetro de saída é obrigatório: 

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro aceita apenas `?`.

O seguinte parâmetro de entrada é obrigatório:

*database\$1name*  
O nome do banco de dados no qual a operação deve ser realizada. O tipo de dados é `varchar`.

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

Depois de chamar [rdsadmin.rollforward\$1database](#db2-sp-rollforward-database), você pode chamar `rdsadmin.rollforward_status` para verificar o status da aplicação de roll forward no banco de dados.

Para ter informações sobre como conferir o status desse procedimento armazenado, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

## rdsadmin.complete\$1rollforward
<a name="db2-sp-complete-rollforward"></a>

Coloca o banco de dados on-line de um estado `ROLL-FORWARD PENDING`.

### Sintaxe
<a name="db2-sp-complete-rollforward-syntax"></a>

```
db2 "call rdsadmin.complete_rollforward(
    ?,
    'database_name')"
```

### Parâmetros
<a name="db2-sp-complete-rollforward-parameters"></a>

O seguinte parâmetro de saída é obrigatório: 

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro aceita apenas `?`.

O seguinte parâmetro de entrada é obrigatório:

*database\$1name*  
O nome do banco de dados que você deseja colocar on-line. O tipo de dados é `varchar`.

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

Se você chamou [rdsadmin.rollforward\$1database](#db2-sp-rollforward-database) com `complete_rollforward` definido como `FALSE`, o banco de dados está em um estado `ROLL-FORWARD PENDING` e offline. Para concluir o processo de roll forward e colocar o banco de dados on-line, chame `rdsadmin.complete_rollforward`.

Para ter informações sobre como conferir o status da realização de roll forward, consulte [rdsadmin.rollforward\$1status](#db2-sp-rollforward-status).

### Exemplos
<a name="db2-sp-complete-rollforward-examples"></a>

O seguinte exemplo coloca o banco de dados TESTDB on-line:

```
db2 "call rdsadmin.complete_rollforward(
    ?,
    'TESTDB')"
```

## rdsadmin.db2pd\$1command
<a name="db2-sp-db2pd-command"></a>

Coleta informações sobre um banco de dados do RDS para Db2.

### Sintaxe
<a name="db2-sp-db2pd-command-syntax"></a>

```
db2 "call rdsadmin.db2pd_command('db2pd_cmd')"
```

### Parâmetros
<a name="db2-sp-db2pd-command-parameters"></a>

O seguinte parâmetro de entrada é obrigatório:

*db2pd\$1cmd*  
O nome do comando `db2pd` que você deseja executar. O tipo de dados é `varchar`.  
O parâmetro deve começar com um hífen. Para ver uma lista de parâmetros, consulte [db2pd - Monitor and troubleshoot Db2 database command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2pd-monitor-troubleshoot-db2-engine-activities) na documentação do IBM Db2.  
As seguintes opções não são compatíveis:  
+ `-addnode`
+ `-alldatabases`
+ `-alldbp`
+ `-alldbs`
+ `-allmembers`
+ `-alm_in_memory`
+ `-cfinfo`
+ `-cfpool`
+ `-command`
+ `-dbpartitionnum`
+ `-debug`
+ `-dump`
+ `-everything`
+ `-file | -o`
+ `-ha`
+ `-interactive`
+ `-member`
+ `-pages`
**nota**  
`-pages summary`O é compatível.
+ `-pdcollection`
+ `-repeat`
+ `-stack`
+ `-totalmem`
A subopção `file` não é compatível; por exemplo, `db2pd -db testdb -tcbstats file=tcbstat.out`.  
O uso da opção `stacks` não é compatível; por exemplo, `db2pd -edus interval=5 top=10 stacks`.

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

Esse procedimento armazenado reúne informações que podem ajudar no monitoramento e na solução de problemas de bancos de dados do RDS para Db2.

O procedimento armazenado usa o utilitário `db2pd` da IBM para executar vários comandos. O utilitário `db2pd` exige a autorização `SYSADM`, que o usuário principal do RDS para Db2 não tem. No entanto, com o procedimento armazenado do Amazon RDS, o usuário principal pode usar o utilitário para executar vários comandos. Para ter mais informações sobre o utilitário, consulte [db2pd - Monitor and troubleshoot Db2 database command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2pd-monitor-troubleshoot-db2-engine-activities) na documentação do IBM Db2.

A saída é restrita a no máximo 2 GB.

Para ter informações sobre como conferir o status da coleta de informações sobre o banco de dados, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemplos
<a name="db2-sp-db2pd-command-examples"></a>

**Exemplo 1: retorno do tempo de atividade da instância de banco de dados**

O seguinte exemplo exibe o tempo de atividade de uma instância de banco de dados do RDS para Db2:

```
db2 "call rdsadmin.db2pd_command('-')"
```

**Exemplo 2: retorno do tempo de atividade do banco de dados**

O seguinte exemplo exibe o tempo de atividade de um banco de dados chamado `TESTDB`:

```
db2 "call rdsadmin.db2pd_command('-db TESTDB -')"
```

**Exemplo 3: retorno do uso de memória da instância de banco de dados**

O seguinte exemplo exibe o uso de memória de uma instância de banco de dados do RDS para Db2:

```
db2 "call rdsadmin.db2pd_command('-dbptnmem')"
```

**Exemplo 4: retorno de conjuntos de memória da instância de banco de dados e do banco de dados**

O seguinte exemplo exibe os conjuntos de memória de uma instância de banco de dados do RDS para Db2 e um banco de dados denominado `TESTDB`:

```
db2 "call rdsadmin.db2pd_command('-inst -db TESTDB -memsets')"
```

## rdsadmin.force\$1application
<a name="db2-sp-force-application"></a>

Força a retirada das aplicações de um banco de dados do RDS para Db2.

### Sintaxe
<a name="db2-sp-force-application-syntax"></a>

```
db2 "call rdsadmin.force_application(
    ?,
    'applications')"
```

### Parâmetros
<a name="db2-sp-force-application-parameters"></a>

O seguinte parâmetro de saída é obrigatório: 

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro aceita apenas `?`.

O seguinte parâmetro de entrada é obrigatório:

*Aplicações do*  
As aplicações cuja retirada de um banco de dados do RDS para Db2 você deseja forçar. O tipo de dados é `varchar`. Valores válidos: `ALL` ou *application\$1handle*.  
Separe os nomes de várias aplicações com vírgulas. Exemplo: “*application\$1handle\$11*, *application\$1handle\$12*”.

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

Esse procedimento armazenado força a retirada de todas as aplicações de um banco de dados para que você possa realizar a manutenção.

O procedimento armazenado usa o comando `FORCE APPLICATION` da IBM. O comando `FORCE APPLICATION` exige autorização `SYSADM`, `SYSMAINT` ou `SYSCTRL`, que o usuário principal do RDS para Db2 não tem. No entanto, com o procedimento armazenado do Amazon RDS, o usuário principal pode usar o comando. Para ter mais informações, consulte [FORCE APPLICATION command](https://www.ibm.com/docs/en/db2/11.1?topic=commands-force-application) na documentação do IBM Db2.

Para ter informações sobre como conferir o status da retirada forçada de aplicações de um banco de dados, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemplos
<a name="db2-sp-force-application-examples"></a>

**Exemplo 1: especificação de todas as aplicações**

O seguinte exemplo força a retirada de todas as aplicações de um banco de dados do RDS para Db2:

```
db2 "call rdsadmin.force_application(
    ?,
    'ALL')"
```

**Exemplo 2: especificação de várias aplicações**

O seguinte exemplo força a retirada de todos os manipuladores de aplicações `9991`, `8891` e `1192` de um banco de dados do RDS para Db2:

```
db2 "call rdsadmin.force_application(
    ?,
    '9991, 8891, 1192')"
```

## rdsadmin.set\$1archive\$1log\$1retention
<a name="db2-sp-set-archive-log-retention"></a>

Configura o intervalo de tempo (em horas) para retenção dos arquivos de log do banco de dados do RDS para Db2 especificado.

### Sintaxe
<a name="db2-sp-set-archive-log-retention-syntax"></a>

```
db2 "call rdsadmin.set_archive_log_retention(
    ?,            
    'database_name',  
    'archive_log_retention_hours')"
```

### Parâmetros
<a name="db2-sp-set-archive-log-retention-parameters"></a>

O seguinte parâmetro de saída é obrigatório:

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro aceita apenas `?`.

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

*database\$1name*  
O nome do banco de dados cuja retenção de logs será configurada. O tipo de dados é `varchar`.

*archive\$1log\$1retention\$1hours*  
O número de horas de retenção dos arquivos de log. O tipo de dados é `smallint`. O padrão é `0` e o máximo é `840` (35 dias).  
Se o valor for `0`, o Amazon RDS não reterá os arquivos de log.

### Observações de uso
<a name="db2-sp-set-archive-log-retention-usage-notes"></a>

Por padrão, o RDS para Db2 retém os logs por cinco minutos. Recomendamos que, se você usar ferramentas de replicação, como o AWS DMSpara captura de dados de alteração (CDC) ou IBM Q Replication, defina a retenção de logs nessas ferramentas como mais de cinco minutos.

É possível visualizar a configuração atual de retenção de logs chamando [rdsadmin.show\$1archive\$1log\$1retention](#db2-sp-show-archive-log-retention).

Não é possível definir a configuração de retenção de logs no banco de dados `rdsadmin`.

### Exemplos
<a name="db2-sp-set-archive-log-retention-examples"></a>

**Exemplo 1: configuração do tempo de retenção**

O exemplo a seguir define o tempo de retenção de logs de um banco de dados chamado `TESTDB` como 24 horas.

```
db2 "call rdsadmin.set_archive_log_retention(
    ?,
    'TESTDB', 
    '24')"
```

**Exemplo 2: desativação do tempo de retenção**

O exemplo a seguir desativa o tempo de retenção de logs de um banco de dados chamado `TESTDB`.

```
db2 "call rdsadmin.set_archive_log_retention(
    ?,
    'TESTDB', 
    '0')"
```

## rdsadmin.show\$1archive\$1log\$1retention
<a name="db2-sp-show-archive-log-retention"></a>

Exibe a configuração atual de retenção de logs do banco de dados especificado.

### Sintaxe
<a name="db2-sp-show-archive-log-retention-syntax"></a>

```
db2 "call rdsadmin.show_archive_log_retention(
    ?,
    'database_name')"
```

### Parâmetros
<a name="db2-sp-show-archive-log-retention-parameters"></a>

O seguinte parâmetro de saída é obrigatório:

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro aceita apenas `?`.

O seguinte parâmetro de entrada é obrigatório:

*database\$1name*  
O nome do banco de dados cuja configuração de retenção de logs será mostrada. O tipo de dados é `varchar`.

### Exemplos
<a name="db2-sp-show-archive-log-retention-examples"></a>

O exemplo a seguir mostra a configuração de tempo de retenção de logs de um banco de dados chamado `TESTDB`.

```
db2 "call rdsadmin.show_archive_log_retention(?,'TESTDB')"
```

## rdsadmin.list\$1archive\$1log\$1information
<a name="db2-sp-list-archive-log-information"></a>

Retorna detalhes sobre os arquivos de log de arquivamento, como o tamanho, a data e a hora de criação e o nome dos arquivos de log individuais para o banco de dados especificado. Também retorna a quantidade total de armazenamento usada pelos arquivos de log no banco de dados.

### Sintaxe
<a name="db2-sp-list-archive-log-information-syntax"></a>

```
db2 "call rdsadmin.list_archive_log_information(
    ?,
    'database_name')"
```

### Parâmetros
<a name="db2-sp-list-archive-log-information-parameters"></a>

O seguinte parâmetro de saída é obrigatório:

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro aceita apenas `?`.

O seguinte parâmetro de entrada é obrigatório:

*database\$1name*  
O nome do banco de dados para o qual listar as informações de log de arquivamento. O tipo de dados é `varchar`.

### Exemplos
<a name="db2-sp-list-archive-log-information-examples"></a>

O exemplo a seguir retorna informações de log de arquivamento para um banco de dados chamado `TESTDB`.

```
db2 "call rdsadmin.list_archive_log_information(
    ?,
    'TESTDB')"
```

## rdsadmin.enable\$1archive\$1log\$1copy
<a name="db2-sp-enable_archive_log_copy"></a>

Habilita a cópia de logs de arquivamento do banco de dados RDS para Db2 para o Amazon S3.

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

```
db2 "call rdsadmin.enable_archive_log_copy(
    ?,
    'database_name')"
```

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

O seguinte parâmetro de saída é obrigatório:

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro aceita apenas `?`.

O seguinte parâmetro de entrada é obrigatório:

*database\$1name*  
O nome do banco de dados para o qual habilitar a cópia de logs de arquivamento para o Amazon S3. O tipo de dados é `varchar`.

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

O exemplo a seguir desabilita a cópia de logs de arquivamento para um banco de dados chamado `TESTDB`.

```
db2 "call rdsadmin.enable_archive_log_copy(
    ?,
    'TESTDB')"
```

## rdsadmin.disable\$1archive\$1log\$1copy
<a name="db2-sp-disable_archive_log_copy"></a>

Desabilita a cópia de logs de arquivamento do banco de dados RDS para Db2 para o Amazon S3.

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

```
db2 "call rdsadmin.disable_archive_log_copy(
    ?,
    'database_name')"
```

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

O seguinte parâmetro de saída é obrigatório:

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro aceita apenas `?`.

O seguinte parâmetro de entrada é obrigatório:

*database\$1name*  
O nome do banco de dados para o qual desabilitar a cópia de logs de arquivamento para o Amazon S3. O tipo de dados é `varchar`.

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

O exemplo a seguir desabilita a cópia de logs de arquivamento para um banco de dados chamado `TESTDB`.

```
db2 "call rdsadmin.disable_archive_log_copy(
    ?,
    'TESTDB')"
```

## rdsadmin.fgac\$1command
<a name="db2-sp-fgac-command"></a>

Executa comandos de controle de acesso refinado (FGAC).

### Sintaxe
<a name="db2-sp-fgac-command-syntax"></a>

```
db2 "call rdsadmin.fgac_command(
    ?,
    'database_name',
    'fgac_cmd')"
```

### Parâmetros
<a name="db2-sp-fgac-command-parameters"></a>

O seguinte parâmetro de saída é obrigatório:

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro aceita apenas `?`.

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

*database\$1name*  
O nome do banco de dados no qual você deseja executar comandos do FGAC. O tipo de dados é `varchar`.

*fgac\$1cmd*  
O comando de controle de acesso refinado que você deseja executar. O tipo de dados é `varchar`.  
Os seguintes comandos são válidos:  
+ `ALTER MASK`: altera uma máscara de coluna existente no controle de acesso por linha e coluna (RCAC).
+ `ALTER PERMISSION`: altera as propriedades de uma permissão de linha existente no RCAC.
+ `ALTER SECURITY POLICY`: altera uma política de segurança existente para o RCAC.
+ `ALTER SECURITY LABEL`: altera as propriedades de um rótulo de segurança existente no controle de acesso baseado em rótulos (LBAC). 
+ `ALTER TABLE`: altera a estrutura da tabela, incluindo a adição de controles RCAC ou LBAC.
+ `CREATE MASK`: cria uma máscara de coluna para o RCAC.
+ `CREATE PERMISSION`: cria uma permissão de linha para o RCAC.
+ `CREATE SECURITY LABEL`: cria um rótulo de segurança para o LBAC.
+ `CREATE SECURITY POLICY`: cria uma política de segurança para o RCAC.
+ `DROP MASK`: elimina uma máscara de coluna existente.
+ `DROP PERMISSION`: elimina uma permissão de linha existente.
+ `DROP SECURITY LABEL`: elimina um rótulo de segurança do LBAC.
+ `DROP SECURITY POLICY`: elimina uma política de segurança existente do RCAC.
+ `GRANT EXEMPTION ON RULE`: permite que um usuário ignore regras específicas do LBAC.
+ `GRANT SECURITY LABEL`: atribui um rótulo de segurança do LBAC a um usuário.
+ `REVOKE EXEMPTION ON RULE`: remove a isenção de um usuário das regras do LBAC.
+ `REVOKE SECURITY LABEL`: remove um rótulo de segurança do LBAC de um usuário.

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

Esse procedimento armazenado controla o acesso em nível de linha ou coluna aos dados da tabela em seu banco de dados em uma instância de banco de dados do RDS para Db2. O RDS para Db2 comporta dois tipos de FGAC no banco de dados: 
+ Controle de acesso baseado em rótulo (LBAC)
+ Controle de acesso por linha e coluna (RCAC)

Antes de chamar o procedimento armazenado, examine estas considerações: 
+ Para realizar o escape de aspas simples (‘), use uma aspa simples adicional. Os exemplos a seguir mostram como realizar o escape de `'apple'`, `'banana'` e `'fruit'`.

  ```
  db2 "call rdsadmin.fgac_command(
      ?,
      'testdb',
      'CREATE SECURITY LABEL COMPONENT FRUITSET SET{''apple'',''banana''}')"
  ```

  ```
  db2 "call rdsadmin.fgac_command(
      ?, 
      'testdb', 
      'CREATE SECURITY LABEL COMPONENT FRUITTREE TREE(''fruit'' ROOT, ''apple'' UNDER ''fruit'', ''banana'' UNDER ''fruit'')')"
  ```
+ Para realizar o escape de colchetes ([ ]), use uma barra invertida (\$1). O exemplo a seguir mostra como realizar o escape de `[''apple'',''banana'']`. 

  ```
  db2 "call rdsadmin.fgac_command(
      ?, '
      testdb', 
      'CREATE SECURITY LABEL COMPONENT FRUITARRAY ARRAY\[''apple'',''banana''\]')"
  ```

### Exemplos
<a name="db2-sp-fgac-command-examples"></a>

Todos os exemplos a seguir executam comandos do FGAC em um banco de dados chamado `testdb`.

**Exemplo 1: criar um rótulo de segurança chamado `FRUITSET`** 

```
db2 "call rdsadmin.fgac_command(
    ?,
    'testdb',
    'CREATE SECURITY LABEL COMPONENT FRUITSET SET{''apple'',''banana''}')"
```

**Exemplo 2: criar uma máscara para a coluna `EMP_ID` que é habilitada quando `EMP_ID` é definido como menos de três**

```
db2 "call rdsadmin.fgac_command(
    ?,
    'testdb',
    'CREATE MASK id_MASK ON EMPLOYEE FOR COLUMN EMP_ID RETURN CASE WHEN (EMP_ID < 3) THEN EMP_ID ELSE NULL END ENABLE')"
```

**Exemplo 3: criar uma máscara para a coluna `DEPARTMENT` que é habilitada quando `SESSION_USER` é definido como `security_user`** 

```
db2 "call rdsadmin.fgac_command(
    ?,
    'testdb',
    'CREATE MASK DEPARTMENT_MASK ON EMPLOYEE FOR COLUMN DEPARTMENT RETURN CASE  WHEN SESSION_USER = ''security_user'' THEN DEPARTMENT ELSE NULL END ENABLE')"
```

**Exemplo 4: criar um rótulo de segurança chamado `treelabel`** 

```
db2 "call rdsadmin.fgac_command(
    ?,
    'testdb',
    'CREATE SECURITY LABEL COMPONENT treelabel  TREE(''COMPANY'' ROOT, ''HR'' UNDER ''COMPANY'', ''FINANCE'' UNDER ''COMPANY'', ''IT'' UNDER ''COMPANY'')')"
```

## rdsadmin.db2support\$1command
<a name="db2-sp-db2support-command"></a>

Coleta informações de diagnóstico sobre um banco de dados do RDS para Db2 e as carrega em um bucket do Amazon S3.

### Sintaxe
<a name="db2-sp-db2support-command-syntax"></a>

```
db2 "call rdsadmin.db2support_command(
    ?,
    'database_name',
    's3_bucket_name',
    's3_prefix')"
```

### Parâmetros
<a name="db2-sp-db2support-command-parameters"></a>

O seguinte parâmetro de saída é obrigatório:

?  
Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro aceita apenas `?`.

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

*database\$1name*  
O nome do banco de dados para o qual coletar informações de diagnóstico. O tipo de dados é `varchar`.

*s3\$1bucket\$1name*  
O nome do bucket do Amazon S3 no qual você deseja fazer upload das informações de diagnóstico. O tipo de dados é `varchar`.

*s3\$1prefix*  
O prefixo do caminho para o Amazon S3 em que o RDS para Db2 faz upload dos arquivos de diagnóstico. O tipo de dados é `varchar`.

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

Esse procedimento armazenado reúne informações de diagnóstico que podem ajudar na solução de problemas de bancos de dados do RDS para Db2 e carrega as informações em um bucket do Amazon S3.

O procedimento armazenado usa o utilitário `db2support` da IBM para coletar dados de diagnóstico. Para ter mais informações sobre o utilitário, consulte [db2support - Problem analysis and environment collection tool command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2support-problem-analysis-environment-collection-tool) na documentação do IBM Db2.

Antes de chamar o procedimento armazenado, examine estas considerações:
+ Para fazer upload dos arquivos de diagnóstico no Amazon S3, é necessário já ter configurado a integração. Para obter mais informações, consulte [Integrar uma instância de banco de dados do Amazon RDS para Db2 ao Amazon S3](db2-s3-integration.md).
+ Para que uma instância de banco de dados do RDS para Db2 interaja com o Amazon S3, é necessário ter uma VPC e um endpoint do gateway do Amazon S3 para uso pelas sub-redes privadas. Para obter mais informações, consulte [Etapa 1: Criar um endpoint do gateway da VPC para o Amazon S3](db2-troubleshooting.md#db2-creating-endpoint) e [Etapa 2: Confirmar se o endpoint do gateway da VPC para o Amazon S3 existe](db2-troubleshooting.md#db2-confirming-endpoint).

Antes de chamar `rdsadmin.db2support_command`, é necessário se conectar ao banco de dados `rdsadmin`. No seguinte exemplo, substitua *master\$1username* e *master\$1password* pelas informações da instância de banco de dados do RDS para Db2:

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

Para ter informações sobre como conferir o status da coleta de informações de diagnóstico, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemplos
<a name="db2-sp-db2support-command-examples"></a>

**Exemplo 1: coletar informações de diagnóstico para um banco de dados**

O seguinte exemplo coleta informações de diagnóstico para um banco de dados chamado `TESTDB` e as carrega no bucket do Amazon S3 chamado `amzn-s3-demo-bucket` com o prefixo `diagnostics/testdb`:

```
db2 "call rdsadmin.db2support_command(
    ?,
    'TESTDB',
    'amzn-s3-demo-bucket',
    'diagnostics/testdb')"
```

**Exemplo 2: coletar informações de diagnóstico com um prefixo baseado em data**

O seguinte exemplo coleta informações de diagnóstico para um banco de dados chamado `MYDB` e as carrega no bucket do Amazon S3 chamado `amzn-s3-demo-bucket` com um prefixo baseado em data:

```
db2 "call rdsadmin.db2support_command(
    ?,
    'MYDB',
    'amzn-s3-demo-bucket',
    'support/2024/01/15')"
```

# Procedimentos armazenados para acesso ao armazenamento do RDS para Db2
<a name="db2-sp-managing-storage-access"></a>

Os procedimentos integrados armazenados descritos neste tópico gerenciam o acesso ao armazenamento para bancos de dados do RDS para Db2 que usam o Amazon S3 para migrar dados. Para ter mais informações, consulte [Migrar dados do Db2 por meio do Amazon S3 para o Amazon RDS para Db2](db2-migration-load-from-s3.md).

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

**Topics**
+ [rdsadmin.catalog\$1storage\$1access](#db2-sp-catalog-storage-access)
+ [rdsadmin.uncatalog\$1storage\$1access](#db2-sp-uncatalog-storage-access)

## rdsadmin.catalog\$1storage\$1access
<a name="db2-sp-catalog-storage-access"></a>

Cataloga um alias de armazenamento para acessar um bucket do Amazon S3 com arquivos de dados do Db2.

### Sintaxe
<a name="db2-sp-catalog-storage-access-syntax"></a>

```
db2 "call rdsadmin.catalog_storage_access(
    ?,
    'alias',
    's3_bucket_name',
    'grantee_type',
    'grantee'
    )"
```

### Parâmetros
<a name="db2-sp-catalog-storage-access-parameters"></a>

O seguinte parâmetro de saída é obrigatório:

?  
Um marcador de parâmetro que gera uma mensagem de erro. O tipo de dados é `varchar`.

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

*alias*  
O alias para acessar o armazenamento remoto em um bucket do Amazon S3. O tipo de dados é `varchar`.

*s3\$1bucket\$1name*  
O nome do bucket do Amazon S3 onde residem os dados. O tipo de dados é `varchar`.

*grantee\$1type*  
O tipo do favorecido a receber autorização. O tipo de dados é `varchar`. Valores válidos: `USER`, `GROUP`.

*grantee*  
O usuário ou o grupo para receber autorização. O tipo de dados é `varchar`. 

### Observações de uso
<a name="db2-sp-catalog-storage-access-usage-notes"></a>

O Amazon RDS inclui o alias catalogado no perfil do IAM que você adicionou à instância de banco de dados do RDS para Db2. Se você remover o perfil do IAM da instância de banco de dados, o Amazon RDS excluirá o alias. Para ter mais informações, consulte [Migrar dados do Db2 por meio do Amazon S3 para o Amazon RDS para Db2](db2-migration-load-from-s3.md).

Para ter informações sobre como conferir o status da catalogação do alias, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemplos
<a name="db2-sp-catalog-storage-access-examples"></a>

O exemplo a seguir registra um alias chamado `SAMPLE`. O usuário `jorge_souza` recebe acesso ao bucket do Amazon S3 chamado `amzn-s3-demo-bucket`.

```
db2 "call rdsadmin.catalog_storage_access(
    ?,
    'SAMPLE', 
    'amzn-s3-demo-bucket', 
    'USER', 
    'jorge_souza')"
```

## rdsadmin.uncatalog\$1storage\$1access
<a name="db2-sp-uncatalog-storage-access"></a>

Remove um alias de acesso ao armazenamento.

### Sintaxe
<a name="db2-sp-uncatalog-storage-access-syntax"></a>

```
db2 "call rdsadmin.uncatalog_storage_access(
    ?,
    'alias')"
```

### Parâmetros
<a name="db2-sp-uncatalog-storage-access-parameters"></a>

O seguinte parâmetro de saída é obrigatório:

?  
Um marcador de parâmetro que gera uma mensagem de erro. O tipo de dados é `varchar`.

O seguinte parâmetro de entrada é obrigatório:

*alias*  
O nome do alias de armazenamento a ser removido. O tipo de dados é `varchar`.

### Observações de uso
<a name="db2-sp-uncatalog-storage-access-usage-notes"></a>

Para ter informações sobre como conferir o status de remoção do alias, consulte [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

### Exemplos
<a name="db2-sp-uncatalog-storage-access-examples"></a>

O exemplo a seguir remove um alias chamado `SAMPLE`. Esse alias não concede mais acesso ao bucket do Amazon S3 ao qual estava associado.

```
db2 "call rdsadmin.uncatalog_storage_access(
    ?,
    'SAMPLE')"
```

# 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\$1tablespace](#db2-sp-create-tablespace)
+ [rdsadmin.alter\$1tablespace](#db2-sp-alter-tablespace)
+ [rdsadmin.rename\$1tablespace](#db2-sp-rename-tablespace)
+ [rdsadmin.drop\$1tablespace](#db2-sp-drop-tablespace)

## rdsadmin.create\$1tablespace
<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\$1name*  
O nome do banco de dados no qual criar o espaço de tabela. O tipo de dados é `varchar`.

*tablespace\$1name*  
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\$1pool\$1name*  
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\$1page\$1size*  
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\$1database](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\$1initial\$1size*  
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\$1increase\$1size*  
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\$1type*  
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\$1prefetch\$1size*  
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\$1task\$1status](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\$1tablespace
<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\$1name*  
O nome do banco de dados que usa o espaço de tabela. O tipo de dados é `varchar`.

*tablespace\$1name*  
O nome do espaço de tabela a ser alterado. O tipo de dados é `varchar`.

Os seguintes parâmetros são opcionais:

*buffer\$1pool\$1name*   
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\$1increase\$1size*  
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\$1size*  
O tamanho máximo do espaço de tabela. O tipo de dados é `varchar`. Valores válidos: *inteiro* `K` \$1 `M` \$1 `G` ou `NONE`. O padrão é `NONE`.

*reduce\$1max*  
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\$1stop*  
Especifica se um comando anterior `reduce_max` ou `reduce_value` deve ser interrompido. O tipo de dados é `char`. O padrão é `N`.

*reduce\$1value*  
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`\$1 `M` \$1 `G` ou `1` a `100`. O padrão é `N`.

*lower\$1high\$1water*  
Especifica se o comando `ALTER TABLESPACE LOWER HIGH WATER MARK` deve ser executado. O tipo de dados é `char`. O padrão é `N`.

*lower\$1high\$1water\$1stop*  
Especifica se o comando `ALTER TABLESPACE LOWER HIGH WATER MARK STOP` deve ser executado. O tipo de dados é `char`. O padrão é `N`.

*switch\$1online*  
Especifica se o comando `ALTER TABLESPACE SWITCH ONLINE` deve ser executado. O tipo de dados é `char`. O padrão é `N`.

*tablespace\$1prefetch\$1size*  
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\$1task\$1status](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\$1tablespace
<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\$1name*  
O nome do banco de dados ao qual pertence o espaço de tabela. O tipo de dados é `varchar`.

*source\$1tablespace\$1name*  
O nome do espaço de tabela a ser renomeado. O tipo de dados é `varchar`.

*target\$1tablespace\$1name*  
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\$1task\$1status](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\$1tablespace
<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\$1name*  
O nome do banco de dados ao qual pertence o espaço de tabela. O tipo de dados é `varchar`.

*tablespace\$1name*  
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\$1task\$1status](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')"
```

# Referência de função definida pelo usuário do Amazon RDS para Db2
<a name="db2-user-defined-functions"></a>

As seguintes funções definidas pelo usuário estão disponíveis para instâncias de banco de dados do Amazon RDS que executam o mecanismo do Db2. 

**Topics**
+ [rdsadmin.get\$1task\$1status](#db2-udf-get-task-status)
+ [rdsadmin.list\$1databases](#db2-udf-list-databases)
+ [rdsadmin.list\$1modifiable\$1db\$1params](#db2-udf-list-modi-db-params)

## rdsadmin.get\$1task\$1status
<a name="db2-udf-get-task-status"></a>

Exibe o status de uma tarefa.

### Sintaxe
<a name="db2-udf-get-task-status-syntax"></a>

```
db2 "select task_id, task_type, database_name, lifecycle,
    varchar(bson_to_json(task_input_params), 500) as task_params,
    cast(task_output as varchar(500)) as task_output
    from table(rdsadmin.get_task_status(task_id,'database_name','task_type'))"
```

### Parâmetros
<a name="db2-udf-get-task-status-parameters"></a>

Os parâmetros a seguir são opcionais. Se você não fornecer parâmetros, a função definida pelo usuário exibirá o status de todas as tarefas de todos os bancos de dados. O Amazon RDS retém o histórico de tarefas por 35 dias.

*task\$1id*  
O ID da tarefa que está sendo executada. Esse ID é exibido quando você executa uma tarefa. Padrão: `0`. 

*database\$1name*  
O nome do banco de dados no qual a tarefa está sendo executada.

*task\$1type*  
O tipo da tarefa a ser consultada. Valores válidos: `ADD_GROUPS`, `ADD_USER`, `ALTER_BUFFERPOOL`, `ALTER_TABLESPACE`, `CHANGE_PASSWORD`, `COMPLETE_ROLLFORWARD`, `CREATE_BUFFERPOOL`, `CREATE_DATABASE`, `CREATE_ROLE`, `CREATE_TABLESPACE`, `DROP_BUFFERPOOL`, `DROP_DATABASE`, `DROP_TABLESPACE`, `LIST_USERS`, `REMOVE_GROUPS`, `REMOVE_USER`, `RESTORE_DB`, `ROLLFORWARD_DB_LOG`, `ROLLFORWARD_STATUS`, `UPDATE_DB_PARAM`.

### Observações de uso
<a name="db2-udf-get-task-status-usage-notes"></a>

É possível usar a função `rdsadmin.get_task_status` definida pelo usuário para conferir o status das tarefas a seguir referentes ao Amazon RDS para Db2. Essa lista não é exaustiva.
+ Criar, alterar ou descartar um grupo de buffers
+ Criar, alterar ou descartar um espaço de tabela
+ Criar ou descartar um banco de dados
+ Restaurar o backup de um banco de dados do Amazon S3
+ Realizando roll forward dos logs de banco de dados do Amazon S3

### Exemplos
<a name="db2-udf-get-task-status-examples"></a>

No exemplo a seguir vemos as colunas exibidas quando `rdsadmin.get_task_status` é chamado.

```
db2 "describe select * from table(rdsadmin.get_task_status())"
```

O exemplo a seguir lista o status de todas as tarefas.

```
db2 "select task_id, task_type, database_name, lifecycle, 
    varchar(bson_to_json(task_input_params), 500) as task_params, 
    cast(task_output as varchar(500)) as task_output 
    from table(rdsadmin.get_task_status(null,null,null))"
```

O exemplo a seguir lista o status de uma tarefa específica.

```
db2 "select task_id, task_type, database_name, 
    varchar(bson_to_json(task_input_params), 500) as task_params 
    from table(rdsadmin.get_task_status(1,null,null))"
```

O exemplo a seguir lista o status de uma tarefa e um banco de dados específicos.

```
db2 "select task_id, task_type, database_name, 
    varchar(bson_to_json(task_input_params), 500) as task_params 
    from table(rdsadmin.get_task_status(2,'SAMPLE',null))"
```

O exemplo a seguir lista o status de todas as tarefas `ADD_GROUPS`.

```
db2 "select task_id, task_type, database_name, 
    varchar(bson_to_json(task_input_params), 500) as task_params 
    from table(rdsadmin.get_task_status(null,null,'add_groups'))"
```

O exemplo a seguir lista o status de todas as tarefas de um banco de dados específico. 

```
db2 "select task_id, task_type, database_name, 
    varchar(bson_to_json(task_input_params), 500) as task_params 
    from table(rdsadmin.get_task_status(null,'testdb', null))"
```

O exemplo a seguir mostra os valores JSON como colunas.

```
db2 "select varchar(r.task_type,25) as task_type, varchar(r.lifecycle,10) as lifecycle, r.created_at, u.* from 
    table(rdsadmin.get_task_status(null,null,'restore_db')) as r, json_table(r.task_input_params, 'strict $' columns(s3_prefix varchar(500) 
    null on empty, s3_bucket_name varchar(500) null on empty) error on error ) as U"
```

### Resposta
<a name="db2-udf-get-task-status-response"></a>

A função `rdsadmin.get_task_status` definida pelo usuário exibe as seguintes colunas:

`TASK_ID`  
O ID da tarefa.

`TASK_TYPE`  
Depende dos parâmetros de entrada.  
+ `ADD_GROUPS`: adiciona grupos.
+ `ADD_USER`: adiciona um usuário.
+ `ALTER_BUFFERPOOL`: altera um grupo de buffers.
+ `ALTER_TABLESPACE`: altera um espaço de tabela.
+ `CHANGE_PASSWORD `: altera a senha de um usuário.
+ `COMPLETE_ROLLFORWARD`: conclui uma tarefa `rdsadmin.rollforward_database` e ativa um banco de dados.
+ `CREATE_BUFFERPOOL`: cria um grupo de buffers.
+ `CREATE_DATABASE`: cria um banco de dados.
+ `CREATE_ROLE`: cria um perfil do Db2 para um usuário.
+ `CREATE_TABLESPACE`: cria um espaço de tabela.
+ `DROP_BUFFERPOOL`: descarta um grupo de buffers.
+ `DROP_DATABASE`: descarta um banco de dados.
+ `DROP_TABLESPACE`: descarta um espaço de tabela.
+ `LIST_USERS`: lista todos os usuários.
+ `REMOVE_GROUPS`: remove os grupos.
+ `REMOVE_USER`: remove um usuário.
+ `RESTORE_DB`: restaura um banco de dados completo.
+ `ROLLFORWARD_DB_LOG`: executa uma tarefa `rdsadmin.rollforward_database` nos logs do banco de dados.
+ `ROLLFORWARD_STATUS `: retorna o status de uma tarefa `rdsadmin.rollforward_database`.
+ `UPDATE_DB_PARAM`: atualiza os parâmetros de dados.

`DATABASE_NAME`  
O nome do banco de dados ao qual a tarefa está associada.

`COMPLETED_WORK_BYTES`  
O número de bytes restaurados pela tarefa.

`DURATION_MINS`  
O tempo necessário para concluir a tarefa. 

`LIFECYCLE`  
O status da tarefa. Possíveis status:  
+ `CREATED`: depois que uma tarefa é enviada ao Amazon RDS, o Amazon RDS define o status como `CREATED`.
+ `IN_PROGRESS`: depois de iniciar uma tarefa, o Amazon RDS define o status como `IN_PROGRESS`. Pode demorar até cinco minutos para que o status mude de `CREATED` para `IN_PROGRESS`.
+ `SUCCESS`: após o término de uma tarefa, o Amazon RDS define o status como `SUCCESS`.
+ `ERROR`: se uma tarefa de restauração falhar, o Amazon RDS definirá o status como `ERROR`. Para ter mais informações sobre o erro, consulte `TASK_OUPUT`. 

`CREATED_BY`  
O `authid` que criou o comando.

`CREATED_AT`  
A data e hora em que a tarefa foi criada.

`LAST_UPDATED_AT`  
A data e a hora em que a tarefa foi atualizada pela última vez.

`TASK_INPUT_PARAMS`  
Os parâmetros diferem com base no tipo de tarefa. Todos os parâmetros de entrada são representados como um objeto JSON. Por exemplo, as chaves JSON para a tarefa `RESTORE_DB` são as seguintes:   
+ `DBNAME`
+ `RESTORE_TIMESTAMP`
+ `S3_BUCKET_NAME`
+ `S3_PREFIX`

`TASK_OUTPUT`  
Informações adicionais sobre a tarefa. No caso de erro durante a restauração nativa, essa coluna inclui as informações sobre o erro. 

### Exemplos de resposta
<a name="db2-udf-get-task-status-response-examples"></a>

O exemplo de resposta a seguir mostra que um banco de dados chamado `TESTJP` foi criado com êxito. Para ter mais informações, consulte o procedimento armazenando [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database).

```
`1 SUCCESS CREATE_DATABASE RDSDB 2023-10-24-18.32.44.962689 2023-10-24-18.34.50.038523 1 TESTJP { "CODESET" : "IBM-437", "TERRITORY" : "JP", "COLLATION" : "SYSTEM", "AUTOCONFIGURE_CMD" : "", "PAGESIZE" : 4096 } 
2023-10-24-18.33.30.079048 Task execution has started.

2023-10-24-18.34.50.038523 Task execution has completed successfully`.
```

O exemplo de resposta a seguir explica por que o descarte de um banco de dados falhou. Para ter mais informações, consulte o procedimento armazenando [rdsadmin.drop\$1database](db2-sp-managing-databases.md#db2-sp-drop-database).

```
1 ERROR DROP_DATABASE RDSDB 2023-10-10-16.33.03.744122 2023-10-10-16.33.30.143797 - 2023-10-10-16.33.30.098857 Task execution has started.
2023-10-10-16.33.30.143797 Caught exception during executing task id 1, Aborting task. 
Reason Dropping database created via rds CreateDBInstance api is not allowed. 
Only database created using rdsadmin.create_database can be dropped
```

O exemplo de resposta a seguir mostra a restauração bem-sucedida de um banco de dados. Para ter mais informações, consulte o procedimento armazenando [rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database).

```
1 RESTORE_DB  SAMPLE  SUCCESS   
                                         
{ "S3_BUCKET_NAME" : "amzn-s3-demo-bucket", "S3_PREFIX" : "SAMPLE.0.rdsdb3.DBPART000.20230413183211.001", "RESTORE_TIMESTAMP" : "20230413183211", "BACKUP_TYPE" : "offline" }                                                                                                                                                                                                                                                                                                                                                   

2023-11-06-18.31.03.115795 Task execution has started.
2023-11-06-18.31.04.300231 Preparing to download
2023-11-06-18.31.08.368827 Download complete. Starting Restore
2023-11-06-18.33.13.891356 Task Completed Successfully
```

## rdsadmin.list\$1databases
<a name="db2-udf-list-databases"></a>

Retorna uma lista de todos os bancos de dados em execução em uma instância de banco de dados do RDS para Db2.

### Sintaxe
<a name="db2-udf-list-databases-syntax"></a>

```
db2 "select * from table(rdsadmin.list_databases())"
```

### Observações de uso
<a name="db2-udf-list-databases-usage-notes"></a>

Essa função definida pelo usuário não especifica se os bancos de dados estão em um estado ativado ou desativado. 

Se você não vir seus bancos de dados na lista, chame a função definida pelo usuário [rdsadmin.get\$1task\$1status](#db2-udf-get-task-status) e procure mensagens de erro.

### Resposta
<a name="db2-udf-list-databases-response"></a>

A função `rdsadmin.list_databases` definida pelo usuário exibe as seguintes colunas: 

`DATABASE_NAME`  
O nome de um banco de dados.

`CREATE_TIME`  
A data e a hora em que o banco de dados foi criado.

`DATABASE_UNIQUE_ID`  
O RDS criou o GUID para identificar exclusivamente o banco de dados Db2.

`ARCHIVE_LOG_RETENTION_HOUR`  
O número de horas de retenção dos arquivos de log.

`ARCHIVE_LOG_COPY`  
Exibe se o recurso está HABILITADO ou DESABILITADO para o banco de dados.

`ARCHIVE_LOG_LAST_UPLOAD_FILE `  
Indica o último log de arquivamento enviado ao S3.

`ARCHIVE_LOG_LAST_UPLOAD_FILE_TIME`  
Indica a hora em que o arquivo de log foi arquivado.

`ARCHIVE_LOG_COPY_STATUS`  
Exibe o status da cópia do log de arquivamento.  
UPLOADING: indica que os arquivos de log do arquivamento estão sendo enviados ao S3.  
CONFIGURATION\$1ERROR: indica que há um problema de configuração que requer atenção.   
Para ver o erro detalhado, consulte as mensagens de eventos do RDS para sua instância de banco de dados. As mensagens de eventos podem ser visualizadas em [Visualização de eventos do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ListEvents.html).

### Exemplos de resposta
<a name="db2-udf-list-databases-response-examples"></a>

O exemplo de resposta a seguir mostra uma lista de bancos de dados e os horários em que eles foram criados. `rdsadmin` é um banco de dados que o Amazon RDS gerencia e sempre aparece na saída.

```
DATABASE_NAME   CREATE_TIME                DATABASE_UNIQUE_ID                                 ARCHIVE_LOG_RETENTION_HOURS ARCHIVE_LOG_COPY ARCHIVE_LOG_LAST_UPLOAD_FILE ARCHIVE_LOG_LAST_UPLOAD_FILE_TIME ARCHIVE_LOG_COPY_STATUS
--------------- -------------------------- -------------------------------------------------- --------------------------- ---------------- ---------------------------- --------------------------------- ------------------------------
RDSADMIN        2026-01-06-02.03.42.569069 RDSADMIN                                                                     0 DISABLED         -                            -                                 -
FOO             2026-01-06-02.13.42.885650 F0D81C7E-7213-4565-B376-4F33FCF420E3                                         0 ENABLED          S0006536.LOG                 2026-01-28-19.15.10.000000        UPLOADING
CODEP           2026-01-14-19.42.42.508476 106EEF95-6E30-4FFF-85AE-B044352DF095                                         0 DISABLED         -                            -                                 -
...
```

## rdsadmin.list\$1modifiable\$1db\$1params
<a name="db2-udf-list-modi-db-params"></a>

Exibe uma lista de todos os parâmetros de configuração modificáveis do banco de dados.

### Sintaxe
<a name="db2-udf-list-modi-db-params-syntax"></a>

```
db2 "select * from table(rdsadmin.list_modifiable_db_params())"
```

### Observações de uso
<a name="db2-udf-list-modi-db-params-usage-notes"></a>

Essa função definida pelo usuário exibe uma lista selecionada de parâmetros modificáveis do banco de dados. Esses parâmetros podem ser atualizados usando o procedimento armazenado [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param).

Qualquer parâmetro de banco de dados não incluído nessa lista foi restrito e não pode ser modificado.

### Resposta
<a name="db2-udf-list-modi-db-params-response"></a>

A função `rdsadmin.list_modifiable_db_params` definida pelo usuário exibe as seguintes colunas: 

`PARAM_NAME`  
O nome do parâmetro que pode ser modificando.

`DEFAULT_VALUE`  
Valor padrão do parâmetro no momento da criação do banco de dados.

`RESTART_REQUIRED`  
Se a reciclagem do banco de dados é ou não necessária.  
 Y = sim, é necessário reiniciar o banco de dados.  
 N = não, a reinicialização do banco de dados não é necessária.

### Exemplos de resposta
<a name="db2-udf-list-modi-db-params-response-examples"></a>

A seguir é apresentado um exemplo de lista (truncada) da saída esperada.

```
PARAM_NAME             DEFAULT_VALUE RESTART_REQUIRED
---------------------- ------------- ----------------
ACT_SORTMEM_LIMIT      NONE          N
ARCHRETRYDELAY         20            N
AUTHN_CACHE_DURATION   3             N
AUTHN_CACHE_USERS      0             N
AUTO_CG_STATS          OFF           N
...
```

# Solução de problemas do Amazon RDS para Db2
<a name="db2-troubleshooting"></a>

O conteúdo a seguir pode ajudar a solucionar problemas que você encontrar com o RDS para Db2.

Para ter mais informações sobre como solucionar problemas gerais do Amazon RDS, consulte [Solução de problemas para o Amazon RDS](CHAP_Troubleshooting.md).

**Topics**
+ [Erro de conexão de banco de dados](#db2-database-connection-error)
+ [Erro de E/S de arquivo](#db2-file-input-output-error)
+ [Erros de procedimentos armazenados](#db2-troubleshooting-stored-procedures)

## Erro de conexão de banco de dados
<a name="db2-database-connection-error"></a>

A mensagem de erro a seguir indica que um banco de dados falhou na conexão porque o servidor não tem memória suficiente.

```
SQL1643C The database manager failed to allocate shared memory because the
database manager instance memory limit has been reached.
```

Aumente a memória da instância de banco de dados e tente se conectar ao banco de dados novamente. Para obter informações sobre o uso da memória e recomendações para bancos de dados, consulte [Vários bancos de dados em uma instância de banco de dados do Amazon RDS para Db2](db2-multiple-databases.md). Para obter informações sobre como atualizar a memória de um banco de dados do RDS para Db2, consulte [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param).

## Erro de E/S de arquivo
<a name="db2-file-input-output-error"></a>

Você pode encontrar um erro de E/S de arquivo por diferentes motivos, como quando você usa o comando `LOAD` ou chama o procedimento armazenado `rdsadmin.restore_database`. 

Neste exemplo, você executa o comando `LOAD` a seguir. 

```
db2 "call sysproc.admin_cmd('load from "DB2REMOTE://s3test//public/datapump/t6.del" of del lobs from "DB2REMOTE://s3test/public/datapump/" modified by lobsinfile MESSAGES ON SERVER insert INTO RDSDB.t6 nonrecoverable ')"
```

O comando `LOAD` exibe a seguinte mensagem:

```
  Result set 1
  --------------

  ROWS_READ            ROWS_SKIPPED         ROWS_LOADED          ROWS_REJECTED        ROWS_DELETED         ROWS_COMMITTED       ROWS_PARTITIONED     NUM_AGENTINFO_ENTRIES MSG_RETRIEVAL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    MSG_REMOVAL
  -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- --------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                     -                    -                    -                    -                    -                    -                    -                     - SELECT SQLCODE, MSG FROM TABLE(SYSPROC.ADMIN_GET_MSGS('1594987316_285548770')) AS MSG                                                                                                                                                                                                                                                                                                                                                                                                                                            CALL SYSPROC.ADMIN_REMOVE_MSGS('1594987316_285548770')

  1 record(s) selected.

  Return Status = 0

SQL20397W  Routine "SYSPROC.ADMIN_CMD" execution has completed, but at least
one error, "SQL1652", was encountered during the execution. More information
is available.  SQLSTATE=01H52
```

Para visualizar a mensagem de erro, execute o comando SQL conforme sugerido na resposta anterior. `SELECT SQLCODE, MSG FROM TABLE(SYSPROC.ADMIN_GET_MSGS('1594987316_285548770')) AS MSG` exibe a seguinte mensagem:

```
SQLCODE   MSG
--------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL2025N  An I/O error occurred. Error code “438”. Media on which this error occurred: “DB2REMOTE://s3test//public/datapump/t6.del”

SQL3500W The utility is beginning the LOAD phase at time “07/05/2024 21:21:48.082954”

SQL1652N File I/O error occurred
```

Os logs de diagnóstico do Db2 contêm um arquivo de log semelhante ao seguinte:

```
2024-07-05-21.20.09.440609+000 I1191321E864          LEVEL: Error
PID     : 2710                 TID : 139619509200640 PROC : db2sysc 0
INSTANCE: rdsdb                NODE : 000            DB   : NTP
APPHDL  : 0-12180              APPID: xxx.xx.x.xxx.xxxxx.xxxxxxxxxxxx
UOWID   : 5                    ACTID: 1
AUTHID  : ADMIN                HOSTNAME: ip-xx-xx-x-xx
EDUID   : 147                  EDUNAME: db2lmr 0
FUNCTION: DB2 UDB, oper system services, sqloS3Client_GetObjectInfo, probe:219
MESSAGE : ZRC=0x870F01B6=-2029059658=SQLO_FAILED
          "An unexpected error is encountered"
DATA #1 : String, 29 bytes
S3:HeadObject request failed.
DATA #2 : signed integer, 4 bytes
99
DATA #3 : String, 0 bytes
Object not dumped: Address: 0x00007EFC08A9AE38 Size: 0 Reason: Zero-length data
DATA #4 : String, 33 bytes
curlCode: 28, Timeout was reached
```

Esse erro de E/S do arquivo pode se originar de vários cenários diferentes. Por exemplo, a VPC associada ao grupo de segurança usado para criar a instância de banco de dados do RDS para Db2 pode não ter um endpoint do gateway do Amazon S3. Esse endpoint é essencial para permitir que o RDS para Db2 acesse o Amazon S3. Se a instância de banco de dados do RDS para Db2 estiver em sub-redes privadas, será necessário um endpoint do gateway do Amazon S3. É possível especificar se a instância de banco de dados usa sub-redes privadas ou públicas configurando grupos de sub-redes do Amazon RDS. Para obter mais informações, consulte [Trabalhar com grupos de sub-redes de banco de dados](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.Subnets).

**Topics**
+ [Etapa 1: Criar um endpoint do gateway da VPC para o Amazon S3](#db2-creating-endpoint)
+ [Etapa 2: Confirmar se o endpoint do gateway da VPC para o Amazon S3 existe](#db2-confirming-endpoint)

### Etapa 1: Criar um endpoint do gateway da VPC para o Amazon S3
<a name="db2-creating-endpoint"></a>

Para que a instância de banco de dados do RDS para Db2 interaja com o Amazon S3, crie uma VPC e, em seguida, um endpoint do gateway do Amazon S3 para uso de sub-redes privadas.

**Como criar um endpoint do gateway da VPC para o S3**

1. Crie uma VPC. Para obter mais informações, consulte [Crie uma VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) no *Guia do usuário da Amazon Virtual Private Cloud*.

1. Crie um endpoint do gateway do Amazon S3 para uso de sub-redes privadas. Para obter mais informações, consulte [Gateway endpoints](https://docs.aws.amazon.com/vpc/latest/privatelink/gateway-endpoints.html) no *Guia do AWS PrivateLink*.

### Etapa 2: Confirmar se o endpoint do gateway da VPC para o Amazon S3 existe
<a name="db2-confirming-endpoint"></a>

Confirme se você criou com sucesso um endpoint do gateway do Amazon S3 usando o Console de gerenciamento da AWS ou a AWS CLI.

#### Console
<a name="db2-confirming-endpoing-console"></a>

**Como confirmar um endpoint do gateway do Amazon S3**

1. Faça login no Console de gerenciamento da AWS e abra o console da Amazon VPC em [https://console.aws.amazon.com/vpc](https://console.aws.amazon.com/vpc).

1.  No canto superior direito do console, escolha a Região da AWS da VPC.

1. Selecione a VPC que você criou.

1. Na guia **Mapa de recursos**, em **Conexões de rede**, confirme se um endpoint do gateway do Amazon S3 está listado. 

#### AWS CLI
<a name="db2-confirming-endpoint-cli"></a>

Para confirmar um endpoint do gateway do Amazon S3, execute o comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html). No exemplo a seguir, substitua *vpc\$1id* pelo ID da VPC, *region* pela sua Região da AWS, e *profile* pelo seu nome de perfil.

Para Linux, macOS ou Unix:

```
aws ec2 describe-vpc-endpoints \
    --filters "Name=vpc-id,Values=$vpc_id" \
    "Name=service-name,\
    Values=com.amazonaws.${region}.s3" \
    --region $region --profile=$profile \
    --query "VpcEndpoints[*].VpcEndpointId" --output text
```

Para Windows:

```
aws ec2 describe-vpc-endpoints ^
    --filters "Name=vpc-id,Values=$vpc_id" ^
    "Name=service-name,^
    Values=com.amazonaws.${region}.s3" ^
    --region $region --profile=$profile ^
    --query "VpcEndpoints[*].VpcEndpointId" --output text
```

Este comando produz uma saída semelhante ao exemplo a seguir se existir um endpoint do gateway do Amazon S3. 

```
[
    "vpce-0ea810434ff0b97e4"
]
```

Este comando produz uma saída semelhante ao exemplo a seguir se não existir um endpoint do gateway do Amazon S3. 

```
[]
```

Se você não vir um endpoint do gateway do Amazon S3 listado, então siga a [Etapa 1: Criar um endpoint do gateway da VPC para o Amazon S3](#db2-creating-endpoint). 

## Erros de procedimentos armazenados
<a name="db2-troubleshooting-stored-procedures"></a>

Esta sessão descreve vários erros exibidos ao chamar procedimentos armazenados e como resolvê-los.


| Categoria | Erros de procedimentos armazenados | 
| --- | --- | 
|  Bancos de dados  |  [Erros rdsadmin.activate\$1database](#db2-troubleshooting-activate-database-sp-errors)  | 
|  Bancos de dados  |  [erros rdsadmin.backup\$1database](#db2-troubleshooting-backup-database-sp-errors)  | 
|  Bancos de dados  |  [Erros rdsadmin.create\$1database](#db2-troubleshooting-create-database-sp-errors)  | 
|  Bancos de dados  |  [Erros rdsadmin.deactivate\$1database](#db2-troubleshooting-deactivate-database-sp-errors)  | 
|  Bancos de dados  |  [Erros rdsadmin.drop\$1database](#db2-troubleshooting-drop-database-sp-errors)  | 
|  Bancos de dados  |  [Erros rdsadmin.reactivate\$1database](#db2-troubleshooting-reactivate-database-sp-errors)  | 
|  Bancos de dados  |  [erros rdsadmin.restore\$1database](#db2-troubleshooting-restore-database-sp-errors)  | 
|  Bancos de dados  |  [Erros rdsadmin.update\$1db\$1param](#db2-troubleshooting-update-db-param-sp-errors)  | 
|  Tablespaces  |  [Erros rdsadmin.alter\$1tablespace](#db2-troubleshooting-alter-tablespace-sp-errors)  | 

### Erros rdsadmin.activate\$1database
<a name="db2-troubleshooting-activate-database-sp-errors"></a>

Os erros a seguir podem ocorrer quando o procedimento armazenado [rdsadmin.activate\$1database](db2-sp-managing-databases.md#db2-sp-activate-database) é chamado.


| Erro | A mensagem de erro | 
| --- | --- | 
|  [Failed to allocate shared memory](#activate-database-sp-failed-to-allocate-shared-memory)  |  `SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.`  | 
|  [Unable to activate because of running processes](#activate-database-sp-unable-to-activate-processes)  |  `The database can’t be activated because it's in the process of being created or restored.`  | 

**Falha ao alocar memória compartilhada**

A mensagem de erro a seguir indica que o procedimento armazenado falhou ao ativar um banco de dados porque a instância de banco de dados não tem memória suficiente.

```
SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.
```

Aumente a memória da instância de banco de dados e, em seguida, chame o procedimento armazenado `rdsadmin.activate_database` novamente. Para obter informações sobre o uso da memória e recomendações para bancos de dados, consulte [Vários bancos de dados em uma instância de banco de dados do Amazon RDS para Db2](db2-multiple-databases.md).

**Não é possível ativar devido a processos em execução**

A mensagem de erro a seguir indica que o procedimento armazenado não pôde ativar um banco de dados porque o procedimento armazenado `rdsadmin.create_database` ou `rdsadmin.restore_database` está em execução.

```
The database can’t be activated because it's in the process of being created or restored.
```

Aguarde alguns minutos e, depois, chame o procedimento armazenado `rdsadmin.activate_database` novamente.

### Erros rdsadmin.alter\$1tablespace
<a name="db2-troubleshooting-alter-tablespace-sp-errors"></a>

Os erros a seguir podem ocorrer quando o procedimento armazenado [rdsadmin.alter\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-alter-tablespace) é chamado.


| Erro | A mensagem de erro | 
| --- | --- | 
|  [Statement not valid](#alter-tablespace-sp-statement-not-valid)  |  `DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: ` `SQL1763N Invalid ALTER TABLESPACE statement for table space "TBSP_TEST" due to reason "12"`  | 
|  [tablespace_prefetch_size value not valid](#alter-tablespace-sp-prefetch-value-not-valid)  |  `Invalid tablespace_prefetch_size. Set value to AUTOMATIC or to a non-zero positive numerical value.`  | 
|  [tablespace_prefetch_size numerical value not valid](#alter-tablespace-sp-prefetch-numerical-value-not-valid)  |  `Invalid tablespace_prefetch_size. The number of pages can't be greater than 32767.`  | 
|  [Parameter can't be used with tablespace_prefetch_size](#alter-tablespace-sp-prefetch-incompatible-parameter)  |  `You can't use tablespace_prefetch_size with {parameter}.`  | 
|  [Tablespace change failed](#alter-tablespace-sp-tablespace-change-failed)  |  `The change to tablespace {tablespace_name} failed because you can only alter LARGE or REGULAR tablespaces.`  | 

**Instrução não válida**

A mensagem de erro a seguir indica que o procedimento armazenado combinou parâmetros opcionais mutuamente exclusivos com outros parâmetros opcionais. Os parâmetros opcionais `reduce_max, reduce_stop`, `reduce_value`, `lower_high_water`, `lower_high_water_stop` e `switch_online` para o procedimento armazenado `rdsadmin.alter_tablespace` são mutuamente exclusivos. Não é possível combiná-los com nenhum outro parâmetro opcional, como `buffer_pool_name`, no procedimento armazenado `rdsadmin.alter_tablespace`. Se você combiná-los, ao chamar a função `rdsadmin.get_task_status` definida pelo usuário, o Db2 exibirá essa mensagem de erro. 

```
DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: 
SQL1763N Invalid ALTER TABLESPACE statement for table space "TBSP_TEST" due to reason "12"
```

Chame o procedimento armazenado `rdsadmin.alter_tablespace` novamente sem combinar parâmetros opcionais mutuamente exclusivos com outros parâmetros opcionais. Depois, chame a função definida pelo usuário `rdsadmin.get_task_status`. Para ter mais informações, consulte [rdsadmin.alter\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-alter-tablespace) e [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status).

**valor de tablespace\$1prefetch\$1size inválido**

A mensagem de erro a seguir indica que você não definiu `tablespace_prefetch_size` como `AUTOMATIC` ou um valor numérico não positivo. Por exemplo, você tentou configurá-lo como `testinput`.

```
Invalid tablespace_prefetch_size. Set value to AUTOMATIC or to a non-zero positive numerical value.
```

Chame o procedimento armazenado `rdsadmin.alter_tablespace` novamente e defina `tablespace_prefetch_size` como `AUTOMATIC` ou um valor numérico não positivo.

**valor numérico de tablespace\$1prefetch\$1size inválido**

A mensagem de erro a seguir indica que você definiu `tablespace_prefetch_size` como um valor numérico maior que 32767.

```
Invalid tablespace_prefetch_size. The number of pages can't be greater than 32767.
```

Chame o procedimento armazenado `rdsadmin.alter_tablespace` novamente e defina `tablespace_prefetch_size` como um valor numérico positivo diferente de zero menor ou igual a 32767.

**O parâmetro não pode ser usado com tablespace\$1prefetch\$1size**

A mensagem de erro a seguir indica que você tentou usar `tablespace_prefetch_size` com um parâmetro incompatível. 

```
You can't use tablespace_prefetch_size with {parameter}.
```

Chame o procedimento armazenado `rdsadmin.alter_tablespace` novamente e use somente `tablespace_prefetch_size` com parâmetros compatíveis. Consulte informações sobre parâmetros que podem ser usados com `tablespace_prefetch_size` em [rdsadmin.alter\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-alter-tablespace).

**Falha na alteração do espaço de tabela**

A mensagem de erro a seguir indica que você tentou alterar um espaço de tabela. 

```
The change to tablespace {tablespace_name} failed because you can only alter LARGE or REGULAR tablespaces.
```

### erros rdsadmin.backup\$1database
<a name="db2-troubleshooting-backup-database-sp-errors"></a>

Os erros a seguir podem ocorrer quando o procedimento armazenado [rdsadmin.backup\$1database](db2-sp-managing-databases.md#db2-sp-backup-database) é chamado.


| Erro | A mensagem de erro | 
| --- | --- | 
|  [Insufficient disk space](#backup-database-sp-insufficient-disk-space)  |  `Aborting task. Reason Backing up your database failed because of insufficient disk space. Increase the storage for your DB instance and rerun the rdsadmin.backup_database stored procedure.`  | 
|  [Internal error](#backup-database-sp-internal-error)  |  `Caught exception during executing task id 104, Aborting task. Reason Internal Error`  | 

**Espaço em disco insuficiente**

A mensagem de erro a seguir indica que a instância de banco de dados não tem espaço em disco suficiente para fazer backup do banco de dados:

```
Aborting task. Reason Backing up your database failed because of insufficient disk space. Increase the storage for your DB instance and rerun the rdsadmin.backup_database stored procedure.
```

Ao fazer backup de um banco de dados no armazenamento remoto, verifique se você tem espaço livre em disco suficiente para a sessão de backup e os arquivos de trabalho. Cada sessão de backup processa até 5 GB de dados, mas é necessário espaço adicional para logs de transações, arquivos temporários e operações contínuas do banco de dados. 

Recomendamos que você tenha o seguinte espaço livre em disco para backups com base no tamanho do banco de dados:
+ Para bancos de dados com menos de 5 GB: o tamanho do banco de dados \$1 3 GB de buffer.
+ Para bancos de dados de 5 GB ou mais: pelo menos 10 GB de espaço livre.

Essa quantidade de espaço livre em disco é responsável pelo processamento da sessão de backup, pelo acúmulo de logs de transações durante o backup, pelos arquivos de trabalho temporários e pelos fluxos de backup paralelos, se configurados. Para obter mais informações, consulte [Aumento da capacidade de armazenamento da instância de banco de dados](USER_PIOPS.ModifyingExisting.md).

Aumente o espaço em disco e, em seguida, chame o procedimento armazenado [rdsadmin.backup\$1database](db2-sp-managing-databases.md#db2-sp-backup-database) novamente. Para confirmar se o backup do banco de dados foi feito corretamente, confira o status da tarefa usando [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). Você também pode verificar se os arquivos de backup existem em seu bucket do Amazon S3 em *s3\$1prefix/dbi\$1resource\$1id/db\$1name*.

**Erro interno**

A mensagem de erro a seguir indica que o procedimento armazenado encontrou um erro interno: 

```
Caught exception during executing task id 104, Aborting task. Reason Internal Error
```

Entrar em contato com o [AWS Support](https://aws.amazon.com/premiumsupport/).

### Erros rdsadmin.create\$1database
<a name="db2-troubleshooting-create-database-sp-errors"></a>

O erro a seguir pode ocorrer quando o procedimento armazenado [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database) é chamado.


| Erro | A mensagem de erro | 
| --- | --- | 
|  [Failed to allocate shared memory](#create-database-sp-failed-to-allocate-shared-memory)  |  `SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.`  | 

**Falha ao alocar memória compartilhada**

A mensagem de erro a seguir indica que o procedimento armazenado falhou ao criar um banco de dados porque a instância de banco de dados não tem memória suficiente.

```
SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.
```

Aumente a memória da instância de banco de dados e, em seguida, chame o procedimento armazenado `rdsadmin.create_database` novamente. Para obter informações sobre o uso da memória e recomendações para bancos de dados, consulte [Vários bancos de dados em uma instância de banco de dados do Amazon RDS para Db2](db2-multiple-databases.md).

Para confirmar que o banco de dados foi criado, chame a função [rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases) definida pelo usuário e verifique se o novo banco de dados está listado.

### Erros rdsadmin.deactivate\$1database
<a name="db2-troubleshooting-deactivate-database-sp-errors"></a>

O erro a seguir pode ocorrer quando o procedimento armazenado [rdsadmin.deactivate\$1database](db2-sp-managing-databases.md#db2-sp-deactivate-database) é chamado.


| Erro | A mensagem de erro | 
| --- | --- | 
|  [Unable to deactivate because of running processes](#deactivate-database-sp-unable-to-deactivate-processes)  |  `The database can’t be deactivated because it's in the process of being created or restored.`  | 

**Não é possível desativar devido a processos em execução**

A mensagem de erro a seguir indica que o procedimento armazenado não pôde desativar um banco de dados porque o procedimento armazenado `rdsadmin.create_database` ou `rdsadmin.restore_database` está em execução.

```
The database can’t be deactivated because it's in the process of being created or restored.
```

Aguarde alguns minutos e, depois, chame o procedimento armazenado `rdsadmin.deactivate_database` novamente.

### Erros rdsadmin.drop\$1database
<a name="db2-troubleshooting-drop-database-sp-errors"></a>

Os erros a seguir podem ocorrer quando o procedimento armazenado [rdsadmin.drop\$1database](db2-sp-managing-databases.md#db2-sp-drop-database) é chamado.


| Erro | A mensagem de erro | 
| --- | --- | 
|  [Database name doesn't exist](#drop-database-sp-database-name-not-exist)  |  `SQL0438N Application raised error or warning with diagnostic text: "Cannot drop database. Database with provided name does not exist". SQLSTATE=99993`  | 
|  [Return status = 0](#drop-database-sp-return-status-zero)  |  `Return Status = 0`  | 
|  [Dropping database not allowed](#drop-database-sp-not-allowed)  |  `1 ERROR DROP_DATABASE RDSDB 2023-10-10-16.33.03.744122 2023-10-10-16.33.30.143797 - 2023-10-10-16.33.30.098857 Task execution has started. 2023-10-10-16.33.30.143797 Caught exception during executing task id 1, Aborting task. Reason Dropping database created via rds CreateDBInstance api is not allowed. Only database created using rdsadmin.create_database can be dropped`  | 

**O nome do banco de dados não existe**

A mensagem de erro a seguir indica que você transmitiu um nome de banco de dados incorreto no procedimento armazenado `rdsadmin.drop_database`.

```
SQL0438N Application raised error or warning with diagnostic text: "Cannot
drop database. Database with provided name does not exist". SQLSTATE=99993
```

Chame o procedimento armazenado `rdsadmin.drop_database` novamente com um nome de banco de dados correto. Para confirmar que o banco de dados foi descartado, chame a função [rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases) definida pelo usuário e verifique se o banco de dados descartado não está listado.

**Status de retorno = 0**

A mensagem de erro a seguir indica que o procedimento armazenado não pôde ser concluído. 

```
Return Status = 0
```

Depois de receber `Return Status = 0`, chame a função definida pelo usuário [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status). 

**Não é permitido descartar o banco de dados**

A mensagem de erro a seguir indica que você criou o banco de dados usando o console do Amazon RDS ou a AWS CLI. Só é possível usar o procedimento armazenado `rdsadmin.drop_database` se você criou o banco de dados chamando o procedimento armazenado [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database).

```
1 ERROR DROP_DATABASE RDSDB 2023-10-10-16.33.03.744122 2023-10-10-16.33.30.143797 - 2023-10-10-16.33.30.098857 Task execution has started.
2023-10-10-16.33.30.143797 Caught exception during executing task id 1, Aborting task. 
Reason Dropping database created via rds CreateDBInstance api is not allowed. 
Only database created using rdsadmin.create_database can be dropped
```

Para descartar um banco de dados que foi criado usando o console do Amazon RDS ou a AWS CLI, use um cliente para se conectar ao banco de dados e execute o comando apropriado.

### Erros rdsadmin.reactivate\$1database
<a name="db2-troubleshooting-reactivate-database-sp-errors"></a>

O erro a seguir pode ocorrer quando o procedimento armazenado [rdsadmin.reactivate\$1database](db2-sp-managing-databases.md#db2-sp-reactivate-database) é chamado.


| Erro | A mensagem de erro | 
| --- | --- | 
|  [Failed to allocate shared memory](#reactivate-database-sp-failed-to-allocate-shared-memory)  |  `SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.`  | 
|  [Unable to reactivate because of running processes](#reactivate-database-sp-unable-to-reactivate-processes)  |  `The database can’t be reactivated because it's in the process of being created or restored.`  | 

**Falha ao alocar memória compartilhada**

A mensagem de erro a seguir indica que o procedimento armazenado falhou ao ativar um banco de dados porque a instância de banco de dados não tem memória suficiente.

```
SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.
```

Aumente a memória da instância de banco de dados e, em seguida, chame o procedimento armazenado `rdsadmin.activate_database` novamente. Para obter informações sobre o uso da memória e recomendações para bancos de dados, consulte [Vários bancos de dados em uma instância de banco de dados do Amazon RDS para Db2](db2-multiple-databases.md).

**Não é possível reativar devido a processos em execução**

A mensagem de erro a seguir indica que o procedimento armazenado não pôde reativar um banco de dados porque o procedimento armazenado `rdsadmin.create_database` ou `rdsadmin.restore_database` está em execução.

```
The database can’t be reactivated because it's in the process of being created or restored.
```

Aguarde alguns minutos e, depois, chame o procedimento armazenado `rdsadmin.reactivate_database` novamente.

### erros rdsadmin.restore\$1database
<a name="db2-troubleshooting-restore-database-sp-errors"></a>

Os seguintes erros podem ocorrer quando você chama o procedimento armazenado [rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database):


| Erro | A mensagem de erro | 
| --- | --- | 
|  [Insufficient disk space](#restore-database-sp-insufficient-disk-space)  |  `Aborting task. Reason Restoring your database failed because of insufficient disk space. Increase the storage for your DB instance and rerun the rdsadmin.restore_database stored procedure.`  | 
|  [Internal error](#restore-database-sp-internal-error)  |  `Caught exception during executing task id 104, Aborting task. Reason Internal Error`  | 
|  [Non-fenced routines not allowed](#restore-database-sp-non-fenced-routines)  |  `Caught exception during executing task id 2, Aborting task. Reason Non fenced routines are not allowed. Please delete the routines and retry the restore.`  | 
| [Tablespaces not restored](#restore-database-sp-tablespaces-not-restored) |  `Reason SQL0970N The system attempted to write to a read-only file. Reason SQL2563W The Restore process has completed successfully. However one or more table spaces from the backup were not restored.`  | 

**Espaço em disco insuficiente**

A mensagem de erro a seguir indica que a instância de banco de dados não tem espaço em disco suficiente para restaurar o banco de dados:

```
Aborting task. Reason Restoring your database failed because of insufficient disk space. Increase the storage for your DB instance and rerun the rdsadmin.restore_database stored procedure.
```

O espaço livre na instância de banco de dados deve ser mais de duas vezes maior que o tamanho da imagem de backup. Se a imagem de backup estiver compactada, o espaço livre na instância de banco de dados deverá ser mais de três vezes maior que o tamanho da imagem de backup. Para obter mais informações, consulte [Aumento da capacidade de armazenamento da instância de banco de dados](USER_PIOPS.ModifyingExisting.md).

Aumente o espaço em disco e, em seguida, chame o procedimento armazenado `rdsadmin.restore_database` novamente. Para confirmar que o banco de dados foi restaurado, chame a função [rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases) definida pelo usuário e verifique se o banco de dados restaurado está listado.

**Erro interno**

A mensagem de erro a seguir indica que o procedimento armazenado encontrou um erro interno: 

```
Caught exception during executing task id 104, Aborting task. Reason Internal Error
```

Entrar em contato com o [AWS Support](https://aws.amazon.com/premiumsupport/).

**Rotinas não protegidas não são permitidas**

A seguinte mensagem de erro indica que o banco de dados contém rotinas não protegidas:

```
Caught exception during executing task id 2, Aborting task. Reason Non fenced routines are not allowed. Please delete the routines and retry the restore.
```

O RDS para Db2 não permite rotinas não protegidas. Remova as rotinas não protegidas do banco de dados de origem e chame `rdsadmin.restore_database` novamente. Para confirmar que o banco de dados foi restaurado, chame a função [rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases) definida pelo usuário e verifique se o banco de dados restaurado está listado. Para obter mais informações, consulte [Rotinas não protegidas](db2-known-issues-limitations.md#db2-known-issues-limitations-non-fenced-routines).

**Espaços de tabela não restaurados**

A seguinte mensagem de erro indica que o RDS para Db2 restaurou com sucesso o banco de dados, mas não conseguiu restaurar um ou mais espaços de tabela:

```
Reason SQL0970N The system attempted to write to a read-only file.
Reason SQL2563W The Restore process has completed successfully. However one or more table spaces from the backup were not restored.
```

O RDS para Db2 não permite armazenamento não automático. Converta o armazenamento não automático em automático e chame `rdsadmin.restore_database` novamente. Consulte mais informações em [Converting a nonautomatic storage database to use automatic storage](https://www.ibm.com/docs/en/db2/11.5?topic=databases-converting-nonautomatic-storage-database-use-automatic-storage) na documentação do IBM Db2.

Bancos de dados com armazenamento não automático de SMS exigem restauração manual. Se o seu banco de dados tiver armazenamento não automático de SMS, entre em contato com o [AWS Support](https://aws.amazon.com/premiumsupport/). 

Consulte informações sobre o armazenamento não automático e migrações únicas em [Espaços de tabela de armazenamento não automáticos durante a migração](db2-known-issues-limitations.md#db2-known-issues-limitations-non-automatic-storage-tablespaces).

### Erros rdsadmin.update\$1db\$1param
<a name="db2-troubleshooting-update-db-param-sp-errors"></a>

O erro a seguir pode ocorrer quando o procedimento armazenado [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param) é chamado.


| Erro | A mensagem de erro | 
| --- | --- | 
|  [Parameter not supported or modifiable](#update-db-param-sp-parameter-not-supported-modifiable)  | SQL0438N Application raised error or warning with diagnostic text: "Parameter is either not supported or not modifiable to customers". SQLSTATE=99993 | 

**Parâmetro incompatível ou não modificável**

A mensagem de erro a seguir indica que você tentou modificar um parâmetro de configuração de banco de dados que não é compatível ou não é modificável.

```
SQL0438N Application raised error or warning with diagnostic text: "Parameter
is either not supported or not modifiable to customers". SQLSTATE=99993
```

É possível ver quais parâmetros são modificáveis visualizando os grupos de parâmetros. Para obter mais informações, consulte [Visualizar valores de parâmetros para um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Viewing.md).