

# 修改 RDS Custom for Oracle 数据库实例
<a name="custom-managing.modifying"></a>

修改 RDS Custom for Oracle 数据库实例与修改 Amazon RDS 数据库实例类似。您可以更改如下设置：
+ 数据库实例类
+ 存储分配和类型
+ 备份保留期
+ 删除保护
+ 选项组
+ CEV（请参阅[升级 RDS Custom for Oracle 数据库实例](custom-upgrading-modify.md)）
+ 端口

**Topics**
+ [修改数据库实例存储时的要求和限制](#custom-managing.storage-modify)
+ [修改数据库实例类时的要求和限制](#custom-managing.instance-class-reqs)
+ [修改实例类时 RDS Custom 如何创建数据库实例](#custom-managing.instance-class-resources)
+ [修改 RDS Custom for Oracle 数据库实例](#custom-managing.modifying.procedure)

## 修改数据库实例存储时的要求和限制
<a name="custom-managing.storage-modify"></a>

当您修改 RDS Custom for Oracle 数据库实例的存储时，应考虑以下要求和限制：
+ RDS Custom for Oracle 的最低分配存储空间为 40GiB，最大值为 64TiB。
+ 与 Amazon RDS 一样，您无法减少分配的存储。这是对 Amazon EBS 卷的限制。
+ RDS Custom 数据库实例不支持存储弹性伸缩。
+ 手动附加到 RDS Custom 数据库实例的任何存储卷都在支持外围之外。

  有关更多信息，请参阅 [RDS Custom 支持外围](custom-concept.md#custom-troubleshooting.support-perimeter)。
+ RDS Custom 不支持磁性（标准）Amazon EBS 存储。只能选择 io1、io2、gp2 或 gp3 SSD 存储类型。

有关 Amazon EBS 存储的更多信息，请参阅[Amazon RDS 数据库实例存储](CHAP_Storage.md)。有关存储修改的一般信息，请参阅[使用 Amazon RDS 数据库实例的存储](USER_PIOPS.StorageTypes.md)。

## 修改数据库实例类时的要求和限制
<a name="custom-managing.instance-class-reqs"></a>

当您修改 RDS Custom for Oracle 数据库实例的实例类时，应考虑以下要求和限制：
+ 数据库实例必须处于 `available` 状态。
+ 您的数据库实例在根卷、数据卷和二进制卷上必须至少有 100 MiB 的可用空间。
+ 使用默认弹性网络接口（ENI）时，您只能为 RDS Custom for Oracle 数据库实例分配单个弹性 IP（EIP）。如果您将多个 ENI 连接到数据库实例，修改操作将失败。
+ 所有 RDS Custom for Oracle 标签都必须存在。
+ 如果您使用 RDS Custom for Oracle 复制，请注意以下要求和限制：
  + 对于主数据库实例和只读副本，您一次只能更改一个数据库实例的实例类。
  + 如果您的 RDS Custom for Oracle 数据库实例具有本地主数据库或副本数据库，请确保在修改完成后手动更新本地数据库实例上的私有 IP 地址。此操作是保留 Oracle DataGuard 功能所必需的。修改成功后，RDS Custom for Oracle 会发布事件。
  + 当主数据库实例或只读副本数据库实例配置了 FSFO（快速启动失效转移）时，您无法修改 RDS Custom for Oracle 数据库实例类。

## 修改实例类时 RDS Custom 如何创建数据库实例
<a name="custom-managing.instance-class-resources"></a>

当您修改实例类时，RDS Custom 将按如下方式创建数据库实例：
+ 创建 Amazon EC2 实例。
+ 从最新的数据库快照创建根卷。RDS Custom for Oracle 不保留在最新数据库快照之后添加到根卷的信息。
+ 创建 Amazon CloudWatch 告警。
+ 如果删除了原始密钥对，则创建 Amazon EC2 SSH 密钥对。否则，RDS Custom for Oracle 保留原始密钥对。
+ 使用启动修改时附加到数据库实例的标签创建新资源。当新资源直接附加到底层资源时，RDS Custom 不会将标签传输到新资源。
+ 将包含最新修改的二进制和数据卷传输到新数据库实例。
+ 传输弹性 IP 地址（EIP）。如果数据库实例可公开访问，则在传输 EIP 之前，RDS Custom 会临时将公有 IP 地址附加到新的数据库实例。如果数据库实例不可供公开访问，则 RDS Custom 不创建公有 IP 地址。

## 修改 RDS Custom for Oracle 数据库实例
<a name="custom-managing.modifying.procedure"></a>

您可以使用控制台、AWS CLI 或 RDS API 修改数据库实例类或存储。

### 控制台
<a name="custom-managing.modifying.procedure.CON"></a>

**修改 RDS Custom for Oracle 数据库实例**

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

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

1. 选择要修改的数据库实例。

1. 选择**修改**。

1. （可选）在**实例配置**中，为**数据库实例类**选择一个值。有关支持的类，请参阅 [RDS Custom for Oracle 的数据库实例类支持](custom-oracle-feature-support.md#custom-reqs-limits.instances)。

1. （可选）在**存储**中，根据需要进行以下更改：

   1. 为 **Allocated Storage (分配的存储)** 输入新值。它必须大于当前值，且范围从 40GiB 到 64TiB。

   1. 将**存储类型**的值更改为**通用型 SSD（gp2）**、**通用型 SSD（gp3）**、**预调配 IOPS（io1）**或**预调配 IOPS（io2）**。

   1. 如果您指定的存储类型不是**通用型 SSD（gp2）**，则可以更改**预调配 IOPS** 值。

1. （可选）对于**其它配置**，根据需要执行以下更改：

   1. 对于**选项组**，选择新的选项组。有关更多信息，请参阅 [使用 RDS Custom for Oracle 中的选项组](custom-oracle-option-groups.md)。

1. 选择 **Continue (继续)**。

1. 选择 **Apply immediately**（立即应用）或 **Apply during the next scheduled maintenance window**（在下一个计划的维护时段内应用）。

1. 选择**修改数据库实例**。

### AWS CLI
<a name="custom-managing.modifying.procedure.CLI"></a>

要修改 RDS Custom for Oracle 数据库实例的存储，请使用 [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) AWS CLI 命令。根据需要设置以下参数：
+ `--db-instance-class` – 一个新的实例类。有关支持的类，请参阅 [RDS Custom for Oracle 的数据库实例类支持](custom-oracle-feature-support.md#custom-reqs-limits.instances)。
+ `--allocated-storage` – 要为数据库实例分配的存储量（以 GiB 为单位）。它必须大于当前值，并且范围从 40 到 65536GiB。
+ `--storage-type` – 存储类型：gp2、gp3、io1 或 io2。
+ `--iops` – 如果使用 io1、io2 或 gp3 存储类型，则为数据库实例的预调配 IOPS。
+ `--apply-immediately` – 使用 `--apply-immediately` 可立即应用存储更改。

  或使用 `--no-apply-immediately`（默认设置）以在下一个维护时段内应用更改。

以下示例将 `my-cfo-instance` 的数据库实例类更改为 `db.m5.16xlarge`。该命令还将存储大小更改为 `1024`（1 TiB），将存储类型更改为 `io2`，将预调配 IOPS 更改为 `3000`，并将选项组更改为 `cfo-ee-19-mt`。

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

```
aws rds modify-db-instance \
    --db-instance-identifier my-cfo-instance \
    --db-instance-class db.m5.16xlarge \
    --storage-type io2 \
    --iops 3000 \
    --allocated-storage 1024 \
    --option-group cfo-ee-19-mt \
    --apply-immediately
```
对于：Windows  

```
aws rds modify-db-instance ^
    --db-instance-identifier my-cfo-instance ^
    --db-instance-class db.m5.16xlarge ^
    --storage-type io2 ^
    --iops 3000 ^
    --allocated-storage 1024 ^
    --option-group cfo-ee-19-mt ^
    --apply-immediately
```