

# 在 RDS for Oracle 实例存储中存储临时数据
<a name="CHAP_Oracle.advanced-features.instance-store"></a>

在支持的 RDS for Oracle 数据库实例上，为临时表空间和数据库智能闪存缓存（闪存缓存）使用实例存储。

**Topics**
+ [RDS for Oracle 实例存储的概述](#CHAP_Oracle.advanced-features.instance-store.overview)
+ [开启 RDS for Oracle 实例存储](#CHAP_Oracle.advanced-features.instance-store.Enable)
+ [配置 RDS for Oracle 实例存储](CHAP_Oracle.advanced-features.instance-store.configuring.md)
+ [在 Oracle 只读副本上使用实例存储](CHAP_Oracle.advanced-features.instance-store.replicas.md)
+ [在实例存储和 Amazon EBS 上配置临时表空间组](CHAP_Oracle.advanced-features.instance-store.temp-ebs.md)
+ [删除 RDS for Oracle 实例存储](#CHAP_Oracle.advanced-features.instance-store.Disable)

## RDS for Oracle 实例存储的概述
<a name="CHAP_Oracle.advanced-features.instance-store.overview"></a>

*实例存储*为 RDS for Oracle 数据库实例提供临时性块级存储。您可以使用实例存储来临时存储经常变化的信息。

实例存储基于物理附加到主机的非易失性存储规范（NVMe）设备。此存储针对低延迟、随机 I/O 性能和连续读取吞吐量进行了优化。

实例存储的大小因数据库实例类型而异。有关实例存储的更多信息，请参阅《适用于 Linux 实例的 Amazon Elastic Compute Cloud 用户指南》**中的 [Amazon EC2 实例存储](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html)。

**Topics**
+ [RDS for Oracle 实例存储中的数据类型](#CHAP_Oracle.advanced-features.instance-store.overview.uses)
+ [RDS for Oracle 实例存储的优点](#CHAP_Oracle.advanced-features.instance-store.overview.benefits)
+ [RDS for Oracle 实例存储支持的实例类](#CHAP_Oracle.advanced-features.instance-store.overview.instance-classes)
+ [RDS for Oracle 实例存储支持的引擎版本](#CHAP_Oracle.advanced-features.instance-store.overview.db-versions)
+ [RDS for Oracle 实例存储支持的 AWS 区域](#CHAP_Oracle.advanced-features.instance-store.overview.regions)
+ [RDS for Oracle 实例存储的成本](#CHAP_Oracle.advanced-features.instance-store.overview.cost)

### RDS for Oracle 实例存储中的数据类型
<a name="CHAP_Oracle.advanced-features.instance-store.overview.uses"></a>

您可以将以下类型的 RDS for Oracle 临时数据放入实例存储中：

临时表空间  
Oracle 数据库使用临时表空间来存储不适合放入内存中的中间查询结果。较大的查询会生成大量的中间数据，这些数据需要进行临时缓存，但不需要持久保留。尤其是，临时表空间可用于排序、哈希聚合和联接。如果您的 RDS for Oracle 数据库实例使用企业版或标准版 2，则可以将临时表空间放在实例存储中。

闪存缓存  
闪存缓存可提高传统路径中单块随机读取的性能。最佳做法是调整缓存的大小以容纳大部分活动的数据集。如果 RDS for Oracle 数据库实例使用企业版，则可以将闪存缓存放在实例存储中。

原定设置情况下，将实例存储配置用于临时表空间而非闪存缓存。您无法将 Oracle 数据文件和数据库日志文件放在实例存储中。

### RDS for Oracle 实例存储的优点
<a name="CHAP_Oracle.advanced-features.instance-store.overview.benefits"></a>

您可以考虑使用实例存储来存储可以承受丢失的临时文件和缓存。如果您想提高数据库性能，或者，如果增加的工作负载导致 Amazon EBS 存储出现性能问题，请考虑扩展到支持实例存储的实例类。

通过将临时表空间和闪存缓存放在实例存储上，您可以获得以下优势：
+ 降低读取延迟
+ 提高吞吐量
+ 减少了 Amazon EBS 卷上的负载
+ 由于减少了 Amazon EBS 负载，因此降低了存储和快照成本
+ 减少了预调配高 IOPS 的需要，可能会降低您的总体成本

 通过将临时表空间放在实例存储上，您可以立即提高使用临时空间的查询的性能。当您将闪存缓存放在实例存储上时，缓存块读取的延迟通常比 Amazon EBS 读取的延迟要低得多。闪存缓存需要“预热”，然后才能提供性能优势。缓存会自行预热，因为当块从数据库缓冲区缓存中过期时，数据库会将块写入闪存缓存。

**注意**  
在某些情况下，闪存缓存会因为缓存管理而导致性能开销。在生产环境中启用闪存缓存之前，我们建议您分析工作负载并在测试环境中测试缓存。

### RDS for Oracle 实例存储支持的实例类
<a name="CHAP_Oracle.advanced-features.instance-store.overview.instance-classes"></a>

Amazon RDS 对于以下数据库实例类支持实例存储：
+ db.m5d
+ db.m6id
+ db.r5d
+ db.r6id
+ db.x2idn
+ db.x2iedn

RDS for Oracle 仅对于 BYOL 许可模式支持上述数据库实例类。有关更多信息，请参阅[支持的 RDS for Oracle 数据库实例类](Oracle.Concepts.InstanceClasses.md#Oracle.Concepts.InstanceClasses.Supported)和[EE 和 SE2 自带许可（BYOL）](Oracle.Concepts.Licensing.md#Oracle.Concepts.Licensing.BYOL)。

要查看受支持的数据库实例类型的总实例存储量，请在 AWS CLI 中运行以下命令。

**Example**  

```
aws ec2 describe-instance-types \
  --filters "Name=instance-type,Values=*5d.*large*,*6id.*large*" \
  --query "InstanceTypes[?contains(InstanceType,'m5d')||contains(InstanceType,'r5d')||contains(InstanceType,'m6id')||contains(InstanceType,'r6id')][InstanceType, InstanceStorageInfo.TotalSizeInGB]" \
  --output table
```

前面的命令返回实例存储的原始设备大小。RDS for Oracle 使用此空间的一小部分进行配置。实例存储中可用于临时表空间或闪存缓存的空间稍小。

### RDS for Oracle 实例存储支持的引擎版本
<a name="CHAP_Oracle.advanced-features.instance-store.overview.db-versions"></a>

以下 RDS for Oracle 数据库引擎版本支持实例存储：
+ 21.0.0.0.ru-2022-01.rur-2022-01.r1 或更高的 Oracle Database 21c 版本
+ 19.0.0.0.ru-2021-10.rur-2021-10.r1 或更高的 Oracle Database 19c 版本

### RDS for Oracle 实例存储支持的 AWS 区域
<a name="CHAP_Oracle.advanced-features.instance-store.overview.regions"></a>

在支持其中一种或多种实例类型的所有 AWS 区域中均可使用实例存储。有关 db.m5d 和 db.r5d 实例类的更多信息，请参阅 [数据库实例类](Concepts.DBInstanceClass.md)。有关 Amazon RDS for Oracle 支持的实例类的更多信息，请参阅 [RDS for Oracle 数据库实例类](Oracle.Concepts.InstanceClasses.md)。

### RDS for Oracle 实例存储的成本
<a name="CHAP_Oracle.advanced-features.instance-store.overview.cost"></a>

实例存储的成本计入已开启实例存储的实例的成本中。对 RDS for Oracle 数据库实例启用实例存储不会产生额外费用。有关已开启实例存储的实例的更多信息，请参阅 [RDS for Oracle 实例存储支持的实例类](#CHAP_Oracle.advanced-features.instance-store.overview.instance-classes)。

## 开启 RDS for Oracle 实例存储
<a name="CHAP_Oracle.advanced-features.instance-store.Enable"></a>

要为 RDS for Oracle 临时数据开启实例存储，请执行下列操作之一：
+ 使用支持的实例类创建 RDS for Oracle 数据库实例。有关更多信息，请参阅 [创建 Amazon RDS 数据库实例](USER_CreateDBInstance.md)。
+ 修改现有 RDS for Oracle 数据库实例以使用支持的实例类。有关更多信息，请参阅 [修改 Amazon RDS 数据库实例](Overview.DBInstance.Modifying.md)。

## 删除 RDS for Oracle 实例存储
<a name="CHAP_Oracle.advanced-features.instance-store.Disable"></a>

要删除实例存储，请修改 RDS for Oracle 数据库实例以使用不支持实例存储的实例类型，如 db.m5 或 db.r5。