

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.

# Real-time Gestion des plans SQL dans RDS pour Oracle
<a name="Oracle.RealTimeSPM"></a>

À partir d'Oracle Database 26ai (26.0.0.0), Amazon RDS for Oracle prend en charge la gestion des plans SQL en temps réel. Cette fonctionnalité empêche les régressions des performances SQL en détectant les modifications du plan d'exécution, en les évaluant par rapport aux plans antérieurs et en sélectionnant le plan le plus performant à partir d'une base de plan SQL selon les besoins. Ce processus est transparent et ne nécessite aucune intervention manuelle.

Pour activer la gestion des plans SQL en temps réel sur RDS pour Oracle, vous `DBMS_SPM.CONFIGURE` devez activer la tâche d'évolution automatique. Vous utilisez ensuite le `rdsadmin.rdsadmin_spm_util` package pour configurer les paramètres de la SYS-owned tâche.

**Topics**
+ [Présentation de](#Oracle.RealTimeSPM.Overview)
+ [Exigences](#Oracle.RealTimeSPM.Requirements)
+ [Permettre la gestion des plans SQL en temps réel](#Oracle.RealTimeSPM.Enabling)
+ [Vérification de la configuration](#Oracle.RealTimeSPM.Verifying)
+ [Désactivation de la gestion des plans SQL en temps réel](#Oracle.RealTimeSPM.Disabling)
+ [procédures rdsadmin\_spm\_util](#Oracle.RealTimeSPM.Procedures)
+ [Surveillance des lignes de base du plan SQL](#Oracle.RealTimeSPM.Monitoring)
+ [Considérations](#Oracle.RealTimeSPM.Considerations)
+ [Ressources connexes](#Oracle.RealTimeSPM.Resources)

## Présentation de
<a name="Oracle.RealTimeSPM.Overview"></a>

Une régression des performances SQL se produit lorsque l'optimiseur Oracle choisit un nouveau plan d'exécution moins performant qu'un plan précédent. Real-time La gestion des plans SQL automatise la détection et la prévention de ces régressions.

Lorsque la gestion des plans SQL en temps réel est activée, la base de données effectue les opérations suivantes :

1. Détecte les modifications du plan d'exécution en temps réel.

1. Évalue les performances du nouveau plan par rapport aux plans précédents.

1. Crée ou met à jour automatiquement les lignes de base du plan SQL.

1. Sélectionne le plan le plus performant pour éviter les régressions.

## Exigences
<a name="Oracle.RealTimeSPM.Requirements"></a>

Pour utiliser la gestion des plans SQL en temps réel, votre instance de base de données doit répondre aux exigences suivantes :
+ Oracle Database 26ai ou supérieur
+ Oracle Enterprise Edition

## Permettre la gestion des plans SQL en temps réel
<a name="Oracle.RealTimeSPM.Enabling"></a>

Pour activer la gestion des plans SQL en temps réel, effectuez les deux étapes suivantes.

### Étape 1 : activer la tâche d'évolution automatique du SPM
<a name="Oracle.RealTimeSPM.Enabling.Step1"></a>

Exécutez l'instruction suivante en tant qu'utilisateur principal ou en tant qu'utilisateur doté du rôle DBA :

```
BEGIN
  DBMS_SPM.CONFIGURE('AUTO_SPM_EVOLVE_TASK', 'AUTO');
END;
/
```

### Étape 2 : configurer les paramètres de la SYS-owned tâche
<a name="Oracle.RealTimeSPM.Enabling.Step2"></a>

La `SYS_AUTO_SPM_EVOLVE_TASK` tâche appartient à SYS. RDS for Oracle fournit le `rdsadmin.rdsadmin_spm_util` package à cette fin.

Définissez cette `ACCEPT_PLANS` valeur pour `TRUE` que la base de données accepte automatiquement les plans évolués :

```
EXEC rdsadmin.rdsadmin_spm_util.set_evolve_task_accept_plans('TRUE');
```

(Facultatif) Définissez la source de plan alternative pour `AUTO` :

```
EXEC rdsadmin.rdsadmin_spm_util.set_evolve_task_alternate_plan_source('AUTO');
```

## Vérification de la configuration
<a name="Oracle.RealTimeSPM.Verifying"></a>

Pour vérifier que la gestion des plans SQL en temps réel est activée, exécutez la requête suivante :

```
SELECT parameter_value
FROM DBA_SQL_MANAGEMENT_CONFIG
WHERE parameter_name = 'AUTO_SPM_EVOLVE_TASK';
```

La requête est renvoyée`AUTO`.

Pour vérifier les paramètres de la tâche, exécutez la requête suivante :

```
SELECT parameter_name, parameter_value
FROM DBA_ADVISOR_PARAMETERS
WHERE task_name = 'SYS_AUTO_SPM_EVOLVE_TASK'
  AND parameter_name IN ('ACCEPT_PLANS', 'ALTERNATE_PLAN_SOURCE');
```

## Désactivation de la gestion des plans SQL en temps réel
<a name="Oracle.RealTimeSPM.Disabling"></a>

Pour désactiver la gestion des plans SQL en temps réel, exécutez l'instruction suivante :

```
BEGIN
  DBMS_SPM.CONFIGURE('AUTO_SPM_EVOLVE_TASK', 'OFF');
END;
/
```

## procédures rdsadmin\_spm\_util
<a name="Oracle.RealTimeSPM.Procedures"></a>

Le `rdsadmin.rdsadmin_spm_util` package fournit les procédures suivantes.


**procédures rdsadmin\_spm\_util**  

| Procédure | Paramètre | Par défaut | Description | 
| --- | --- | --- | --- | 
| `set_evolve_task_accept_plans` | `p_value` | `'TRUE'` | Définit le `ACCEPT_PLANS` paramètre pour`SYS_AUTO_SPM_EVOLVE_TASK`. Les valeurs valides sont `'TRUE'` et `'FALSE'`. | 
| `set_evolve_task_alternate_plan_source` | `p_value` | `'AUTO'` | Définit le `ALTERNATE_PLAN_SOURCE` paramètre pour`SYS_AUTO_SPM_EVOLVE_TASK`. Les valeurs valides sont `'AUTO'`, `'CURSOR_CACHE'`, `'AUTOMATIC_WORKLOAD_REPOSITORY'` et `'SQL_TUNING_SET'`. | 

## Surveillance des lignes de base du plan SQL
<a name="Oracle.RealTimeSPM.Monitoring"></a>

Une fois que vous avez activé la gestion des plans SQL en temps réel, vous pouvez surveiller les lignes de base de plans que la base de données gère automatiquement :

```
SELECT SQL_HANDLE, PLAN_NAME, ENABLED, ACCEPTED, AUTOPURGE
FROM DBA_SQL_PLAN_BASELINES
ORDER BY LAST_MODIFIED DESC;
```

## Considérations
<a name="Oracle.RealTimeSPM.Considerations"></a>

Lorsque vous utilisez la gestion des plans SQL en temps réel, tenez compte des points suivants :
+ Les utilisateurs dotés du rôle DBA peuvent appeler `DBMS_SPM.CONFIGURE` directement. Cette étape ne nécessite pas d'emballage.
+ Les `rdsadmin.rdsadmin_spm_util` procédures sont nécessaires pour configurer les paramètres de la SYS-owned `SYS_AUTO_SPM_EVOLVE_TASK` tâche, car l'utilisateur principal n'a pas un accès direct aux tâches du SYS-owned conseiller.
+ Real-time La gestion des plans SQL fonctionne de manière transparente. Il n'est pas nécessaire de modifier le code de votre application.
+ Les lignes de base du plan SQL consomment de l'espace dans le tablespace SYSAUX. Surveillez l'utilisation de SYSAUX après avoir activé la fonctionnalité.
+ Les valeurs des paramètres transmises à `DBMS_SPM.CONFIGURE` (telles que `'AUTO'` et`'OFF'`) distinguent les majuscules et minuscules. Utilisez des valeurs en majuscules.

## Ressources connexes
<a name="Oracle.RealTimeSPM.Resources"></a>
+ [DBMS\_SPM](https://docs.oracle.com/en/database/oracle/oracle-database/26/arpls/DBMS_SPM.html) dans la documentation de la base de données Oracle
+ [Gestion des lignes de base de plans SQL](https://docs.oracle.com/en/database/oracle/oracle-database/26/tgsql/managing-sql-plan-baselines.html) dans la documentation de la base de données Oracle