

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Stockage de données temporaires dans un stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store"></a>

Utilisez un stockage d'instances pour les espaces de table temporaires et le cache Smart Flash de la base de données (le cache flash) sur les classes d'instances de base de données RDS for Oracle prises en charge.

**Topics**
+ [Présentation du stockage d'instances RDS for Oracle](#CHAP_Oracle.advanced-features.instance-store.overview)
+ [Activation d'un stockage d'instances RDS for Oracle](#CHAP_Oracle.advanced-features.instance-store.Enable)
+ [Configuration d'un stockage d'instances RDS for Oracle](CHAP_Oracle.advanced-features.instance-store.configuring.md)
+ [Utilisation d'un stockage d'instances sur un réplica en lecture Oracle](CHAP_Oracle.advanced-features.instance-store.replicas.md)
+ [Configuration d'un groupe d'espaces de table temporaires sur un stockage d'instances et Amazon EBS](CHAP_Oracle.advanced-features.instance-store.temp-ebs.md)
+ [Suppression d'un stockage d'instances RDS for Oracle](#CHAP_Oracle.advanced-features.instance-store.Disable)

## Présentation du stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.overview"></a>

Un *stockage d'instances* fournit un stockage temporaire de niveau bloc pour votre instance de base de données RDS for Oracle. Vous pouvez utiliser un stockage d'instances pour stocker temporairement des informations qui changent fréquemment.

Un magasin d'instance est basé sur des périphériques Non-Volatile Memory Express (NVMe) physiquement connectés à l'ordinateur hôte. Le stockage est optimisé pour une faible latence, des I/O performances aléatoires et un débit de lecture séquentiel.

La taille du stockage d'instances varie selon le type d'instance de base de données. Pour plus d'informations sur le stockage d'instances, consultez [Stockage d'instances Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) dans le *Guide de l'utilisateur Amazon Elastic Compute Cloud pour les instances Linux*.

**Topics**
+ [Types de données dans le stockage d'instances RDS for Oracle](#CHAP_Oracle.advanced-features.instance-store.overview.uses)
+ [Avantages du stockage d'instances RDS for Oracle](#CHAP_Oracle.advanced-features.instance-store.overview.benefits)
+ [Classes d'instances prises en charge pour le stockage d'instances RDS for Oracle](#CHAP_Oracle.advanced-features.instance-store.overview.instance-classes)
+ [Versions de moteur pris en charge pour le stockage d'instances RDS for Oracle](#CHAP_Oracle.advanced-features.instance-store.overview.db-versions)
+ [Pris en charge Régions AWS pour le magasin d'instances RDS pour Oracle](#CHAP_Oracle.advanced-features.instance-store.overview.regions)
+ [Coût du stockage d'instances RDS for Oracle](#CHAP_Oracle.advanced-features.instance-store.overview.cost)

### Types de données dans le stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.overview.uses"></a>

Vous pouvez placer les types de données temporaires RDS for Oracle suivants dans un stockage d'instances :

Un espace de table temporaire  
Oracle Database utilise des espaces de table temporaires pour stocker les résultats de requêtes intermédiaires qui ne tiennent pas dans la mémoire. Les requêtes plus volumineuses peuvent générer de grandes quantités de données intermédiaires qui doivent être mises en cache temporairement, mais qui n'ont pas besoin de persister. Un espace de table temporaire est particulièrement utile pour les tris, les agrégations par hachage et les jointures. Si votre instance de base de données RDS for Oracle utilise Enterprise Edition ou Standard Edition 2, vous pouvez placer un espace de table temporaire dans un stockage d'instances.

Le cache flash  
Le cache flash améliore les performances des lectures aléatoires à bloc unique dans le chemin conventionnel. Il est recommandé de dimensionner le cache de manière à ce qu'il puisse contenir la majeure partie de votre jeu de données actif. Si votre instance de base de données RDS for Oracle utilise Enterprise Edition, vous pouvez placer le cache flash dans un stockage d'instances.

Par défaut, un stockage d'instances est configuré pour un espace de table temporaire, mais pas pour le cache flash. Vous ne pouvez pas placer les fichiers de données Oracle et les fichiers journaux de base de données dans un stockage d'instances.

### Avantages du stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.overview.benefits"></a>

Vous pouvez envisager d'utiliser un stockage d'instances pour stocker des fichiers et des caches temporaires que vous pouvez vous permettre de perdre. Si vous souhaitez améliorer les performances de votre base de données ou si l'augmentation de la charge de travail entraîne des problèmes de performances pour votre stockage Amazon EBS, envisagez de passer à une classe d'instance qui prend en charge un stockage d'instances.

En plaçant votre espace de table temporaire et votre cache flash sur un stockage d'instances, vous bénéficiez des avantages suivants :
+ Latences de lecture inférieures
+ Débit supérieur
+ Réduction de la charge sur vos volumes Amazon EBS
+ Coûts de stockage et d'instantanés réduits grâce à la réduction de la charge Amazon EBS
+ Moins de besoin d'approvisionner des IOPS élevées, ce qui peut réduire votre coût global

 En plaçant votre espace de table temporaire sur le stockage d'instances, vous augmentez immédiatement les performances des requêtes qui utilisent de l'espace temporaire. Lorsque vous placez le cache flash sur le stockage d'instances, les lectures de blocs en cache ont généralement une latence bien inférieure à celle des lectures Amazon EBS. Le cache flash doit être « préparé » avant d'offrir des avantages en termes de performances. Le cache se prépare tout seul car la base de données écrit des blocs dans le cache flash à mesure qu'ils sortent du cache de la base de données.

**Note**  
Dans certains cas, le cache flash entraîne une surcharge des performances en raison de la gestion du cache. Avant d'activer le cache flash dans un environnement de production, nous vous recommandons d'analyser votre charge de travail et de tester le cache dans un environnement de test.

### Classes d'instances prises en charge pour le stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.overview.instance-classes"></a>

Amazon RDS prend en charge le stockage d'instances pour les classes d'instances de base de données suivantes :
+ db.m5d
+ db.m6id
+ db.r5d
+ db.r6id
+ db.x2idn
+ db.x2iedn

RDS for Oracle prend en charge les classes d'instances de base de données précédentes uniquement pour le modèle de licence BYOL. Pour plus d’informations, consultez [Classes d’instance de base de données RDS for Oracle prises en charge](Oracle.Concepts.InstanceClasses.md#Oracle.Concepts.InstanceClasses.Supported) et [Bring Your Own License (BYOL) pour EE et SE2](Oracle.Concepts.Licensing.md#Oracle.Concepts.Licensing.BYOL).

Pour connaître le stockage d'instance total pour les types d'instances de base de données pris en charge, exécutez la commande suivante dans la AWS CLI. 

**Example**  

```
aws ec2 describe-instance-types \
  --filters "Name=instance-type,Values=*5d.*large*,*6id.*large*" \
  --query "InstanceTypes[?contains(InstanceType,'m5d')||contains(InstanceType,'r5d')||contains(InstanceType,'m6id')||contains(InstanceType,'r6id')][InstanceType, InstanceStorageInfo.TotalSizeInGB]" \
  --output table
```

La commande précédente renvoie la taille brute du périphérique pour le stockage d'instances. RDS for Oracle utilise une petite partie de cet espace pour la configuration. L'espace disponible dans le stockage d'instances pour les espaces de table temporaires ou le cache flash est légèrement plus petit.

### Versions de moteur pris en charge pour le stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.overview.db-versions"></a>

Le stockage d'instances est pris en charge pour les versions de moteur RDS for Oracle suivantes : 
+ Versions 21.0.0.0.ru-2022-01.rur-2022-01.r1 ou versions ultérieures d'Oracle Database 21c
+ Versions 19.0.0.0.ru-2021-10.rur-2021-10.r1 ou versions ultérieures d'Oracle Database 19c

### Pris en charge Régions AWS pour le magasin d'instances RDS pour Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.overview.regions"></a>

Le magasin d'instances est disponible partout Régions AWS où un ou plusieurs de ces types d'instances sont pris en charge. Pour plus d'informations sur les classes d'instance db.m5d et db.r5d, consultez [Classes d'instances de base de données ](Concepts.DBInstanceClass.md). Pour plus d'informations sur les classes d'instance prises en charge par Amazon RDS for Oracle, consultez [Classes d’instance de base de données RDS for Oracle](Oracle.Concepts.InstanceClasses.md).

### Coût du stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.overview.cost"></a>

Le coût du stockage d'instances est intégré au coût du stockage d'instances activé sur les instances. Vous n'encourez aucun coût supplémentaire en activant un stockage d'instances sur une instance de base de données RDS for Oracle. Pour plus d'informations sur le stockage d'instances activé sur les instances, consultez [Classes d'instances prises en charge pour le stockage d'instances RDS for Oracle](#CHAP_Oracle.advanced-features.instance-store.overview.instance-classes).

## Activation d'un stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.Enable"></a>

Pour activer le stockage d'instances pour les données temporaires RDS for Oracle, effectuez l'une des opérations suivantes :
+ Créez une instance de base de données RDS for Oracle à l'aide d'une classe d'instance prise en charge. Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).
+ Modifiez une instance de base de données RDS for Oracle à l'aide d'une classe d'instance prise en charge. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

# Configuration d'un stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.configuring"></a>

Par défaut, 100 % de l'espace de stockage d'instances est alloué à l'espace de table temporaire. Pour configurer le stockage d'instances afin d'allouer de l'espace au cache flash et à l'espace de table temporaire, définissez les paramètres suivants dans le groupe de paramètres de votre instance :

**db\$1flash\$1cache\$1size=\$1DBInstanceStore\$1\$10,2,4,6,8,10\$1/10\$1**  
Ce paramètre indique la quantité d'espace de stockage allouée au cache flash. Ce paramètre n'est valide que pour Oracle Database Enterprise Edition. La valeur par défaut est `{DBInstanceStore*0/10}`. Si vous définissez une valeur différente de zéro pour `db_flash_cache_size`, votre instance RDS for Oracle active le cache flash après le redémarrage de l'instance.

**rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$1\$10,2,4,6,8,10\$1/10\$1**  
Ce paramètre indique la quantité d'espace de stockage allouée à l'espace de table temporaire. La valeur par défaut est `{DBInstanceStore*10/10}`. Ce paramètre est modifiable pour Oracle Database Enterprise Edition et en lecture seule pour Standard Edition 2. Si vous définissez une valeur différente de zéro pour `rds.instance_store_temp_size`, Amazon RDS alloue de l'espace dans le stockage d'instances pour l'espace de table temporaire.  
Vous pouvez définir les paramètres `db_flash_cache_size` et `rds.instance_store_temp_size` pour les instances de base de données qui n'utilisent pas de stockage d'instances. Dans ce cas, les deux paramètres sont évalués sur `0`, ce qui désactive la fonction. Dans ce cas, vous pouvez utiliser le même groupe de paramètres pour différentes tailles d'instance et pour les instances qui n'utilisent pas de stockage d'instances. Si vous modifiez ces paramètres, veillez à redémarrer les instances associées afin que les modifications puissent prendre effet.  
Si vous allouez de l'espace à un espace de table temporaire, Amazon RDS ne crée pas automatiquement l'espace de table temporaire. Pour savoir comment créer l'espace de table temporaire sur le stockage d'instances, consultez [Création d'un espace de table temporaire sur le stockage d'instances](Appendix.Oracle.CommonDBATasks.TablespacesAndDatafiles.md#Appendix.Oracle.CommonDBATasks.creating-tts-instance-store).

La valeur combinée des paramètres précédents ne doit pas dépasser 10/10 ou 100 %. Le tableau suivant présente les paramètres valides et non valides.


| db\$1flash\$1cache\$1size setting | rds.instance\$1store\$1temp\$1size setting | Explication | 
| --- | --- | --- | 
|  db\$1flash\$1cache\$1size=\$1DBInstanceStore\$10/10\$1  |  rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$110/10\$1  |  Il s'agit d'une configuration valide pour toutes les éditions d'Oracle Database. Amazon RDS alloue 100 % de l'espace de stockage d'instances dans l'espace de table temporaire. Il s’agit de l’option par défaut.  | 
|  db\$1flash\$1cache\$1size=\$1DBInstanceStore\$110/10\$1  |  rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$10/10\$1  |  Cette configuration n'est valide que pour Oracle Database Enterprise Edition. Amazon RDS alloue 100 % de l'espace de stockage d'instances dans le cache flash.  | 
|  db\$1flash\$1cache\$1size=\$1DBInstanceStore\$12/10\$1  |  rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$18/10\$1  |  Cette configuration n'est valide que pour Oracle Database Enterprise Edition. Amazon RDS alloue 20 % de l'espace de stockage d'instances au cache flash et 80 % de l'espace de stockage d'instances à l'espace de table temporaire.  | 
|  db\$1flash\$1cache\$1size=\$1DBInstanceStore\$16/10\$1  |  rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$14/10\$1  |  Cette configuration n'est valide que pour Oracle Database Enterprise Edition. Amazon RDS alloue 60 % de l'espace de stockage d'instances au cache flash et 40 % de l'espace de stockage d'instances à l'espace de table temporaire.  | 
|  db\$1flash\$1cache\$1size=\$1DBInstanceStore\$12/10\$1  |  rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$14/10\$1  | Cette configuration n'est valide que pour Oracle Database Enterprise Edition. Amazon RDS alloue 20 % de l'espace de stockage d'instances au cache flash et 40 % de l'espace de stockage d'instances à l'espace de table temporaire. | 
|  db\$1flash\$1cache\$1size=\$1DBInstanceStore\$18/10\$1  |  rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$18/10\$1  |  Cette configuration n'est pas valide car le pourcentage combiné d'espace de stockage d'instances dépasse 100 %. Dans de tels cas, Amazon RDS échoue.  | 

## Considérations relatives à la modification du type d'instance de base de données
<a name="CHAP_Oracle.advanced-features.instance-store.configuring.modifying"></a>

Si vous modifiez votre type d'instance de base de données, cela peut affecter la configuration du cache flash ou de l'espace de table temporaire sur le stockage d'instances. Tenez compte des modifications suivantes et de leurs effets :

**Vous augmentez ou réduisez la taille de l'instance de base de données qui prend en charge le stockage d'instances.**  
Les valeurs suivantes augmentent ou diminuent proportionnellement à la nouvelle taille du stockage d'instances :  
+ La nouvelle taille du cache flash.
+ L'espace alloué aux espaces de table temporaires qui se trouvent dans le stockage d'instances.
Par exemple, le paramètre `db_flash_cache_size={DBInstanceStore*6/10}` d'une instance db.m5d.4xlarge fournit environ 340 Go d'espace de cache flash. Si vous augmentez le type d'instance à db.m5d.8xlarge, l'espace de cache flash augmente jusqu'à environ 680 Go.

**Vous modifiez une instance de base de données qui n'utilise pas de stockage d'instances en une instance qui utilise un stockage d'instances.**  
Si `db_flash_cache_size` est défini sur une valeur supérieure à `0`, le cache flash est configuré. Si `rds.instance_store_temp_size` est défini sur une valeur supérieure à `0`, l'espace de stockage d'instances est alloué pour être utilisé par un espace de table temporaire. RDS for Oracle ne déplace pas les fichiers temporaires vers le stockage d'instances automatiquement. Pour plus d'informations sur l'utilisation de l'espace alloué, consultez [Création d'un espace de table temporaire sur le stockage d'instances](Appendix.Oracle.CommonDBATasks.TablespacesAndDatafiles.md#Appendix.Oracle.CommonDBATasks.creating-tts-instance-store) ou [Ajout d'un fichier temporaire au stockage d'instances sur un réplica en lecture](Appendix.Oracle.CommonDBATasks.using-tempfiles.md#Appendix.Oracle.CommonDBATasks.adding-tempfile-replica).

**Vous modifiez une instance de base de données qui utilise un stockage d'instances en une instance qui n'utilise pas de stockage d'instances.**  
Dans ce cas, RDS for Oracle supprime le cache flash. RDS recrée le fichier temporaire qui se trouve actuellement sur le stockage d'instances d'un volume Amazon EBS. La taille maximale du nouveau fichier temporaire est l'ancienne taille du paramètre `rds.instance_store_temp_size`.

# Utilisation d'un stockage d'instances sur un réplica en lecture Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.replicas"></a>

Les réplicas en lecture prennent en charge le cache flash et les espaces de table temporaires sur un stockage d'instances. Bien que le cache flash fonctionne de la même manière que sur l'instance de base de données principale, notez les différences suivantes pour les espaces de table temporaires :
+ Vous ne pouvez pas créer un espace de table temporaire sur un réplica en lecture. Si vous créez un nouvel espace de table temporaire sur l'instance principale, RDS for Oracle réplique les informations de l'espace de table sans fichiers temporaires. Pour ajouter un nouveau fichier temporaire, utilisez l'une des techniques suivantes :
  + Utiliser la procédure Amazon RDS `rdsadmin.rdsadmin_util.add_inst_store_tempfile`. RDS for Oracle crée un fichier temporaire dans le stockage d'instances de votre réplica en lecture et l'ajoute à l'espace de table temporaire spécifié.
  + Exécutez la commande `ALTER TABLESPACE … ADD TEMPFILE`. RDS for Oracle place le fichier temporaire sur le stockage Amazon EBS.
**Note**  
La taille du fichier temporaire et les types de stockage peuvent être différents sur l'instance de base de données principale et sur le réplica en lecture.
+ Vous pouvez gérer le paramètre d'espace de table temporaire par défaut uniquement sur l'instance de base de données principale. RDS for Oracle réplique le paramètre sur toutes les réplicas en lecture.
+ Vous pouvez configurer le paramètre d'espace de table temporaire par défaut uniquement sur l'instance de base de données principale. RDS for Oracle réplique le paramètre sur toutes les réplicas en lecture.

# Configuration d'un groupe d'espaces de table temporaires sur un stockage d'instances et Amazon EBS
<a name="CHAP_Oracle.advanced-features.instance-store.temp-ebs"></a>

Vous pouvez configurer un groupe d'espaces de table temporaires pour inclure des espaces de table temporaires à la fois sur un stockage d'instances et sur Amazon EBS. Cette technique est utile lorsque vous souhaitez disposer d'un espace de stockage temporaire supérieur à celui autorisé par le paramètre maximum de `rds.instance_store_temp_size`.

Lorsque vous configurez un groupe d'espaces de table temporaires à la fois sur un stockage d'instances et sur Amazon EBS, les deux espaces de table présentent des caractéristiques de performance très différentes. Oracle Database choisit l'espace de table pour traiter les requêtes en fonction d'un algorithme interne. Par conséquent, les requêtes similaires peuvent varier en termes de performances.

En général, vous créez un espace de table temporaire dans le stockage d'instances comme suit :

1. Créez un espace de table temporaire sur le stockage d'instances.

1. Définissez le nouvel espace de table comme l'espace de table temporaire par défaut de la base de données.

Si la taille de l'espace de table dans le stockage d'instances est insuffisante, vous pouvez créer un espace de stockage temporaire supplémentaire comme suit :

1. Attribuez l'espace de table temporaire du stockage d'instances à un groupe d'espaces de table temporaires.

1. Créez un nouvel espace de table temporaire dans Amazon EBS s'il n'en existe pas.

1. Attribuez l'espace de table temporaire dans Amazon EBS au même groupe d'espaces de table qui inclut l'espace de table du stockage d'instances.

1. Définissez le groupe d'espaces de table comme l'espace de table temporaire par défaut.

L'exemple suivant suppose que la taille de l'espace de table temporaire dans le stockage d'instances ne répond pas aux exigences de votre application. L'exemple crée l'espace de table temporaire `temp_in_inst_store` dans le stockage d'instances, l'attribue au groupe d'espaces de table `temp_group`, ajoute l'espace de table Amazon EBS existant nommé `temp_in_ebs` à ce groupe et définit ce groupe comme l'espace de table temporaire par défaut.

```
SQL> EXEC rdsadmin.rdsadmin_util.create_inst_store_tmp_tblspace('temp_in_inst_store');

PL/SQL procedure successfully completed.

SQL> ALTER TABLESPACE temp_in_inst_store TABLESPACE GROUP temp_group;

Tablespace altered.

SQL> ALTER TABLESPACE temp_in_ebs TABLESPACE GROUP temp_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
```

## Suppression d'un stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.Disable"></a>

Pour supprimer le stockage d'instances, modifiez votre instance de base de données RDS for Oracle pour utiliser un type d'instance qui ne prend pas en charge le stockage d'instances, tel que db.m5 ou db.r5.