

# Trabalhar com CDBs no RDS para Oracle
<a name="oracle-multitenant"></a>

Na arquitetura multilocatário do Oracle, um banco de dados de contêiner (CDB) pode incluir bancos de dados conectáveis (PDBs) criados pelo cliente. Para obter mais informações sobre CDBs, consulte [Introduction to the Multitenant Architecture](https://docs.oracle.com/en/database/oracle/oracle-database/19/multi/introduction-to-the-multitenant-architecture.html#GUID-267F7D12-D33F-4AC9-AA45-E9CD671B6F22) na documentação do Oracle Database.

**Topics**
+ [Visão geral dos CDBs RDS para Oracle](Oracle.Concepts.CDBs.md)
+ [Configurar um CDB RDS para Oracle](oracle-cdb.configuring.md)
+ [Fazer backup e restaurar um CDB](Oracle.Concepts.single-tenant.snapshots.md)
+ [Converter um não CDB RDS para Oracle em um CDB](oracle-cdb-converting.md)
+ [Converter a configuração de locatário único em multilocatário](oracle-single-tenant-converting.md)
+ [Adicionar um banco de dados de locatários do RDS for Oracle à sua instância de CDB](oracle-cdb-configuring.adding.pdb.md)
+ [Modificando um banco de dados de locatários do RDS para Oracle](oracle-cdb-configuring.modifying.pdb.md)
+ [Excluindo um banco de dados de locatários do RDS for Oracle do seu CDB](oracle-cdb-configuring.deleting.pdb.md)
+ [Visualizando detalhes do banco de dados do inquilino](oracle-cdb-configuring.describing.pdb.md)
+ [Fazer upgrade de um CDB](Oracle.Concepts.single-tenant.upgrades.md)

# Visão geral dos CDBs RDS para Oracle
<a name="Oracle.Concepts.CDBs"></a>

Você pode criar uma instância de banco de dados do RDS para Oracle como um banco de dados de contêiner (CDB) ao executar o Oracle Database 19c ou posterior. A partir do Oracle Database 21c, todos os bancos de dados são CDBs. Um CDB é diferente de um não CDB porque pode conter bancos de dados conectáveis (PDBs), que são chamados de bancos de dados de locatário no RDS para Oracle. Um PDB é uma coleção portátil de esquemas e objetos que aparece para uma aplicação como um banco de dados separado.

Você vai criar o banco de dados de locatários (PDB) inicial ao criar a instância de CDB. No RDS para Oracle, a aplicação cliente interage com um PDB e não com um CDB. Sua experiência com um PDB é majoritariamente idêntica à experiência com um não CDB.

**Topics**
+ [Configuração de multilocatário da arquitetura CDB](#multi-tenant-configuration)
+ [Configuração de locatário único da arquitetura CDB](#Oracle.Concepts.single-tenant)
+ [Opções de criação e conversão em CDBs](#oracle-cdb-creation-conversion)
+ [Contas de usuário e privilégios em um CDB](#Oracle.Concepts.single-tenant.users)
+ [Famílias de grupos de parâmetros em um CDB](#Oracle.Concepts.single-tenant.parameters)
+ [Limitações do RDS for CDBs Oracle](#Oracle.Concepts.single-tenant-limitations)

## Configuração de multilocatário da arquitetura CDB
<a name="multi-tenant-configuration"></a>

O RDS para Oracle é compatível com a configuração de multilocatário da arquitetura multilocatária da Oracle, também chamada de *arquitetura CDB*. Nessa configuração, a instância de CDB do RDS para Oracle pode conter bancos de dados de um a trinta locatários, dependendo da edição do banco de dados e de quaisquer licenças de opção necessárias. No banco de dados Oracle, um banco de dados de locatários é um PDB. Sua instância de banco de dados deve usar a versão 19.0.0.0.ru-2022-01.rur-2022.r1 ou posterior.

**nota**  
A configuração do Amazon RDS é chamada de “multi-tenant”, em vez de “multitenant”, porque é um recurso do Amazon RDS, não apenas do mecanismo de banco de dados Oracle. Da mesma forma, o termo “locatário” do RDS refere-se a qualquer locatário em uma configuração do RDS, não apenas aos PDBs da Oracle. Na documentação do RDS, o termo “multilocatário da Oracle” (Oracle multitenant), sem hífen, refere-se exclusivamente à arquitetura CDB de banco de dados Oracle, que é compatível com implantações on-premises e do RDS.

Agora, é possível definir as seguintes configurações:
+ Nome do banco de dados do locatário
+ Nome de usuário mestre do banco de dados locatário
+ Senha principal do banco de dados de locatário (integrada opcionalmente ao Secrets Manager)
+ Conjunto de caracteres de banco de dados locatário
+ Conjunto de caracteres nacionais do banco de dados do inquilino

O conjunto de caracteres do banco de dados locatário pode ser diferente do conjunto de caracteres do CDB. O mesmo se aplica ao conjunto de caracteres nacionais. Depois de criar seu banco de dados locatário inicial, você pode criar, modificar ou excluir bancos de dados locatário usando as APIs do RDS. O nome do CDB é padronizado como `RDSCDB` e não pode ser alterado. Para obter mais informações, consulte [Configurações para instâncias de banco de dados](USER_CreateDBInstance.Settings.md) e [Modificando um banco de dados de locatários do RDS para Oracle](oracle-cdb-configuring.modifying.pdb.md).

## Configuração de locatário único da arquitetura CDB
<a name="Oracle.Concepts.single-tenant"></a>

O RDS para Oracle é compatível com a configuração legada da arquitetura multilocatário da Oracle chamada configuração de locatário único. Nessa configuração, uma instância CDB RDS para Oracle pode conter apenas um locatário (PDB). Não será possível criar mais PDBs posteriormente.

## Opções de criação e conversão em CDBs
<a name="oracle-cdb-creation-conversion"></a>

O Oracle Database 21c só é compatível com CDBs, enquanto o Oracle Database 19c é compatível com CDBs e não CDBs. Todas as instâncias do CDB RDS para Oracle são compatíveis com as configurações de multilocatário e locatário único.

### Opções de criação, conversão e atualização para a arquitetura de banco de dados Oracle
<a name="oracle-cdb-creation-conversion.architecture"></a>

A tabela a seguir mostra as diferentes opções de arquitetura para criação e atualização de bancos de dados RDS para Oracle.


| Versão | Opções de criação de banco de dados | Opções de conversão de arquitetura | Destinos de upgrade da versão principal | 
| --- | --- | --- | --- | 
| Oracle Database 21c | Somente arquitetura CDB | N/D | N/D | 
| Oracle Database 19c | Arquitetura CDB ou não CDB | Arquitetura não CDB para CDB (RU de abril de 2021 ou posterior) | CDB do Oracle Database 21c | 

Conforme mostrado na tabela anterior, não é possível atualizar de um não CDB para um CDB diretamente em uma nova versão principal. Mas você pode converter um não CDB Oracle Database 19c em um CDB Oracle Database 19c, depois fazer upgrade do CDB Oracle Database 19c para CDB Oracle Database 21c. Para obter mais informações, consulte [Converter um não CDB RDS para Oracle em um CDB](oracle-cdb-converting.md).

### Opções de conversão para configurações de arquitetura CDB
<a name="oracle-cdb-creation-conversion.configuration"></a>

A tabela a seguir mostra as diferentes opções para converter a configuração de arquitetura de uma instância de banco de dados RDS para Oracle.


| Arquitetura e configuração atuais | Conversão para a configuração de locatário único da arquitetura CDB | Conversão para a configuração de multilocatário da arquitetura CDB | Conversão para a arquitetura não CDB | 
| --- | --- | --- | --- | 
| Não CDB | Compatível | Compatível\$1 | N/D | 
| CDB usando a configuração de locatário único | N/D | Compatível | Não compatível | 
| CDB usando a configuração multilocatário | Não compatível | N/D | Não compatível | 

\$1 Não é possível converter um não CDB na configuração de multilocatário em uma única operação. Quando você converte um não CDB em CDB, o CDB está na configuração de locatário único. Você pode converter a configuração de locatário único na configuração de multilocatário em uma operação separada.

## Contas de usuário e privilégios em um CDB
<a name="Oracle.Concepts.single-tenant.users"></a>

Na arquitetura multilocatário do Oracle, todas as contas de usuário são usuários comuns ou usuários locais. Um usuário comum do CDB é um usuário de banco de dados cuja única identidade e senha são conhecidas na raiz CDB e em todos os PDB existentes e futuros. Em contraste, um usuário local existe somente em um único PDB.

O usuário principal do RDS é uma conta de usuário local no PDB, que você nomeia ao criar sua instância de banco de dados. Se você criar novas contas de usuário, esses usuários também serão usuários locais residentes no PDB. Você não pode usar nenhuma conta de usuário para criar novos PDBs ou modificar o estado do PDB existente.

O usuário `rdsadmin` é uma conta de usuário comum. Você pode executar pacotes do RDS para Oracle que existem nesta conta, mas não pode fazer login como `rdsadmin`. Para obter mais informações, consulte [Sobre usuários comuns e usuários locais](https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/managing-security-for-oracle-database-users.html#GUID-BBBD9904-F2F3-442B-9AFC-8ACDD9A588D8) na documentação da Oracle.

Para usuários principais nas configurações multilocatário e de locatário único, você pode usar credenciais que são autogerenciadas ou gerenciadas pelo AWS Secrets Manager. Na configuração de locatário único, você usa comandos da CLI em nível de instância, como `create-db-instance` para senhas principais gerenciadas. Na configuração multilocatário, você usa comandos do banco de dados de locatário, como `create-tenant-database` para senhas principais gerenciadas. Para ter mais informações sobre a integração do Secrets Manager, consulte [Gerenciar a senha do usuário principal para um banco de dados de locatário do RDS para Oracle com o Secrets Manager](rds-secrets-manager.md#rds-secrets-manager-tenant).

## Famílias de grupos de parâmetros em um CDB
<a name="Oracle.Concepts.single-tenant.parameters"></a>

Os CDBs têm suas próprias famílias de grupos de parâmetros e valores de parâmetros padrão. As famílias de grupos de parâmetros de CDB são as seguintes:
+ oracle-ee-cdb-21
+ oracle-se2-cdb-21
+ oracle-ee-cdb-19
+ oracle-se2-cdb-19

## Limitações do RDS for CDBs Oracle
<a name="Oracle.Concepts.single-tenant-limitations"></a>

O RDS para Oracle é compatível com um subconjunto de atributos disponíveis em um CDB on-premises.

### Limitações do CDB
<a name="oracle-cdb-limitations.cdb"></a>

As limitações a seguir se aplicam aos RDS para Oracle em nível de CDB:
+ Não é possível se conectar a um CDB. Você sempre se conecta ao banco de dados (PDB) locatário em vez do CDB. Especifique o endpoint para o PDB assim como para um não CDB. A única diferença é que você especifica *pdb\$1name* para o nome do banco de dados, em que * pdb\$1name* é o nome que você escolheu para seu PDB.
+ Não é possível converter um CDB na configuração de multilocatário em um CDB na configuração de locatário único. A conversão na configuração de multilocatário é unidirecional e irreversível.
+ Não será possível habilitar ou converter na configuração de multilocatário se sua instância de banco de dados usar uma versão de banco de dados Oracle menor que 19.0.0.0.ru-2022-01.rur-2022.r1.
+ Não é possível usar o Database Activity Streams em um CDB.
+ Não é possível habilitar a auditoria em `CDB$ROOT`. É necessário habilitar a auditoria em cada PDB individualmente.

### Limitações do banco de dados (PDB) locatário
<a name="oracle-cdb-limitations.pdb"></a>

As seguintes limitações se aplicam aos bancos de dados locatários na configuração de multilocatário do RDS para Oracle:
+ Não é possível transferir as operações do banco de dados locatário para a janela de manutenção. Todas as alterações ocorrem imediatamente.
+ Não é possível adicionar um banco de dados locatário a um CDB que usa a configuração de locatário único.
+ Não é possível adicionar ou modificar vários bancos de dados locatários em uma única operação. Só é possível adicioná-los ou modificá-los um de cada vez.
+ Não é possível alterar o nome de um banco de dados locatário para `CDB$ROOT` ou `PDB$SEED`.
+ Não será possível excluir um banco de dados locatário se ele for o único locatário no CDB.
+ Nem todos os tipos de classe de instância de banco de dados têm recursos suficientes para oferecer suporte a vários PDBs em uma instância de CDB RDS para Oracle. Um aumento na contagem de PDBs afeta a performance e a estabilidade das classes de instâncias menores e aumenta o tempo da maioria das operações em nível de instância, por exemplo, atualizações de banco de dados.
+ Não é possível renomear um PDB usando `rdsadmin.rdsadmin_util.rename_global_name`. Em vez disso, é necessário usar a API `modify-tenant-database`.
+ Não é possível usar várias Contas da AWS para criar PDBs no mesmo CDB. Os PDBs devem ser de propriedade da mesma conta da instância de banco de dados em que os PDBs estão hospedados.
+ Todos os PDBs em um CDB usam o mesmo endpoint e o mesmo receptor de banco de dados.
+ As seguintes operações não são compatíveis no nível do PDB, mas sim no nível do CDB:
  + Backup e recuperação
  + Atualizações do banco de dados
  + Ações de manutenção
+ Os seguintes atributos não são compatíveis no nível do PDB, mas sim no nível do CDB:
  + Grupos de opções (as opções são instaladas em todos os PDBs em sua instância de CDB)
  + Grupos de parâmetros (todos os parâmetros são derivados do grupo de parâmetros associado à sua instância de CDB)
+ As operações em nível de PDB que são compatíveis com a arquitetura de CDB on-premises, mas não são compatíveis com CDB RDS para Oracle, incluem o seguinte:
**nota**  
A lista a seguir não é completa.
  + PDBs de aplicação
  + PDBs de proxy
  + Iniciar e encerrar um PDB
  + Desconectar e conectar PDBs

    Para inserir ou remover dados de um CDB, use as mesmas técnicas de um não CDB. Para obter mais informações sobre a migração de dados, consulte [Importar dados para o Oracle no Amazon RDS](Oracle.Procedural.Importing.md).
  + Opções de configuração no nível do PDB

    O PDB herda as configurações de opções do grupo de opções do CDB. Para obter mais informações sobre as opções de configuração, consulte [Grupos de parâmetros para Amazon RDS](USER_WorkingWithParamGroups.md). Para ver as práticas recomendadas, consulte [Trabalhar com grupos de parâmetros de banco de dados](CHAP_BestPractices.md#CHAP_BestPractices.DBParameterGroup).
  + Configurar parâmetros em um PDB

    O PDB herda as configurações de parâmetros do CDB. Para obter mais informações sobre as opções de configuração, consulte [Adição de opções a instâncias de banco de dados Oracle](Appendix.Oracle.Options.md).
  + Configurar diferentes receptores para PDBs no mesmo CDB
  + Atributos do Oracle Flashback

# Configurar um CDB RDS para Oracle
<a name="oracle-cdb.configuring"></a>

A configuração de um CDB é semelhante à configuração de um não CDB. 

**Topics**
+ [Criar uma instância de CDB do RDS para Oracle](#Oracle.Concepts.single-tenant.creation)
+ [Conectar-se a um PDB em seu CDB RDS para Oracle](#Oracle.Concepts.connecting.pdb)

## Criar uma instância de CDB do RDS para Oracle
<a name="Oracle.Concepts.single-tenant.creation"></a>

No RDS para Oracle, a criação de uma instância de CDB é quase idêntica à criação de uma instância não CDB. A diferença é que você escolhe a arquitetura multilocatário Oracle ao criar a instância de banco de dados e também escolhe a configuração de arquitetura: multilocatário ou locatário único. Se você criar tags ao criar um CDB na configuração de vários locatários, o RDS propagará as tags para o banco de dados inicial do inquilino. Para criar um CDB, use o Console de gerenciamento da AWS, a AWS CLI ou a API do RDS.

### Console
<a name="Oracle.Concepts.single-tenant.creation.console"></a>

**Como criar uma instância de CDB**

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 do Amazon RDS, escolha a Região da AWS na qual você deseja criar a instância de CDB.

1. No painel de navegação, escolha **Databases** (Bancos de dados).

1. Escolha **Create database (Criar banco de dados)**.

1. Em **Choose a database creation method (Selecionar um método de criação de banco de dados)**, selecione **Standard Create (Criação padrão)**.

1. Em **Engine options (Opções de mecanismo)**, escolha **Oracle**. 

1. Em **Tipo de gerenciamento de banco de dados**, escolha **Amazon RDS**.

1. Em **Configurações de arquitetura**, escolha **Arquitetura multilocatário**. 

1. Para a **configuração da arquitetura**, faça o seguinte:
   + Escolha a **configuração multilocatário** e avance para a próxima etapa.
   + Escolha a **configuração de inquilino único** e vá para a Etapa 11.

1. (Configuração multilocatária) Para as configurações do **banco de dados do locatário**, faça as seguintes alterações:
   + Em **Nome do banco de dados inicial**, insira o nome do PDB. O nome do PDB deve ser diferente do nome do CDB, cujo padrão é. `RDSCDB`
   + Em Nome de **usuário principal do banco de dados do locatário**, insira o nome de usuário principal do seu PDB. Você não pode usar o nome de usuário principal para fazer login na raiz do CDB.
   + Em **Gerenciamento de credenciais**, escolha uma das seguintes opções de gerenciamento de credenciais:
     + **Gerenciado no AWS Secrets Manager**

       A senha gerenciada é para o banco de dados de locatário inicial e não para a instância. Em **Selecionar a chave de criptografia**, escolha uma chave do KMS que o Secrets Manager cria ou uma chave que você criou. 
**nota**  
Recomendamos o AWS Secrets Manager como a técnica mais segura para gerenciar credenciais. Aplicam-se cobranças adicionais. Para obter mais informações, consulte [Gerenciamento de senhas com Amazon RDS e AWS Secrets Manager](rds-secrets-manager.md).
     + **Autogerenciado**

       Para especificar uma senha, desmarque a caixa de seleção **Gerar uma senha automaticamente** se ela estiver marcada. Insira a mesma senha em **Senha primária** e **Confirmar senha**.
   + Para o **conjunto de caracteres do banco de dados do locatário**, escolha um conjunto de caracteres para o PDB. Você pode escolher um conjunto de caracteres do banco de dados do inquilino que seja diferente do conjunto de caracteres do CDB.

     O conjunto de caracteres PDB padrão é **AL32UTF8**. Se você escolher um conjunto de caracteres PDB não padrão, a criação do CDB poderá ser mais lenta. 
**nota**  
Não é possível especificar vários bancos de dados de locatário na operação de criação. O CDB tem um PDB quando é criado. Você pode adicionar PDBs a um CDB existente em uma operação separada.

1. (Configuração de locatário único) Escolha as configurações desejadas com base nas opções listadas em [Configurações para instâncias de banco de dados](USER_CreateDBInstance.Settings.md):

   1. Na seção **Settings** (Configurações), abra **Credential Settings** (Configurações de credencial). Faça o seguinte:

     1. Em **Nome do usuário principal**, insira o nome de um usuário local em seu PDB. Você não pode usar o nome de usuário principal para fazer login na raiz do CDB.

     1. Em **Gerenciamento de credenciais**, escolha uma das seguintes opções de gerenciamento de credenciais:
        + **Gerenciado no AWS Secrets Manager**

          Em **Selecionar a chave de criptografia**, escolha uma chave do KMS que o Secrets Manager cria ou uma chave que você criou. 
**nota**  
Recomendamos o AWS Secrets Manager como a técnica mais segura para gerenciar credenciais. Aplicam-se cobranças adicionais. Para obter mais informações, consulte [Gerenciamento de senhas com Amazon RDS e AWS Secrets Manager](rds-secrets-manager.md).
        + **Autogerenciado**

          Para especificar uma senha, desmarque a caixa de seleção **Gerar uma senha automaticamente** se ela estiver marcada. Insira a mesma senha em **Senha primária** e **Confirmar senha**.

1. Nas seções restantes, especifique suas configurações de instância de banco de dados. Para ter informações sobre cada configuração, consulte [Configurações para instâncias de banco de dados](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html).

1. Selecione **Criar banco de dados**.

### AWS CLI
<a name="Oracle.Concepts.single-tenant.creation.cli"></a>

Para criar um CDB na configuração multilocatário, use o comando [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) com os seguintes parâmetros:
+ `--db-instance-identifier`
+ `--db-instance-class`
+ `--engine { oracle-ee-cdb | oracle-se2-cdb }`
+ `--master-username`
+ `--master-user-password` ou `--manage-master-user-password`
+ `--multi-tenant`(para a configuração de inquilino único, não especifique `multi-tenant` ou especifique) `--no-multi-tenant`
+ `--allocated-storage`
+ `--backup-retention-period`

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

O exemplo a seguir cria uma instância de banco de dados do RDS para Oracle chamada *my-cdb-inst*. Se você especificar `--no-multi-tenant` ou não especificar`--multi-tenant`, a configuração padrão do CDB será de inquilino único. O mecanismo é`oracle-ee-cdb`: um comando que especifica `oracle-ee` e `--multi-tenant` falha com um erro. O banco de dados inicial do inquilino é denominado *mypdb*.

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

```
 1. aws rds create-db-instance \
 2.     --engine oracle-ee-cdb \
 3.     --db-instance-identifier my-cdb-inst \
 4.     --multi-tenant \
 5.     --db-name mypdb \
 6.     --allocated-storage 250 \
 7.     --db-instance-class db.t3.large \
 8.     --master-username pdb_admin \
 9.     --manage-master-user-password \
10.     --backup-retention-period 3
```
Para Windows:  

```
 1. aws rds create-db-instance ^
 2.     --engine oracle-ee-cdb ^
 3.     --db-instance-identifier my-cdb-inst ^
 4.     --multi-tenant ^
 5.     --db-name mypdb ^
 6.     --allocated-storage 250 ^
 7.     --db-instance-class db.t3.large ^
 8.     --master-username pdb_admin ^
 9.     --manage-master-user-password \ ^
10.     --backup-retention-period 3
```
Especifique uma senha diferente do prompt mostrado aqui como prática recomendada de segurança.
O comando gerará uma saída semelhante à seguinte: O nome do banco de dados, o conjunto de caracteres, o conjunto de caracteres nacionais, o usuário principal e o segredo do usuário principal não estão incluídos na saída. Você pode visualizar essas informações usando o comando CLI. `describe-tenant-databases`  

```
 1. {
 2.     "DBInstance": {
 3.         "DBInstanceIdentifier": "my-cdb-inst",
 4.         "DBInstanceClass": "db.t3.large",
 5.         "MultiTenant": true,
 6.         "Engine": "oracle-ee-cdb",
 7.         "DBResourceId": "db-ABCDEFGJIJKLMNOPQRSTUVWXYZ",
 8.         "DBInstanceStatus": "creating",
 9.         "AllocatedStorage": 250,
10.         "PreferredBackupWindow": "04:59-05:29",
11.         "BackupRetentionPeriod": 3,
12.         "DBSecurityGroups": [],
13.         "VpcSecurityGroups": [
14.             {
15.                 "VpcSecurityGroupId": "sg-0a1bcd2e",
16.                 "Status": "active"
17.             }
18.         ],
19.         "DBParameterGroups": [
20.             {
21.                 "DBParameterGroupName": "default.oracle-ee-cdb-19",
22.                 "ParameterApplyStatus": "in-sync"
23.             }
24.         ],
25.         "DBSubnetGroup": {
26.             "DBSubnetGroupName": "default",
27.             "DBSubnetGroupDescription": "default",
28.             "VpcId": "vpc-1234567a",
29.             "SubnetGroupStatus": "Complete",
30.             ...
```

### API do RDS
<a name="Oracle.Concepts.single-tenant.creation.api"></a>

Para criar uma instância de banco de dados utilizando a API do Amazon RDS, chame a operação [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) com os seguintes parâmetros.

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

## Conectar-se a um PDB em seu CDB RDS para Oracle
<a name="Oracle.Concepts.connecting.pdb"></a>

Você pode usar um utilitário como o SQL\$1Plus para se conectar a um PDB. Para fazer o download do Oracle Instant Client, que inclui uma versão independente do SQL\$1Plus, consulte [ Downloads do Oracle Instant Client](https://www.oracle.com/database/technologies/instant-client/downloads.html).

Para conectar o SQL\$1Plus ao PDB, são necessárias as seguintes informações:
+ Nome do PDB
+ Nome de usuário e senha do banco de dados
+ Endpoint da sua instância de banco de dados
+ Número da porta

Para obter informações sobre como encontrar as informações anteriores, consulte [Encontrar o endpoint da instância de banco de dados do RDS para Oracle](USER_Endpoint.md).

**Example Como se conectar ao seu PDB usando o SQL\$1Plus**  
Nos exemplos a seguir, substitua o usuário principal por *master\$1user\$1name*. Além disso, substitua o endpoint da instância de banco de dados e inclua o número da porta e o Oracle SID. O valor do SID é o nome do PDB que você especificou ao criar a instância de banco de dados, não o identificador da instância de banco de dados.  
Para Linux, macOS ou Unix:  

```
1. sqlplus 'master_user_name@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=endpoint)(PORT=port))(CONNECT_DATA=(SID=pdb_name)))'
```
Para Windows:  

```
1. sqlplus master_user_name@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=endpoint)(PORT=port))(CONNECT_DATA=(SID=pdb_name)))
```
Você deve ver saída semelhante ao seguinte:  

```
SQL*Plus: Release 19.0.0.0.0 Production on Mon Aug 21 09:42:20 2021
```
Depois que você inserir a senha de usuário, o prompt do SQL será exibido.  

```
SQL>
```

**nota**  
A string de conexão de formato mais curto (Easy connect ou EZCONNECT), como `sqlplus username/password@LONGER-THAN-63-CHARS-RDS-ENDPOINT-HERE:1521/database-identifier`, pode encontrar um limite máximo de caracteres e não deve ser usada para conexão. 

# Fazer backup e restaurar um CDB
<a name="Oracle.Concepts.single-tenant.snapshots"></a>

Você pode fazer backup e restaurar seu CDB usando os snapshots de banco de dados do RDS ou o Recovery Manager (RMAN).

## Fazer backup e restaurar um CDB usando snapshots de bancos de dados
<a name="br-cdb.db-snapshots"></a>

Os snapshots de banco de dados funcionam de forma semelhante nas arquiteturas CDB e não CDB. As principais diferenças são as seguintes.
+ Ao restaurar um snapshot de banco de dados de um CDB, você não pode renomear o CDB. O nome do CDB é `RDSCDB` e não pode ser alterado.
+ Ao restaurar um snapshot de banco de dados de um CDB, você não pode renomear o PDB. Você pode alterar o nome do PDB usando o comando [modify-tenant-database](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyTenantDatabase.html).
+ Para encontrar bancos de dados locatários em um snapshot, utilize o comando da CLI [describe-db-snapshot-tenant-databases.](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBSnapshotTenantDatabases.html)
+ Você não pode interagir diretamente com os bancos de dados locatários em um snapshot de CDB que usa a configuração da arquitetura de multilocatário. Se você restaurar o snapshot do banco de dados, restaurará todos os bancos de dados locatários. 
+ O RDS para Oracle copia implicitamente as tags de um banco de dados locatário no banco de dados locatário de um snapshot de banco de dados. Quando você restaura um banco de dados locatário, as tags aparecem no banco de dados restaurado.
+ Se você restaurar um snapshot de banco de dados e especificar novas tags usando o parâmetro `--tags`, as novas tags substituirão todas as tags existentes.
+ Se você tirar um DB snapshot de uma instância de CDB que tem tags e especificar`--copy-tags-to-snapshot`, o RDS para Oracle copia as tags dos bancos de dados locatário nos bancos de dados locatário no snapshot.

Para obter mais informações, consulte [Considerações sobre o Oracle Database](USER_RestoreFromSnapshot.md#USER_RestoreFromSnapshot.Oracle).

## Fazer backup e restaurar um CDB usando o RMAN
<a name="br-cdb.rman"></a>

Para saber como fazer backup e restaurar um CDB ou banco de dados locatário individual usando o RMAN, consulte. [Realização de tarefas comuns do RMAN para instâncias de banco de dados Oracle](Appendix.Oracle.CommonDBATasks.RMAN.md)

# Converter um não CDB RDS para Oracle em um CDB
<a name="oracle-cdb-converting"></a>

É possível alterar a arquitetura de um banco de dados Oracle da arquitetura tradicional não CDB para a arquitetura multilocatária, também chamada de *arquitetura CDB*, com o comando `modify-db-instance`. Na maioria dos casos, essa técnica é preferível à criação de um CDB e à importação de dados. A operação de conversão gera tempo de inatividade.

Ao fazer upgrade da versão do mecanismo de banco de dados, você não pode alterar a arquitetura do banco de dados na mesma operação. Portanto, para fazer upgrade de um não CDB Oracle Database 19c para um CDB Oracle Database 21c, primeiro é necessário converter o não CDB em CDB, depois fazer upgrade do CDB 19c para CDB 21c.

A operação de conversão de não CDB apresenta os seguintes requisitos:
+ Você deve especificar `oracle-ee-cdb` ou `oracle-se2-cdb` para o tipo de mecanismo de banco de dados. Esses são os únicos valores compatíveis.
+ Seu mecanismo de banco de dados deve usar o Oracle Database 19c com uma atualização de versão (RU) de abril de 2021 ou posterior.

A operação tem as seguintes limitações:
+ Não é possível converter um CDB em um não CDB. Só é possível converter um não CDB em CDB.
+ Não é possível converter um não CDB na configuração de locatário em uma única chamada. `modify-db-instance` Depois de converter um não CDB em CDB, seu CDB estará na configuração de locatário único. Para converter a configuração de inquilino único em configuração de vários locatários, execute novamente. `modify-db-instance` Para ter mais informações, consulte [Converter a configuração de locatário único em multilocatário](oracle-single-tenant-converting.md).
+ Não é possível converter um banco de dados primário ou de réplica que tenha o Oracle Data Guard habilitado. Para converter um não-CDB que tenha réplicas de leitura, primeiro exclua todas as réplicas de leitura.
+ Não é possível fazer upgrade da versão do mecanismo de banco de dados e converter um não CDB em CDB na mesma operação.

Antes de converter a não CDB, pense no seguinte:
+ As considerações para grupos de opções e parâmetros são iguais àquelas do upgrade do mecanismo de banco de dados. Para ter mais informações, consulte [Considerações sobre atualizações de bancos de dados Oracle](USER_UpgradeDBInstance.Oracle.OGPG.md).
+ Você pode converter instâncias não CDB existentes que usam senhas principais gerenciadas em instâncias de locatário único em uma única operação. As instâncias de locatário único herdam as senhas gerenciadas.
+ Se sua instância de banco de dados tiver a opção `OEMAGENT` instalada, uma prática recomendada é remover essa opção antes de converter a não CDB. Depois que a não CDB for convertida em CDB, reinstale a opção. Para ter mais informações, consulte [Oracle Management Agent para Enterprise Manager Cloud Control](Oracle.Options.OEMAgent.md).
+ Durante o processo de conversão, o RDS redefine o tamanho do log redo online para o padrão de 128 M.

## Console
<a name="oracle-cdb-converting.console"></a>

**Como converter um não CDB em CDB**

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 do Amazon RDS, escolha a Região da AWS em que sua instância de banco de dados se encontra.

1. No painel de navegação, escolha **Bancos de dados** e selecione a instância de não CDB que deseja converter em instância de CDB. 

1. Escolha **Modificar**.

1. Em **Configurações de arquitetura**, selecione **Arquitetura multilocatário da Oracle**. Após a conversão, seu CDB estará na configuração de locatário único.

1. (Opcional) Em **Grupo de parâmetros de banco de dados**, escolha um novo grupo de parâmetros para a instância de CDB. As mesmas considerações de grupos de parâmetros se aplicam tanto ao converter uma instância de banco de dados como ao fazer upgrade de uma instância de banco de dados. Para ter mais informações, consulte [Considerações de grupos de parâmetros](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.PG).

1. (Opcional) Em **Grupo de opções**, escolha um novo grupo de opções para sua instância de CDB. As mesmas considerações de grupos de opções se aplicam tanto ao converter uma instância de banco de dados como ao fazer upgrade de uma instância de banco de dados. Para ter mais informações, consulte [Considerações de grupos de opções](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.OG).

1. (Opcional) Em **Gerenciamento de credenciais**, escolha **Gerenciado no AWS Secrets Manager** ou **Autogerenciado** Para ter mais informações, consulte [Gerenciar a senha do usuário principal para uma instância de banco de dados com o Secrets Manager](rds-secrets-manager.md#rds-secrets-manager-db-instance).

1. Quando todas as alterações estiverem conforme o desejado, escolha **Continue (Continuar)** e verifique o resumo das modificações. 

1. (Opcional) Escolha **Apply immediately (Aplicar imediatamente)** para aplicar as alterações imediatamente. Escolher essa opção pode causar uma inatividade em alguns casos. Para obter mais informações, consulte [Usar a configuração de programação de modificações](USER_ModifyInstance.ApplyImmediately.md).

1. Na página de confirmação, revise suas alterações. Se estiverem corretas, escolha **Modificar instância de banco de dados**.

   Ou escolha **Back (Voltar)** para editar as alterações ou **Cancel (Cancelar)** para cancelar as alterações.

## AWS CLI
<a name="oracle-cdb-converting.cli"></a>

Para converter o não CDB de sua instância de banco de dados em CDB, defina `--engine` como `oracle-ee-cdb` ou `oracle-se2-cdb` no comando [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) da AWS CLI. Para ter mais informações, consulte [Configurações para instâncias de banco de dados](USER_ModifyInstance.Settings.md).

O exemplo a seguir converte a instância de banco de dados chamada *my-non-cdb* e especifica um grupo de opções e um grupo de parâmetros personalizados. O comando também habilita o gerenciamento de senhas com o Secrets Manager.

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

```
aws rds modify-db-instance \
    --db-instance-identifier my-non-cdb \
    --engine oracle-ee-cdb \
    --option-group-name custom-option-group \
    --db-parameter-group-name custom-parameter-group \
    --manage-master-user-password
```
Para Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier my-non-cdb ^
    --engine oracle-ee-cdb ^
    --option-group-name custom-option-group ^
    --db-parameter-group-name custom-parameter-group ^
    --manage-master-user-password
```

## API do RDS
<a name="oracle-cdb-converting.api"></a>

Para converter um não CDB em CDB, especifique `Engine` na operação de API [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) do RDS.

# Converter a configuração de locatário único em multilocatário
<a name="oracle-single-tenant-converting"></a>

Você pode modificar a arquitetura de um CDB RDS para Oracle da configuração de locatário único para a configuração de multilocatário. Antes e depois da conversão, o CDB conterá um banco de dados de locatário único (PDB). As tags da instância de banco de dados se propagam para o banco de dados de locatário inicial criado durante a conversão.

Antes de começar, verifique se sua política do IAM tem permissão para criar um banco de dados de locatário. Durante a conversão, o RDS para Oracle migra os seguintes metadados para o novo banco de dados de locatários:
+ Nome do usuário principal
+ A senha principal gerenciada (se o CDB de origem se integrar ao Secrets Manager)
+ Nome do banco de dados
+ Conjunto de caracteres
+ Conjunto de caracteres nacionais

Antes da conversão, você visualiza as informações anteriores usando o comando `describe-db-instances`. Após da conversão, você pode visualizar as informações usando o comando `describe-tenant-database`.

A conversão de locatário único em multilocatário tem as seguintes limitações:
+ Portanto, não é possível voltar para a configuração de locatário único depois que você muda para a configuração multilocatário. A conversão é irreversível.
+ Não é possível converter um banco de dados primário ou de réplica que tenha o Oracle Data Guard habilitado.
+ Não é possível atualizar a versão do mecanismo de banco de dados e converter em uma configuração de multilocatário na mesma operação.
+ Durante a conversão, não é possível habilitar ou desabilitar senhas de usuário principal gerenciadas.

## Console
<a name="oracle-cdb.configuring.converting.console"></a>

**Para converter um CDB usando a configuração de locatário único na configuração de vários locatários**

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 do Amazon RDS, escolha a Região da AWS em que sua instância de banco de dados se encontra.

1. No painel de navegação, escolha **Bancos de dados** e selecione a instância de não CDB que deseja converter em instância de CDB. 

1. Escolha **Modificar**.

1. Em **Configurações de arquitetura**, selecione **Arquitetura multilocatário da Oracle**.

1. Em **Configuração de arquitetura**, selecione **Configuração multilocatária.**

1. (Opcional) Em **Grupo de parâmetros de banco de dados**, escolha um novo grupo de parâmetros para a instância de CDB. As mesmas considerações de grupos de parâmetros se aplicam tanto ao converter uma instância de banco de dados como ao fazer upgrade de uma instância de banco de dados.

1. (Opcional) Em **Grupo de opções**, escolha um novo grupo de opções para sua instância de CDB. As mesmas considerações de grupos de opções se aplicam tanto ao converter uma instância de banco de dados como ao fazer upgrade de uma instância de banco de dados.

1. Quando todas as alterações estiverem conforme o desejado, escolha **Continue (Continuar)** e verifique o resumo das modificações. 

1. Escolha **Apply immediately (Aplicar imediatamente)**. Essa opção é necessária quando você alterna para uma configuração de multilocatário. Essa opção pode causar inatividade em alguns casos.

1. Na página de confirmação, revise suas alterações. Se estiverem corretas, escolha **Modificar instância de banco de dados**.

   Ou escolha **Back (Voltar)** para editar as alterações ou **Cancel (Cancelar)** para cancelar as alterações.

## AWS CLI
<a name="oracle-cdb.configuring.converting.cli"></a>

Para converter um CDB usando a configuração de locatário único na configuração de multilocatário, especifique `--multi-tenant` no comando AWS CLI [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html).

O exemplo a seguir converte a instância de banco de dados chamada `my-st-cdb` da configuração de inquilino único para a configuração de multilocatário. A opção `--apply-immediately` é obrigatória.

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

```
aws rds modify-db-instance --region us-east-1\
    --db-instance-identifier my-st-cdb \
    --multi-tenant \
    --apply-immediately
```
Para Windows:  

```
aws rds modify-db-instance --region us-east-1 ^
    --db-instance-identifier my-st-cdb ^
    --multi-tenant ^
    --apply-immediately
```
A saída é semelhante ao apontado abaixo.  

```
{
    "DBInstance": {
        "DBInstanceIdentifier": "my-st-cdb",
        "DBInstanceClass": "db.r5.large",
        "MultiTenant": false,
        "Engine": "oracle-ee-cdb",
        "DBResourceId": "db-AB1CDE2FGHIJK34LMNOPRLXTXU",
        "DBInstanceStatus": "modifying",
        "MasterUsername": "admin",
        "DBName": "ORCL",
        ...
        "EngineVersion": "19.0.0.0.ru-2022-01.rur-2022-01.r1",
        "AutoMinorVersionUpgrade": true,
        "ReadReplicaDBInstanceIdentifiers": [],
        "LicenseModel": "bring-your-own-license",
        "OptionGroupMemberships": [
            {
                "OptionGroupName": "default:oracle-ee-cdb-19",
                "Status": "in-sync"
            }
        ],
        ...
        "PendingModifiedValues": {
            "MultiTenant": "true"
        }
    }
}
```

# Adicionar um banco de dados de locatários do RDS for Oracle à sua instância de CDB
<a name="oracle-cdb-configuring.adding.pdb"></a>

Na configuração multilocatária do RDS for Oracle, um banco de dados de inquilinos é um PDB. Para adicionar um banco de dados de inquilinos, certifique-se de que os seguintes pré-requisitos sejam atendidos:
+ Seu CDB tem a configuração multilocatária ativada. Para obter mais informações, consulte [Configuração de multilocatário da arquitetura CDB](Oracle.Concepts.CDBs.md#multi-tenant-configuration).
+ Você tem as permissões necessárias do IAM para criar o banco de dados do inquilino.

Você pode adicionar um banco de dados de inquilinos usando a Console de gerenciamento da AWSAWS CLI, a ou a API do RDS. Você não pode adicionar vários bancos de dados de inquilinos em uma única operação: você deve adicioná-los um por vez. Se o CDB tiver a retenção de backup ativada, o Amazon RDS fará backup da instância de banco de dados antes e depois de adicionar um novo banco de dados de inquilinos. Se o CDB tiver réplicas de leitura, só será possível adicionar um banco de dados de locatários à instância de banco de dados primário. O Amazon RDS cria automaticamente o banco de dados de locatários nas réplicas. A integridade da replicação também é validada, garantindo que todas as réplicas estejam disponíveis e que o atraso na replicação seja inferior a 5 minutos antes da criação do locatário.

## Console
<a name="oracle-cdb-configuring.adding.pdb.console"></a>

**Para adicionar um banco de dados de inquilinos à sua instância 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 canto superior direito do console do Amazon RDS, selecione a Região da AWS na qual você deseja criar o cluster de banco de dados.

1. No painel de navegação, escolha **Bancos de dados**.

1. Escolha a instância do CDB à qual você deseja adicionar um banco de dados de locatários. Sua instância de banco de dados deve usar a configuração multilocatária da arquitetura CDB. 

1. Escolha **Ações** e, em seguida, **Adicionar banco de dados de inquilinos**.

1. Para **Global database settings (Configurações de banco de dados globais)**, faça o seguinte:
   + Em **Nome do banco de dados inicial**, insira o nome do PDB.
   + Para o nome de **usuário mestre do banco** de dados do locatário, insira o nome do usuário mestre do seu PDB.
   + Escolha uma das seguintes opções de gerenciamento de credenciais:
     + **Gerenciado no AWS Secrets Manager**

       Em **Selecionar a chave de criptografia**, escolha uma chave do KMS que o Secrets Manager cria ou uma chave que você criou. 
**nota**  
Recomendamos o AWS Secrets Manager como a técnica mais segura para gerenciar credenciais. Cobranças adicionais se aplicam. O AWS Secrets Manager não é compatível com instâncias que usam réplicas de leitura. Para obter mais informações, consulte [Gerenciamento de senhas com Amazon RDS e AWS Secrets Manager](rds-secrets-manager.md).
     + **Autogerenciado**

       Para especificar uma senha, desmarque a caixa de seleção **Gerar uma senha automaticamente** se ela estiver marcada. Insira a mesma senha em **Senha primária** e **Confirmar senha**.
     + Em **Configuração adicional**, insira o nome do seu PDB em **Nome do banco de dados inicial**. Você não pode nomear o CDB, que tem o nome padrão  `RDSCDB`.
   + Para o **conjunto de caracteres do banco de dados do locatário**, escolha um conjunto de caracteres para o PDB. O padrão é **AL32UTF8**. Você pode escolher um conjunto de caracteres PDB diferente do conjunto de caracteres CDB. Se a instância tiver réplicas de leitura, não será possível criar locatários com um conjunto de caracteres personalizado. É possível criar locatários com um conjunto de caracteres personalizado antes de criar uma réplica de leitura, se necessário.
   + Para o **conjunto de caracteres nacionais do banco de dados do inquilino**, escolha um conjunto de caracteres nacional para o PDB. O padrão é **AL32UTF8**. O conjunto de caracteres nacionais especifica a codificação somente para colunas que usam o tipo de `NCHAR` dados (`NCHAR`,`NVARCHAR2`, e`NCLOB`) e não afeta os metadados do banco de dados.

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

1. Escolha **Adicionar inquilino.**

## AWS CLI
<a name="oracle-cdb-configuring.adding.pdb.cli"></a>

Para adicionar um banco de dados de inquilinos ao seu CDB com oAWS CLI, use o comando [create-tenant-database](https://docs.aws.amazon.com/cli/latest/reference/rds/create-tenant-database.html) com os seguintes parâmetros necessários:
+ `--db-instance-identifier`
+ `--tenant-db-name`
+ `--master-username`
+ `--master-user-password`

*O exemplo a seguir cria um banco de dados de inquilinos chamado *mypdb2* na instância RDS para Oracle CDB chamada my-cdb-inst.* O conjunto de caracteres do PDB é`UTF-16`.

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

```
1. aws rds create-tenant-database --region us-east-1 \
2.     --db-instance-identifier my-cdb-inst \
3.     --tenant-db-name mypdb2 \
4.     --master-username mypdb2-admin \
5.     --master-user-password mypdb2-pwd \
6.     --character-set-name UTF-16
```
Para Windows:  

```
1. aws rds create-tenant-database --region us-east-1 \
2.     --db-instance-identifier my-cdb-inst ^
3.     --tenant-db-name mypdb2 ^
4.     --master-username mypdb2-admin ^
5.     --master-user-password mypdb2-pwd ^
6.     --character-set-name UTF-16
```
A saída será semelhante à seguinte.  

```
...}
    "TenantDatabase" :
         {
            "DbiResourceId" : "db-abc123",
            "TenantDatabaseResourceId" : "tdb-bac567",
            "TenantDatabaseArn" : "arn:aws:rds:us-east-1:123456789012:db:my-cdb-inst:mypdb2",
            "DBInstanceIdentifier" : "my-cdb-inst",
            "TenantDBName" : "mypdb2",
            "Status" : "creating",
            "MasterUsername" : "mypdb2",
            "CharacterSetName" : "UTF-16",
            ...
        }
}...
```

# Modificando um banco de dados de locatários do RDS para Oracle
<a name="oracle-cdb-configuring.modifying.pdb"></a>

Você pode modificar somente o nome do PDB e a senha do usuário mestre de um banco de dados de inquilinos no seu CDB. Anote os seguintes requisitos e limitações para o :
+ Para modificar as configurações de um banco de dados de inquilinos em sua instância de banco de dados, o banco de dados de inquilinos deve existir. 
+ Você não pode modificar vários bancos de dados de inquilinos em uma única operação. É possível modificar apenas um banco de dados de inquilinos de cada vez.
+ Você não pode alterar o nome de um banco de dados de inquilinos para `CDB$ROOT` ou`PDB$SEED`.
+ Se a instância de banco de dados tiver réplicas de leitura, só será possível modificar os locatários na instância de banco de dados primário. A integridade da replicação também é validada, garantindo que as réplicas estejam disponíveis e que o atraso na replicação seja inferior a 5 minutos antes da modificação do locatário.

Você pode modificar um cluster de banco de dados usando o Console de gerenciamento da AWS, a AWS CLI ou a API do RDS.

## Console
<a name="oracle-cdb-configuring.modifying.pdb.console"></a>

**Para modificar o nome do PDB ou a senha mestra de um banco de dados de inquilinos**

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 do Amazon RDS, selecione a Região da AWS na qual você deseja criar o cluster de banco de dados.

1. No painel de navegação, escolha **Bancos de dados**.

1. Escolha o banco de dados do inquilino cujo nome do banco de dados ou senha do usuário mestre você deseja modificar.

1. Escolha **Modificar**.

1. Para **Global database settings (Configurações de banco de dados globais)**, faça o seguinte:
   + Em **Nome do banco de dados inicial**, insira o nome do PDB.
   + Para **Senha mestra do banco de dados do locatário**, insira uma nova senha.

1. Escolha **Modificar inquilino.**

## AWS CLI
<a name="oracle-cdb-configuring.modifying.pdb.cli"></a>

Para modificar um banco de dados de inquilinos usando oAWS CLI, chame o comando [modify-tenant-database](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-tenant-database.html) com os seguintes parâmetros:
+ `--db-instance-identifier` *Valor do*
+ `--tenant-db-name value`
+ `[--new-tenant-db-name value]`
+ `[--master-user-password value]`

O exemplo a seguir renomeia o banco de dados do inquilino `pdb1` para uma instância de banco `pdb-hr` de dados. `my-cdb-inst`

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

```
1. aws rds modify-tenant-database --region us-east-1 \
2.     --db-instance-identifier my-cdb-inst \
3.     --tenant-db-name pdb1 \
4.     --new-tenant-db-name pdb-hr
```
Para Windows:  

```
1. aws rds modify-tenant-database --region us-east-1 ^
2.     --db-instance-identifier my-cdb-inst ^
3.     --tenant-db-name pdb1 ^
4.     --new-tenant-db-name pdb-hr
```
O comando gerará uma saída semelhante à seguinte:   

```
{
    "TenantDatabase" : {
        "DbiResourceId" : "db-abc123",
        "TenantDatabaseResourceId" : "tdb-bac567",
        "TenantDatabaseArn" : "arn:aws:rds:us-east-1:123456789012:db:my-cdb-inst:pdb1",
        "DBInstanceIdentifier" : "my-cdb-inst",
        "TenantDBName" : "pdb1",
        "Status" : "modifying",
        "MasterUsername" : "tenant-admin-user"
        "Port" : "6555",
        "CharacterSetName" : "UTF-16",
        "MaxAllocatedStorage" : "1000",
        "ParameterGroups": [
            {
                "ParameterGroupName": "pdb1-params",
                "ParameterApplyStatus": "in-sync"
            }
        ],
        "OptionGroupMemberships": [
            {
                "OptionGroupName": "pdb1-options",
                "Status": "in-sync"
            }
        ],
        "PendingModifiedValues": {
            "TenantDBName": "pdb-hr"
        }
    }
}
```

# Excluindo um banco de dados de locatários do RDS for Oracle do seu CDB
<a name="oracle-cdb-configuring.deleting.pdb"></a>

Você pode excluir um banco de dados de inquilinos (PDB) usando oConsole de gerenciamento da AWS, o ou a AWS CLI API do RDS. Considere os seguintes requisitos e limitações:
+ O banco de dados do locatário e a instância de banco de dados devem existir.
+ Para que a exclusão seja bem-sucedida, uma das seguintes situações deve existir:
  + O banco de dados do inquilino e a instância de banco de dados estão disponíveis.
**nota**  
Você pode tirar um instantâneo final, mas somente se o banco de dados do locatário e a instância de banco de dados estiverem em um estado disponível antes de você emitir o `delete-tenant-database` comando. Esse snapshot só será obtido na instância primária se a instância de banco de dados tiver réplicas de leitura.
  + O banco de dados de inquilinos está sendo criado.
  + A instância de banco de dados está modificando o banco de dados do inquilino.
  + Se a instância de banco de dados tiver réplicas de leitura, essas restrições se aplicarão a todas as réplicas.
+ É possível excluir vários bancos de dados de locatários em uma única operação.
+ Não será possível excluir um banco de dados locatário se ele for o único locatário no CDB.
+ Não é possível excluir um banco de dados de locatários em uma réplica de leitura. Só é possível excluir um locatário na instância de banco de dados primário. A integridade da replicação também é validada, garantindo que o atraso na replicação seja inferior a 5 minutos antes da exclusão do locatário.

## Console
<a name="oracle-cdb-configuring.deleting.pdb.console"></a>

**Para excluir um banco de dados de inquilinos**

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** e o cluster de banco de dados que você deseja excluir.

1. Em **Actions**, escolha **Delete**.

1. Para criar um snapshot de banco de dados final para a instância de banco de dados, escolha **Create final snapshot? (Criar snapshot final?)**.

1. Se você optar por criar um snapshot final, insira o **Final snapshot name (Nome do snapshot final)**.

1. Digite **delete me** na caixa.

1. Escolha **Delete (Excluir)**.

## AWS CLI
<a name="oracle-cdb-configuring.deleting.pdb.cli"></a>

Para excluir um banco de dados de inquilinos usando oAWS CLI, chame o comando [delete-tenant-database](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-tenant-database.html) com os seguintes parâmetros:
+ `--db-instance-identifier value`
+ `--tenant-db-name value`
+ `[--skip-final-snapshot | --no-skip-final-snapshot]`
+ `[--final-snapshot-identifier value]`

*O exemplo a seguir exclui o banco de dados do inquilino chamado *pdb-test do CDB chamado my-cdb-inst*.* Por padrão, a operação cria um instantâneo final.

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

```
1. aws rds delete-tenant-database --region us-east-1 \
2.     --db-instance-identifier my-cdb-inst \
3.     --tenant-db-name pdb-test \
4.     --final-snapshot-identifier final-snap-pdb-test
```
Para Windows:  

```
1. aws rds delete-tenant-database --region us-east-1 ^
2.     --db-instance-identifier my-cdb-inst ^
3.     --tenant-db-name pdb-test ^
4.     --final-snapshot-identifier final-snap-pdb-test
```
O comando gerará uma saída semelhante à seguinte:   

```
{
    "TenantDatabase" : {
        "DbiResourceId" : "db-abc123",
        "TenantDatabaseResourceId" : "tdb-bac456",
        "TenantDatabaseArn" : "arn:aws:rds:us-east-1:123456789012:db:my-cdb-inst:pdb-test",
        "DBInstanceIdentifier" : "my-cdb-inst",
        "TenantDBName" : "pdb-test",
        "Status" : "deleting",
        "MasterUsername" : "pdb-test-admin"
        "Port" : "6555",
        "CharacterSetName" : "UTF-16",
        "MaxAllocatedStorage" : "1000",
        "ParameterGroups": [
            {
                "ParameterGroupName": "tenant-1-params",
                "ParameterApplyStatus": "in-sync"
            }
        ],
        "OptionGroupMemberships": [
            {
                "OptionGroupName": "tenant-1-options",
                "Status": "in-sync"
            }
        ]
    }
}
```

# Visualizando detalhes do banco de dados do inquilino
<a name="oracle-cdb-configuring.describing.pdb"></a>

Você pode visualizar detalhes sobre um banco de dados de inquilinos da mesma forma que você pode ver em um banco de dados que não seja CDB ou CDB.

## Console
<a name="oracle-cdb-configuring.describing.pdb.console"></a>

**Para visualizar detalhes sobre um banco de dados de inquilinos**

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 do Amazon RDS, escolha a Região da AWS em que sua instância de banco de dados se encontra.

1. No painel de navegação, escolha **Bancos de dados**.  
![\[Exibir detalhes sobre um CDB\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/cdb-list.png)

   Na imagem anterior, o banco de dados do único locatário (PDB) aparece como filho da instância de banco de dados.

1. O nome de um banco de dados hospedado em uma .  
![\[Exibir detalhes sobre um PDB\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/pdb-details.png)

## AWS CLI
<a name="oracle-cdb-configuring.describing.pdb.cli"></a>

Para ver detalhes sobre seus PDBs, use o AWS CLI comando [describe-tenant-databases](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-tenant-databases.html).

O exemplo a seguir descreve todos os bancos de dados de locatários na região especificada.

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

```
1. aws rds describe-tenant-databases --region us-east-1
```
Para Windows:  

```
1. aws rds describe-tenant-databases --region us-east-1
```
O comando gerará uma saída semelhante à seguinte:   

```
    "TenantDatabases" : [
         {
            "DBInstanceIdentifier" : "my-cdb-inst",
            "TenantDBName" : "pdb-test",
            "Status" : "available",
            "MasterUsername" : "pdb-test-admin",
            "DbiResourceId" : "db-abc123",
            "TenantDatabaseResourceId" : "tdb-bac456",
            "TenantDatabaseArn" : "arn:aws:rds:us-east-1:123456789012:db:my-cdb-inst:pdb-test",
            "CharacterSetName": "AL32UTF8",
            "NcharCharacterSetName": "AL16UTF16",
            "DeletionProtection": false,
            "PendingModifiedValues": {
                 "MasterUserPassword": "****"
            },
            "TagList": []
         },
         {

            "DBInstanceIdentifier" : "my-cdb-inst2",
            "TenantDBName" : "pdb-dev",
            "Status" : "modifying",
            "MasterUsername" : "masterrdsuser"
            "DbiResourceId" : "db-xyz789",
            "TenantDatabaseResourceId" : "tdb-ghp890",
            "TenantDatabaseArn" : "arn:aws:rds:us-east-1:123456789012:db:my-cdb-inst2:pdb-dev",
            "CharacterSetName": "AL32UTF8",
            "NcharCharacterSetName": "AL16UTF16",
            "DeletionProtection": false,
            "PendingModifiedValues": {
                 "MasterUserPassword": "****"
            },
            "TagList": []
         },
         ... other truncated data
```

O exemplo a seguir descreve os bancos de dados de locatários na instância de banco de dados `my-cdb-inst` na região especificada.

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

```
1. aws rds describe-tenant-databases --region us-east-1 \
2.     --db-instance-identifier my-cdb-inst
```
Para Windows:  

```
1. aws rds describe-tenant-databases --region us-east-1 ^
2.     --db-instance-identifier my-cdb-inst
```
O comando gerará uma saída semelhante à seguinte:   

```
{
    "TenantDatabase": {
        "TenantDatabaseCreateTime": "2023-10-19T23:55:30.046Z",
        "DBInstanceIdentifier": "my-cdb-inst",
        "TenantDBName": "pdb-hr",
        "Status": "creating",
        "MasterUsername": "tenant-admin-user",
        "DbiResourceId": "db-abc123",
        "TenantDatabaseResourceId": "tdb-bac567",
        "TenantDatabaseARN": "arn:aws:rds:us-west-2:579508833180:pdb-hr:tdb-abcdefghi1jklmno2p3qrst4uvw5xy6zabc7defghi8jklmn90op",
        "CharacterSetName": "AL32UTF8",
        "NcharCharacterSetName": "AL16UTF16",
        "DeletionProtection": false,
        "PendingModifiedValues": {
            "MasterUserPassword": "****"
        },
        "TagList": [
            {
                "Key": "TEST",
                "Value": "testValue"
            }
        ]
    }
}
```

O exemplo a seguir descreve um banco de dados de `pdb1` locatários `my-cdb-inst` na região Leste dos EUA (Norte da Virgínia).

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

```
1. aws rds describe-tenant-databases --region us-east-1 \
2. --db-instance-identifier my-cdb-inst \
3. --tenant-db-name pdb1
```
Para Windows:  

```
1. aws rds describe-tenant-databases --region us-east-1 ^
2. --db-instance-identifier my-cdb-inst ^
3. --tenant-db-name pdb1
```
O comando gerará uma saída semelhante à seguinte:   

```
{
    "TenantDatabases" : [
        {
            "DbiResourceId" : "db-abc123",
            "TenantDatabaseResourceId" : "tdb-bac567",
            "TenantDatabaseArn" : "arn:aws:rds:us-east-1:123456789012:db:my-cdb-inst:pdb1"
            "DBInstanceIdentifier" : "my-cdb-inst",
            "TenantDBName" : "pdb1",
            "Status" : "ACTIVE",
            "MasterUsername" : "masterawsuser"
            "Port" : "1234",
            "CharacterSetName": "UTF-8",
            "ParameterGroups": [
                {
                    "ParameterGroupName": "tenant-custom-pg",
                    "ParameterApplyStatus": "in-sync"
                }
            ],
            {
            "OptionGroupMemberships": [
                {
                    "OptionGroupName": "tenant-custom-og",
                    "Status": "in-sync"
                }
            ]
         }
    ]
}
```

# Fazer upgrade de um CDB
<a name="Oracle.Concepts.single-tenant.upgrades"></a>

Você pode atualizar um CDB para uma versão diferente do Oracle Database. Por exemplo, você pode fazer upgrade de um CDB Oracle Database 19c para CDB Oracle Database 21c. Não é possível alterar a arquitetura do banco de dados durante um upgrade. Portanto, não é possível fazer upgrade de um não CDB para CDB ou fazer upgrade de um CDB para não CDB.

O procedimento para fazer upgrade de um CDB para CDB é igual àquele para fazer upgrade de um não CDB para não CDB. Para obter mais informações, consulte [Fazer upgrade do mecanismo de banco de dados RDS para Oracle](USER_UpgradeDBInstance.Oracle.md).