インスタンスストアと Amazon EBS の一時テーブルスペースグループの設定
インスタンスストアと Amazon EBS の両方の一時テーブルスペースを含むように一時テーブルスペースグループを設定できます。この方法は、rds.instance_store_temp_size
の最大設定で許容される容量を超える一時ストレージが必要な場合に便利です。
インスタンスストアと Amazon EBS の両方で一時テーブルスペースグループを設定すると、2 つのテーブルスペースのパフォーマンス特性が大きく異なります。Oracle Database は、内部アルゴリズムに基づいてクエリを処理するテーブルスペースを選択します。そのため、同様のクエリではパフォーマンスが異なる場合があります。
通常、次のようにインスタンスストアに一時テーブルスペースを作成します。
-
インスタンスストアに一時テーブルスペースを作成します。
-
新しいテーブルスペースをデータベースのデフォルトの一時テーブルスペースとして設定します。
インスタンスストアのテーブルスペースサイズが不十分な場合は、次のように追加の一時ストレージを作成できます。
-
インスタンスストアの一時テーブルスペースを一時テーブルスペースグループに割り当てます。
-
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