

# 将 RDS for Oracle 租户数据库添加到您的 CDB 实例
<a name="oracle-cdb-configuring.adding.pdb"></a>

在 RDS for Oracle 多租户配置中，租户数据库是 PDB。要添加租户数据库，请确保满足以下先决条件：
+ 您的 CDB 已启用多租户配置。有关更多信息，请参阅 [CDB 架构的多租户配置](Oracle.Concepts.CDBs.md#multi-tenant-configuration)。
+ 您具有创建租户数据库所需的 IAM 权限。

您可以使用 AWS 管理控制台、AWS CLI 或 RDS API 添加租户数据库。您不能通过单个操作添加多个租户数据库：必须一次添加一个。如果 CDB 启用了备份保留功能，则 Amazon RDS 会在数据库实例添加新的租户数据库之前和之后对其进行备份。如果 CDB 有只读副本，您只能向主数据库实例添加租户数据库；Amazon RDS 会自动在副本上创建租户数据库。还会验证复制运行状况，同时确保所有副本都可用，并且在创建租户之前，复制滞后少于 5 分钟。

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

**向数据库实例添加租户数据库**

1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1. 在 Amazon RDS 控制台的右上角，选择要在其中创建租户数据库的 AWS 区域。

1. 在导航窗格中，选择**数据库**。

1. 选择要向其中添加租户数据库的 CDB 实例。您的数据库实例必须使用 CDB 架构的多租户配置。

1. 选择**操作**，然后选择**添加租户数据库**。

1. 对于**租户数据库设置**，请执行以下操作：
   + 对于**租户数据库名称**，输入新 PDB 的名称。
   + 对于**租户数据库主用户名**，输入您 PDB 的主用户名。
   + 选择以下任一其它凭证管理选项：
     + **在 AWS Secrets Manager 管理**

       在**选择加密密钥**中，选择 Secrets Manager 创建的 KMS 密钥或您已创建的密钥。
**注意**  
我们建议将 AWS Secrets Manager 作为管理凭证的最安全的方法。将收取额外费用。使用只读副本的实例不支持 AWS Secrets Manager。有关更多信息，请参阅 [使用 Amazon RDS 和 AWS Secrets Manager 管理密码](rds-secrets-manager.md)。
     + **自行管理**

       要指定密码，请清除**自动生成密码**复选框（如果已选中）。在**主密码**和**确认主密码**中输入相同的密码。
     + 在**其他配置**下，在**初始数据库名称**中输入 PDB 的名称。您不能命名 CDB，它具有原定设置名称 `RDSCDB`。
   + 在**租户数据库字符集**中，为 PDB 选择一个字符集。默认值为 **AL32UTF8**。您可以选择不同于 CDB 字符集的 PDB 字符集。如果实例有只读副本，则无法使用自定义字符集创建租户。如果需要，您可以在创建只读副本之前使用自定义字符集创建租户。
   + 对于**租户数据库国家字符集**，请为 PDB 选择一个国家字符集。默认值为 **AL32UTF8**。国家字符集仅为使用 `NCHAR` 数据类型（`NCHAR`、`NVARCHAR2`、和 `NCLOB`）且不影响数据库元数据的列指定编码。

   有关上述设置的更多信息，请参阅[数据库实例的设置](USER_CreateDBInstance.Settings.md)。

1. 选择**添加租户**。

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

要使用 AWS CLI 将租户数据库添加到您的 CDB，请结合以下必需参数使用 [create-tenant-database](https://docs.aws.amazon.com/cli/latest/reference/rds/create-tenant-database.html) 命令：
+ `--db-instance-identifier`
+ `--tenant-db-name`
+ `--master-username`
+ `--master-user-password`

以下示例在名为 *my-cdb-inst* 的 RDS for Oracle CDB 实例中创建一个名为 *mypdb2* 的租户数据库。PDB 的字符集是 `UTF-16`。

**Example**  
对于 Linux、macOS 或 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
```
对于：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
```
该输出值看上去类似于以下内容。  

```
...}
    "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",
            ...
        }
}...
```