

# 配置 RDS for Oracle 实例存储
<a name="CHAP_Oracle.advanced-features.instance-store.configuring"></a>

原定设置情况下，100% 的实例存储空间分配给临时表空间。要将实例存储配置为向闪存缓存和临时表空间分配空间，请在实例的参数组中设置以下参数：

**db\$1flash\$1cache\$1size=\$1DBInstanceStore\$1\$10,2,4,6,8,10\$1/10\$1**  
此参数指定为闪存缓存分配的存储空间量。此参数仅对 Oracle Database 企业版有效。默认值为 `{DBInstanceStore*0/10}`。如果您为 `db_flash_cache_size` 设置非零值，则 RDS for Oracle 实例将在您重新启动实例后启用闪存缓存。

**rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$1\$10,2,4,6,8,10\$1/10\$1**  
此参数指定为临时表空间分配的存储空间量。默认值为 `{DBInstanceStore*10/10}`。对于 Oracle Database 企业版，此参数是可修改的，而对于标准版 2 为只读的。如果您为 `rds.instance_store_temp_size` 设置非零值，Amazon RDS 将在实例存储中为临时表空间分配空间。  
您可以为不使用实例存储的数据库实例设置 `db_flash_cache_size` 和 `rds.instance_store_temp_size` 参数。在这种情况下，这两个设置的计算结果均为 `0`，这会关闭该功能。在这种情况下，您可以为不同的实例大小和不使用实例存储的实例使用相同的参数组。如果您修改这些参数，则确保重启关联的实例，以使更改生效。  
如果您为临时表空间分配空间，Amazon RDS 不会自动创建临时表空间。要了解如何在实例存储上创建临时表空间，请参阅 [在实例存储上创建临时表空间](Appendix.Oracle.CommonDBATasks.TablespacesAndDatafiles.md#Appendix.Oracle.CommonDBATasks.creating-tts-instance-store)。

上述参数的组合值不得超过 10/10 或 100%。下表说明了有效和无效的参数设置。


| db\$1flash\$1cache\$1size 设置 | rds.instance\$1store\$1temp\$1size 设置 | 说明 | 
| --- | --- | --- | 
|  db\$1flash\$1cache\$1size=\$1DBInstanceStore\$10/10\$1  |  rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$110/10\$1  |  这是适用于所有 Oracle Database 版本的有效配置。Amazon RDS 将 100% 的实例存储空间分配给临时表空间。这是默认模式。  | 
|  db\$1flash\$1cache\$1size=\$1DBInstanceStore\$110/10\$1  |  rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$10/10\$1  |  这是仅适用于 Oracle Database 企业版的有效配置。Amazon RDS 将 100% 的实例存储空间分配给闪存缓存。  | 
|  db\$1flash\$1cache\$1size=\$1DBInstanceStore\$12/10\$1  |  rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$18/10\$1  |  这是仅适用于 Oracle Database 企业版的有效配置。Amazon RDS 将 20% 的实例存储空间分配给闪存缓存，而将 80% 的实例存储空间分配给临时表空间。  | 
|  db\$1flash\$1cache\$1size=\$1DBInstanceStore\$16/10\$1  |  rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$14/10\$1  |  这是仅适用于 Oracle Database 企业版的有效配置。Amazon RDS 将 60% 的实例存储空间分配给闪存缓存，而将 40% 的实例存储空间分配给临时表空间。  | 
|  db\$1flash\$1cache\$1size=\$1DBInstanceStore\$12/10\$1  |  rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$14/10\$1  | 这是仅适用于 Oracle Database 企业版的有效配置。Amazon RDS 将 20% 的实例存储空间分配给闪存缓存，而将 40% 的实例存储空间分配给临时表空间。 | 
|  db\$1flash\$1cache\$1size=\$1DBInstanceStore\$18/10\$1  |  rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$18/10\$1  |  这是无效的配置，因为实例存储空间的总百分比超过 100%。在这种情况下，Amazon RDS 会使此尝试失败。  | 

## 更改数据库实例类型时的注意事项
<a name="CHAP_Oracle.advanced-features.instance-store.configuring.modifying"></a>

如果您更改数据库实例类型，则这可能会影响实例存储上闪存缓存或临时表空间的配置。考虑以下修改及其影响：

**您可以纵向扩展或缩减支持实例存储的数据库实例。**  
以下各值根据实例存储的新大小成比例增加或减少：  
+ 闪存缓存的新大小。
+ 分配给驻留在实例存储中的临时表空间的空间。
例如，db.m5d.4xlarge 实例上的设置 `db_flash_cache_size={DBInstanceStore*6/10}` 提供了大约 340GB 的闪存缓存空间。如果您将实例类型纵向扩展到 db.m5d.8xlarge，则闪存缓存空间将增加到大约 680GB。

**您将不使用实例存储的数据库实例修改为确实使用实例存储的实例。**  
如果将 `db_flash_cache_size` 设置为大于 `0` 的值，则配置闪存缓存。如果将 `rds.instance_store_temp_size` 设置为大于 `0` 的值，则会分配实例存储空间供临时表空间使用。RDS for Oracle 不会自动将临时文件移动到实例存储。有关使用分配的空间的信息，请参阅 [在实例存储上创建临时表空间](Appendix.Oracle.CommonDBATasks.TablespacesAndDatafiles.md#Appendix.Oracle.CommonDBATasks.creating-tts-instance-store) 或 [在只读副本上向实例存储中添加临时文件](Appendix.Oracle.CommonDBATasks.using-tempfiles.md#Appendix.Oracle.CommonDBATasks.adding-tempfile-replica)。

**您将使用实例存储的数据库实例修改为不使用实例存储的实例。**  
在这种情况下，RDS for Oracle 会删除闪存缓存。RDS 在 Amazon EBS 卷上重新创建当前位于实例存储中的临时文件。新临时文件的最大大小是 `rds.instance_store_temp_size` 参数以前的大小。