

# 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. 