本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在執行個體存放區和 Amazon 上設定暫存資料表空間群組 EBS
您可以設定暫存資料表空間群組,以在執行個體存放區和 Amazon 上包含暫存資料表空間EBS。當您想要的暫存儲存體超過 rds.instance_store_temp_size
最大設定允許的空間時,此技巧很有用。
當您在執行個體存放區和 Amazon 上設定暫存資料表空間群組時EBS,這兩個資料表空間的效能特性會明顯不同。Oracle 資料庫會根據內部演算法選擇要為查詢提供服務的資料表空間。因此,類似的查詢可能會在效能方面有所不同。
一般而言,您可以在執行個體儲存體中建立暫存資料表空間,如下所示:
-
在執行個體儲存體中建立暫存資料表空間。
-
將新的表格空間設定為資料庫預設暫存資料表空間。
如果執行個體儲存體中的資料表空間大小不足,您可以建立額外的暫存儲存體,如下所示:
-
將執行個體儲存體中的暫存表格空間指派給暫存資料表空間群組。
-
EBS 如果不存在臨時資料表空間,請在 Amazon 中建立新的臨時資料表空間。
-
將 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