

# 将单租户配置转换为多租户配置
<a name="oracle-single-tenant-converting"></a>

您可以将 RDS for Oracle CDB 的架构从单租户配置修改为多租户配置。转换前后，您的 CDB 包含单租户数据库（PDB）。数据库实例的标签会传播到在转换期间创建的初始租户数据库。

在开始之前，请确保您的 IAM 策略有权创建租户数据库。在转换过程中，RDS for Oracle 会将以下元数据迁移到新的租户数据库：
+ 主用户名
+ 托管式主密码（如果源 CDB 与 Secrets Manager 集成）
+  数据库名称
+ 字符集
+ 国家字符集

在转换之前，可以使用 `describe-db-instances` 命令查看上述信息。转换完成后，您可以使用 `describe-tenant-database` 命令查看信息。

从单租户到多租户的转换具有以下限制：
+ 转换为多租户配置后，您以后无法转换回单租户配置。该转换是不可逆的。
+ 您无法转换启用了 Oracle Data Guard 的主数据库或副本数据库。
+ 您无法在同一操作中升级数据库引擎版本，并转换为多租户配置。
+ 在转换过程中，您无法启用或禁用托管式主用户密码。

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

**将使用单租户配置的 CDB 转换为多租户配置**

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

1. 在 Amazon RDS 控制台的右上角，选择数据库实例所在的 AWS 区域。

1. 在导航窗格中，选择**数据库**，然后选择要转换为 CDB 实例的非 CDB 实例。

1. 选择 **Modify**(修改)。

1. 对于**架构设置**，选择 **Oracle 多租户架构**。

1. 对于**架构配置**，请选择**多租户配置**。

1. （可选）对于**数据库参数组**，请为您的 CDB 实例选择一个新的参数组。转换数据库实例时和升级数据库实例时，适用的参数组注意事项相同。

1. (可选）对于**选项组**，为 CDB 实例选择一个新的选项组。转换数据库实例时和升级数据库实例时，适用的选项组注意事项相同。

1. 当所有更改都达到您的要求时，选择**继续**并查看修改摘要。

1. 选择**立即应用**。切换到多租户配置时需要此选项。注意，选择此选项在某些情况下可能导致停机。

1. 在确认页面上，检查您的更改。如果更改正确无误，请选择**修改数据库实例**。

   也可以选择 **Back (返回)** 编辑您的更改，或选择 **Cancel (取消)** 取消更改。

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

要将使用单租户配置的 CDB 转换为多租户配置，请在命令 [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) 中指定 AWS CLI。

以下示例将名为 `my-st-cdb` 的数据库实例从单租户配置转换为多租户配置。`--apply-immediately` 选项是必需的。

**Example**  
对于 Linux、macOS 或 Unix：  

```
aws rds modify-db-instance --region {{us-east-1}}\
    --db-instance-identifier {{my-st-cdb}} \
    --multi-tenant \
    --apply-immediately
```
对于：Windows  

```
aws rds modify-db-instance --region {{us-east-1}} ^
    --db-instance-identifier {{my-st-cdb}} ^
    --multi-tenant ^
    --apply-immediately
```
输出如下所示。  

```
{
    "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"
        }
    }
}
```