

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.

# Configuration des fonctions avancées RDS for Oracle
<a name="CHAP_Oracle.advanced-features"></a>

RDS for Oracle prend en charge diverses fonctions avancées, notamment HugePages, un stockage d'instances et des types de données étendus.

**Topics**
+ [Stockage de données temporaires dans un stockage d'instances RDS for Oracle](CHAP_Oracle.advanced-features.instance-store.md)
+ [Activation de HugePages pour une instance RDS for Oracle](Oracle.Concepts.HugePages.md)
+ [Activation des types de données étendus dans RDS for Oracle](Oracle.Concepts.ExtendedDataTypes.md)

# 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.

# Activation de HugePages pour une instance RDS for Oracle
<a name="Oracle.Concepts.HugePages"></a>

Amazon RDS for Oracle prend en charge la fonctionnalité HugePages du noyau Linux pour obtenir une base de données plus évolutive. HugePages réduit la taille des tables de page et le temps UC de gestion de la mémoire, ce qui augmente les performances des instances de bases de données volumineuses. Pour plus d'informations, consultez [Overview of HugePages (Présentation des grandes pages)](https://docs.oracle.com/database/121/UNXAR/appi_vlm.htm#UNXAR400) dans la documentation Oracle. 

Vous pouvez utiliser HugePages avec toutes les versions et éditions de RDS for Oracle prises en charge.

 Le paramètre `use_large_pages` contrôle si HugePages est activé pour une instance de base de données. Les valeurs possibles pour ce paramètre sont `ONLY`, `FALSE` et `{DBInstanceClassHugePagesDefault}`. Le paramètre `use_large_pages` est défini sur `{DBInstanceClassHugePagesDefault}` dans le groupe de paramètres DB par défaut pour Oracle. 

Pour contrôler si HugePages est activé automatiquement pour une instance de base de données, vous pouvez utiliser la variable de formule `DBInstanceClassHugePagesDefault` dans les groupes de paramètres. La valeur est déterminée comme suit :
+ Pour les classes d'instance de base de données indiquées dans le tableau suivant, `DBInstanceClassHugePagesDefault` a toujours la valeur `FALSE` par défaut, et `use_large_pages` a la valeur `FALSE`. Vous pouvez activer HugePages manuellement pour ces instances de base de données si la classe d'instance de bases de données dispose d'au moins 14 Gio de mémoire.
+ Pour les classes d'instance de base de données non mentionnées dans le tableau suivant, si la classe d'instance de base de données possède au moins 14 Gio de mémoire, `DBInstanceClassHugePagesDefault` a toujours la valeur `FALSE`. En outre, `use_large_pages` a la valeur `FALSE`.
+ Pour les classes d'instance de base de données non mentionnées dans le tableau suivant, si la classe d'instance possède au moins 14 Gio de mémoire et moins de 100 Gio de mémoire, `DBInstanceClassHugePagesDefault` a la valeur `TRUE` par défaut. En outre, `use_large_pages` a la valeur `ONLY`. Vous pouvez désactiver HugePages manuellement en définissant `use_large_pages` sur `FALSE`.
+ Pour les classes d'instance de base de données non mentionnées dans le tableau suivant, si la classe d'instance possède au moins 100 Gio de mémoire, `DBInstanceClassHugePagesDefault` a toujours la valeur `TRUE`. En outre, `use_large_pages` a la valeur `ONLY` et HugePages ne peut pas être désactivé.

HugePages n'est pas activé par défaut pour les classes d'instance de base de données suivantes. 


****  

| Famille de classes d'instance de base de données | Classes d'instance de base de données avec HugePages non activé par défaut | 
| --- | --- | 
|  db.m5  |  db.m5.large  | 
|  db.m4  |  db.m4.large, db.m4.xlarge, db.m4.2xlarge, db.m4.4xlarge, db.m4.10xlarge  | 
|  db.t3  |  db.t3.micro, db.t3.small, db.t3.medium, db.t3.large  | 

Pour plus d'informations sur les classes d'instance DB, consultez [Spécifications matérielles pour les classes d'instances de base de données ](Concepts.DBInstanceClass.Summary.md). 

Pour activer manuellement HugePages pour des instances de bases de données nouvelles ou existantes, définissez le paramètre `use_large_pages` sur `ONLY`. Vous ne pouvez pas utiliser HugePages avec Oracle Automatic Memory Management (AMM). Si vous définissez le paramètre `use_large_pages` sur `ONLY`, vous devez aussi définir `memory_target` et `memory_max_target` sur `0`. Pour plus d'informations sur la définition des paramètres de votre instance de base de données, consultez [Groupes de paramètres pour Amazon RDS](USER_WorkingWithParamGroups.md). 

Vous pouvez aussi définir les paramètres `sga_target`, `sga_max_size` et `pga_aggregate_target`. Lorsque vous définissez les paramètres de mémoire des zones SGA (System Global Area) et PGA (Program Global Area), ajoutez les valeurs ensemble. Soustrayez ce total de votre mémoire d'instance disponible (`DBInstanceClassMemory`) pour déterminer l'espace mémoire libre restant au-delà de l'attribution par HugePages. Vous devez conserver une mémoire libre d'au moins 2 Gio ou égale à 10 pourcent de la mémoire totale disponible de l'instance, la plus petite des deux valeurs étant retenue. 

Après avoir configuré vos paramètres, vous devez redémarrer votre instance de base de données pour que les modifications soient effectives. Pour plus d'informations, consultez [Redémarrage d'une instance de base de données cluster de base de données](USER_RebootInstance.md). 

**Note**  
L'instance de base de données Oracle diffère les modifications apportées aux paramètres d'initialisation liés à la SGA jusqu'à ce que vous redémarriez l'instance sans basculement. Dans la console Amazon RDS, choisissez **Redémarrer**, mais *ne choisissez pas* **Redémarrer avec basculement**. Dans la AWS CLI, appelez la commande `reboot-db-instance` avec le paramètre `--no-force-failover`. L'instance de base de données ne traite pas les paramètres liés à la SGA pendant le basculement ou lors d'autres opérations de maintenance qui provoquent le redémarrage de l'instance.

Voici un exemple de configuration de paramètres pour HugePages activant manuellement HugePages. Vous devez définir les valeurs qui répondent à vos besoins. 

```
1. memory_target            = 0
2. memory_max_target        = 0
3. pga_aggregate_target     = {DBInstanceClassMemory*1/8}
4. sga_target               = {DBInstanceClassMemory*3/4}
5. sga_max_size             = {DBInstanceClassMemory*3/4}
6. use_large_pages          = ONLY
```

Supposons que les valeurs des paramètres suivantes sont définies dans un groupe de paramètres.

```
1. memory_target            = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4})
2. memory_max_target        = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4})
3. pga_aggregate_target     = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*1/8}, 0)
4. sga_target               = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0)
5. sga_max_size             = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0)
6. use_large_pages          = {DBInstanceClassHugePagesDefault}
```

Le groupe de paramètres est utilisé par une classe d'instance de base de données db.r4 dotée de moins de 100 Gio de mémoire. Avec ces paramètres et `use_large_pages` défini sur `{DBInstanceClassHugePagesDefault}`, HugePages est activé sur l'instance db.r4.

Supposons que les valeurs des paramètres suivantes sont définies dans un groupe de paramètres.

```
1. memory_target           = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4})
2. memory_max_target       = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4})
3. pga_aggregate_target    = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*1/8}, 0)
4. sga_target              = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0)
5. sga_max_size            = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0)
6. use_large_pages         = FALSE
```

Le groupe de paramètres est utilisé par une classe d'instance de base de données db.r4 et une classe d'instance de base de données db.r5, toutes deux avec plus de 100 Gio de mémoire. Avec ces paramètres, HugePages est désactivé sur les instances db.r4 et db.r5.

**Note**  
Si ce groupe de paramètres est utilisé par une classe d'instance de base de données db.r4 ou db.r5 avec au moins 100 Gio de mémoire, la valeur de `FALSE` pour `use_large_pages` est remplacée et définie sur `ONLY`. Dans ce cas, une notification concernant le remplacement est envoyée au client.

Lorsque HugePages est activé sur votre instance de base de données, vous pouvez afficher les informations sur HugePages en activant la surveillance améliorée. Pour de plus amples informations, consultez [Surveillance des métriques du système d’exploitation à l’aide de la Surveillance améliorée](USER_Monitoring.OS.md). 

# Activation des types de données étendus dans RDS for Oracle
<a name="Oracle.Concepts.ExtendedDataTypes"></a>

Amazon RDS for Oracle prend en charge les types de données étendus. Avec les types de données étendus, la taille maximale est de 32 767 octets pour les types de données `VARCHAR2`, `NVARCHAR2` et `RAW`. Pour utiliser les types de données étendus, définissez le paramètre `MAX_STRING_SIZE` sur `EXTENDED`. Pour plus d'informations, consultez [Extended Data Types](https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF55623) dans la documentation Oracle. 

Si vous ne souhaitez pas utiliser les types de données étendus, gardez le paramètre `MAX_STRING_SIZE` défini sur `STANDARD` (par défaut). Dans ce cas, les limites de taille sont 4 000 octets pour les types de données `VARCHAR2` et `NVARCHAR2`, et 2 000 octets pour le type de données RAW.

Vous pouvez activer les types de données étendus sur une instance de base de données nouvelle ou existante. Pour les nouvelles instances de base de données, la durée nécessaire pour créer une instance de base de données est généralement plus longue lorsque vous activez les types de données étendus. Pour les instances de base de données existantes, l'instance de base de données n'est pas disponible pendant le processus de conversion.

## Considérations relatives aux types de données étendus
<a name="Oracle.Concepts.ExtendedDataTypes.considerations"></a>

Tenez compte des points suivants lorsque vous activez des types de données étendus pour votre instance de base de données :
+ Lorsque vous activez les types de données étendus pour une instance de base de données nouvelle ou existante, vous devez redémarrer l’instance pour que la modification prenne effet. 
+ Après avoir activé les types de données étendus, vous ne pouvez pas modifier l’instance de base de données pour qu’elle utilise à nouveau la taille standard pour les types de données. Si vous redéfinissez le paramètre `MAX_STRING_SIZE` à nouveau sur `STANDARD`, cela entraîne le statut `incompatible-parameters`.
+ Lorsque vous restaurez une instance de base de données qui utilise des types de données étendus, vous devez spécifier un groupe de paramètres avec le paramètre `MAX_STRING_SIZE` défini sur `EXTENDED`. Pendant la restauration, si vous spécifiez le groupe de paramètres par défaut ou tout autre groupe de paramètres avec le paramètre `MAX_STRING_SIZE` défini sur `STANDARD` le statut devient `incompatible-parameters`.
+ Lorsque l'état de l'instance de base de données est `incompatible-parameters` à cause du paramètre `MAX_STRING_SIZE`, l'instance de base de données reste indisponible jusqu'à ce que le paramètre `MAX_STRING_SIZE` soit défini sur `EXTENDED` et que l'instance de base de données soit redémarrée.

## Activation des types de données étendus pour une nouvelle instance de base de données
<a name="Oracle.Concepts.ExtendedDataTypes.CreateDBInstance"></a>

Lorsque vous créez une instance de base de données avec `MAX_STRING_SIZE` défini sur `EXTENDED`, l’instance affiche `MAX_STRING_SIZE` défini sur la valeur par défaut `STANDARD`. Redémarrez l’instance pour activer la modification.

**Activer les types de données étendus pour une nouvelle instance de base de données**

1. Définissez le paramètre `MAX_STRING_SIZE` sur `EXTENDED` dans un groupe de paramètres.

   Pour définir le paramètre, vous pouvez créer un groupe de paramètres de base de données ou modifier un groupe de paramètres existant.

   Pour plus d’informations, consultez [Groupes de paramètres pour Amazon RDS](USER_WorkingWithParamGroups.md).

1. Créez une nouvelle instance de base de données RDS for Oracle.

   Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).

