本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在執行個體儲存體和 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_storeTABLESPACE GROUPtemp_group; Tablespace altered. SQL> ALTER TABLESPACEtemp_in_ebsTABLESPACE 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