

# 在实例存储和 Amazon EBS 上配置临时表空间组
<a name="CHAP_Oracle.advanced-features.instance-store.temp-ebs"></a>

您可以将临时表空间组配置为包括实例存储和 Amazon EBS 上的临时表空间。当您想要的临时存储空间超过 `rds.instance_store_temp_size` 的最大设置所允许的空间时，此方法很有用。

当您在实例存储和 Amazon EBS 上配置临时表空间组时，这两个表空间的性能特征显著不同。Oracle 数据库根据内部算法，选择表空间来处理查询。因此，类似查询的性能可能会有所不同。

通常，您在实例存储中创建临时表空间，如下所示：

1. 在实例存储中创建临时表空间。

1. 将新的表空间设置为数据库原定设置临时表空间。

如果实例存储中的表空间大小不足，则可以按如下方式创建额外的临时存储：

1. 将实例存储中的临时表空间分配给临时表空间组。

1. 如果临时表空间不存在，请在 Amazon EBS 中创建一个新的临时表空间。

1. 将 Amazon EBS 中的临时表空间分配给包含实例存储表空间的同一个表空间组。

1. 将表空间组设置为原定设置临时表空间。

以下示例假设实例存储中临时表空间的大小不符合您的应用程序要求。该示例在实例存储中创建临时表空间 `temp_in_inst_store`，将其分配给表空间组 `temp_group`，将名为 `temp_in_ebs` 的现有 Amazon EBS 表空间添加到该组中，并将该组设置为原定设置临时表空间。

```
SQL> EXEC rdsadmin.rdsadmin_util.create_inst_store_tmp_tblspace('temp_in_inst_store');

PL/SQL procedure successfully completed.

SQL> ALTER TABLESPACE temp_in_inst_store TABLESPACE GROUP temp_group;

Tablespace altered.

SQL> ALTER TABLESPACE temp_in_ebs TABLESPACE GROUP temp_group;

Tablespace altered.

SQL> EXEC rdsadmin.rdsadmin_util.alter_default_temp_tablespace('temp_group');

PL/SQL procedure successfully completed.

SQL> SELECT * FROM DBA_TABLESPACE_GROUPS;

GROUP_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
TEMP_GROUP                     TEMP_IN_EBS
TEMP_GROUP                     TEMP_IN_INST_STORE

SQL> SELECT PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE';

PROPERTY_VALUE
--------------
TEMP_GROUP
```