1. Associez le groupe de paramètres avec `MAX_STRING_SIZE` défini sur `EXTENDED` à l'instance de base de données.

   Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).

1. Redémarrez l'instance de base de données pour que la modification des paramètres prenne effet.

   Pour plus d’informations, consultez [Redémarrage d'une instance de base de données cluster de base de données](USER_RebootInstance.md).

## Activation des types de données étendus pour une instance de base de données existante
<a name="Oracle.Concepts.ExtendedDataTypes.ModifyDBInstance"></a>

Lorsque vous modifiez une instance de base de données afin d'activer les types de données étendus, RDS convertit les données de la base de données afin d'utiliser les tailles étendues. La conversion et les temps d'arrêt interviennent lors du prochain redémarrage de la base de données après la modification du paramètre. L'instance de base de données n'est pas disponible pendant la conversion. 

La durée nécessaire pour convertir les données dépend de la classe d'instances de base de données, de la taille de la base de données et de l'heure du dernier instantané de base de données. Pour réduire les temps d'arrêt, pensez à prendre un instantané juste avant le redémarrage. Cela permet de raccourcir la durée de la sauvegarde qui a lieu pendant le flux de travail de conversion.

**Note**  
Une fois que vous avez activé les types de données étendus, vous ne pouvez pas effectuer de point-in-time restauration à un moment donné pendant la conversion. Vous pouvez restaurer au moment précédant immédiatement la conversion ou au moment suivant immédiatement la conversion.

**Activer les types de données étendus pour une instance de base de données existante**

1. Créez un instantané de la base de données.

   S'il existe des objets no valides dans la base de données, Amazon RDS tente de les recompiler. La conversion en vue d'activer les types de données étendus peut échouer si Amazon RDS ne peut pas recompiler un objet non valide. L'instantané vous permet de restaurer la base de données en cas de problème avec la conversion. Vérifiez toujours la présence d'objets non valides avant la conversion afin d'y apporter une solution ou de les supprimer. Pour les bases de données de production, nous vous conseillons d'abord de tester le processus de conversion sur une copie de votre instance de base de données.

   Pour plus d'informations, consultez [Création d’un instantané de base de données pour une instance de base de données mono-AZ pour Amazon RDS](USER_CreateSnapshot.md).

1. Définissez le paramètre `MAX_STRING_SIZE` sur `EXTENDED` dans un groupe de paramètres.

   Pour définir le paramètre, vous pouvez créer un groupe de paramètres de base de données ou modifier un groupe de paramètres existant.

   Pour plus d'informations, consultez [Groupes de paramètres pour Amazon RDS](USER_WorkingWithParamGroups.md).

1. Modifiez l'instance de base de données afin de l'associer au groupe de paramètres avec le paramètre `MAX_STRING_SIZE` défini sur `EXTENDED`.

   Pour plus d'informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

1. Redémarrez l'instance de base de données pour que la modification des paramètres prenne effet.

   Pour plus d'informations, consultez [Redémarrage d'une instance de base de données cluster de base de données](USER_RebootInstance.md).