

# RDS for Oracle の追加ストレージボリュームのユースケース
<a name="User_Oracle_AdditionalStorage.UseCases"></a>

追加のストレージボリュームは、さまざまなデータベース管理シナリオをサポートします。以下のセクションでは、一般的なユースケースと実装アプローチについて説明します。

**Topics**
+ [64 TiB を超えるストレージ容量の拡張](#User_Oracle_AdditionalStorage.UseCases.Extendingstoragecapacity)
+ [アクセス頻度の高いデータとアクセス頻度の低いデータを別々のボリュームにストレージの階層化](#User_Oracle_AdditionalStorage.UseCases.Storagetiering)
+ [データのロードとアンロード用の一時ストレージ](#User_Oracle_AdditionalStorage.UseCases.Temporarystorage)
+ [追加のストレージボリュームで Oracle トランスポータブル表領域を使用する](#User_Oracle_AdditionalStorage.UseCases.TransportableTablespaces)

## 64 TiB を超えるストレージ容量の拡張
<a name="User_Oracle_AdditionalStorage.UseCases.Extendingstoragecapacity"></a>

プライマリストレージボリュームが 64 TiB の制限に近づいたが、データベースにより多くのストレージ容量が必要な場合、追加のストレージボリュームを使用できます。`modify-db-instance` コマンドを使用して、それぞれ最大 64TiB の追加のストレージボリュームを DB インスタンスにアタッチできます。追加のストレージボリュームをアタッチした後、追加のストレージボリュームにテーブルスペースを作成し、標準の Oracle SQL を使用してテーブル、インデックス、パーティションなどのオブジェクトをこれらのテーブルスペースに移動できます。詳細については、「[RDS for Oracle の追加ストレージボリュームを使用したデータベース管理オペレーション](User_Oracle_AdditionalStorage.md#User_Oracle_AdditionalStorage.DBManagement)」を参照してください。

## アクセス頻度の高いデータとアクセス頻度の低いデータを別々のボリュームにストレージの階層化
<a name="User_Oracle_AdditionalStorage.UseCases.Storagetiering"></a>

ボリューム間で異なるストレージタイプを設定することで、追加のストレージボリュームを使用してコストとパフォーマンスを最適化できます。例えば、費用対効果の高い汎用 (gp3) ストレージボリュームに履歴データを保存しながら、頻繁にアクセスされるデータに高性能のプロビジョンド IOPS SSD ストレージ (io2) ボリュームを使用できます。標準の Oracle コマンドを使用して、特定のデータベースオブジェクト (テーブル、インデックス、パーティション) をこれらのテーブルスペースに移動できます。詳細については、「[RDS for Oracle の追加ストレージボリュームを使用したデータベース管理オペレーション](User_Oracle_AdditionalStorage.md#User_Oracle_AdditionalStorage.DBManagement)」を参照してください。

## データのロードとアンロード用の一時ストレージ
<a name="User_Oracle_AdditionalStorage.UseCases.Temporarystorage"></a>

次のステップでは、追加のストレージボリュームを、大規模なデータロードまたはエクスポートの一時ストレージとして使用できます。
+ 次のコマンドを使用して、追加のストレージボリュームにディレクトリを作成します。

  ```
  BEGIN
  rdsadmin.rdsadmin_util.create_directory(
              p_directory_name => 'DATA_PUMP_DIR2',
              p_database_volume_name => 'rdsdbdata2');
  END;
  /
  ```
+ ディレクトリを作成したら、「[Oracle Data Pump を使用したインポート](Oracle.Procedural.Importing.DataPump.md)」で説明されている手順に従って、データを新しいディレクトリにエクスポートおよびインポートします。
+ オペレーションが完了したら、ファイルを削除し、オプションでボリュームを削除してストレージコストを節約します。追加のストレージボリュームは、ボリュームが空である場合にのみ削除できます。

## 追加のストレージボリュームで Oracle トランスポータブル表領域を使用する
<a name="User_Oracle_AdditionalStorage.UseCases.TransportableTablespaces"></a>

追加のストレージボリュームを使用して、Oracle のトランスポータブル表領域を使用して、次のステップでデータファイルを追加のストレージボリュームに移動できます。
+ 追加のストレージボリュームを使用してトランスポータブル表領域をターゲットデータベースにインポートする前に、セッションレベルで `db_create_file_dest` パラメータを設定します。

  ```
  ALTER SESSION SET db_create_file_dest = '/rdsdbdata2/db';
  
  VAR x CLOB;
  
  BEGIN
  :x := rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces(
  p_tablespace_list => 'TBTEST1',
  p_directory_name => 'XTTS_DIR_DATA2',
  p_platform_id => 13);
  END;
  /
  
  PRINT :x;
  ```
+ トランスポータブル表領域のインポートステータスを確認します。

  ```
  ALTER SESSION SET nls_date_format = 'DD.MM.YYYY HH24:MI:SS';
  
  COL xtts_operation_start_utc FORMAT A30
  COL xtts_operation_end_utc FORMAT A30
  COL xtts_operation_state FORMAT A30
  COL xtts_operation_type FORMAT A30
  
  SELECT xtts_operation_start_utc, xtts_operation_type, xtts_operation_state
  FROM rdsadmin.rds_xtts_operation_info;
  ```
+ トランスポータブル表領域のインポートが完了したら、トランスポータブル表領域メタデータをインポートします。

  ```
  BEGIN
  rdsadmin.rdsadmin_transport_util.import_xtts_metadata(
  p_datapump_metadata_file => 'xttdump.dmp',
  p_directory_name => 'XTTS_DIR_DATA2');
  END;
  /
  ```