在实例存储和 Amazon EBS 上配置临时表空间组
您可以将临时表空间组配置为包括实例存储和 Amazon EBS 上的临时表空间。当您想要的临时存储空间超过 rds.instance_store_temp_size
的最大设置所允许的空间时,此方法很有用。
当您在实例存储和 Amazon EBS 上配置临时表空间组时,这两个表空间的性能特征显著不同。Oracle 数据库根据内部算法,选择表空间来处理查询。因此,类似查询的性能可能会有所不同。
通常,您在实例存储中创建临时表空间,如下所示:
-
在实例存储中创建临时表空间。
-
将新的表空间设置为数据库原定设置临时表空间。
如果实例存储中的表空间大小不足,则可以按如下方式创建额外的临时存储:
-
将实例存储中的临时表空间分配给临时表空间组。
-
如果临时表空间不存在,请在 Amazon EBS 中创建一个新的临时表空间。
-
将 Amazon EBS 中的临时表空间分配给包含实例存储表空间的同一个表空间组。
-
将表空间组设置为原定设置临时表空间。
以下示例假设实例存储中临时表空间的大小不符合您的应用程序要求。该示例在实例存储中创建临时表空间 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 TABLESPACEtemp_in_inst_store
TABLESPACE GROUPtemp_group
; Tablespace altered. SQL> ALTER TABLESPACEtemp_in_ebs
TABLESPACE GROUPtemp_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