

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Real-time Gestione dei piani SQL in RDS per Oracle
<a name="Oracle.RealTimeSPM"></a>

A partire da Oracle Database 26ai (26.0.0.0), Amazon RDS for Oracle supporta la gestione dei piani SQL in tempo reale. Questa funzionalità impedisce le regressioni delle prestazioni SQL rilevando le modifiche al piano di esecuzione, valutandole rispetto ai piani precedenti e selezionando il piano con le migliori prestazioni dalla linea di base del piano SQL, se necessario. Questo processo è trasparente e non richiede interventi manuali.

Per abilitare la gestione dei piani SQL in tempo reale su RDS for Oracle, è `DBMS_SPM.CONFIGURE` necessario attivare il task di evoluzione automatica. Si utilizza quindi il `rdsadmin.rdsadmin_spm_util` pacchetto per configurare i parametri dell' SYS-owned attività.

**Topics**
+ [Panoramica di](#Oracle.RealTimeSPM.Overview)
+ [Requisiti](#Oracle.RealTimeSPM.Requirements)
+ [Abilitazione della gestione dei piani SQL in tempo reale](#Oracle.RealTimeSPM.Enabling)
+ [Verifica della configurazione](#Oracle.RealTimeSPM.Verifying)
+ [Disattivazione della gestione dei piani SQL in tempo reale](#Oracle.RealTimeSPM.Disabling)
+ [procedure rdsadmin\_spm\_util](#Oracle.RealTimeSPM.Procedures)
+ [Monitoraggio delle baseline del piano SQL](#Oracle.RealTimeSPM.Monitoring)
+ [Considerazioni](#Oracle.RealTimeSPM.Considerations)
+ [Risorse correlate](#Oracle.RealTimeSPM.Resources)

## Panoramica di
<a name="Oracle.RealTimeSPM.Overview"></a>

Una regressione delle prestazioni SQL si verifica quando l'ottimizzatore Oracle sceglie un nuovo piano di esecuzione con prestazioni peggiori rispetto a un piano precedente. Real-time La gestione del piano SQL automatizza il rilevamento e la prevenzione di queste regressioni.

Quando la gestione del piano SQL in tempo reale è abilitata, il database esegue le seguenti operazioni:

1. Rileva le modifiche al piano di esecuzione in tempo reale.

1. Valuta le prestazioni del nuovo piano rispetto ai piani precedenti.

1. Crea o aggiorna automaticamente le baseline del piano SQL.

1. Seleziona il piano con le migliori prestazioni per prevenire le regressioni.

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

Per utilizzare la gestione dei piani SQL in tempo reale, l'istanza DB deve soddisfare i seguenti requisiti:
+ Oracle Database 26ai o versione successiva
+ Oracle Enterprise Edition

## Abilitazione della gestione dei piani SQL in tempo reale
<a name="Oracle.RealTimeSPM.Enabling"></a>

Per abilitare la gestione del piano SQL in tempo reale, completa i due passaggi seguenti.

### Passaggio 1: attiva l'attività SPM evolve automatica
<a name="Oracle.RealTimeSPM.Enabling.Step1"></a>

Esegui la seguente dichiarazione come utente principale o come utente con il ruolo DBA:

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

### Fase 2: Configurare i parametri dell' SYS-owned attività
<a name="Oracle.RealTimeSPM.Enabling.Step2"></a>

L'`SYS_AUTO_SPM_EVOLVE_TASK`attività è di proprietà di SYS. RDS for Oracle fornisce il `rdsadmin.rdsadmin_spm_util` pacchetto per questo scopo.

Impostato `ACCEPT_PLANS` in `TRUE` modo che il database accetti automaticamente i piani evoluti:

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

(Facoltativo) Imposta l'origine alternativa del piano su`AUTO`:

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

## Verifica della configurazione
<a name="Oracle.RealTimeSPM.Verifying"></a>

Per verificare che la gestione del piano SQL in tempo reale sia abilitata, esegui la seguente query:

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

La query restituisce`AUTO`.

Per verificare le impostazioni dei parametri dell'attività, esegui la seguente query:

```
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');
```

## Disattivazione della gestione dei piani SQL in tempo reale
<a name="Oracle.RealTimeSPM.Disabling"></a>

Per disabilitare la gestione del piano SQL in tempo reale, esegui la seguente istruzione:

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

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

Il pacchetto fornisce le seguenti procedure`rdsadmin.rdsadmin_spm_util`.


**Procedure rdsadmin\_spm\_util**  

| Procedura | Parametro | Predefinita | Description | 
| --- | --- | --- | --- | 
| `set_evolve_task_accept_plans` | `p_value` | `'TRUE'` | Imposta il parametro per. `ACCEPT_PLANS` `SYS_AUTO_SPM_EVOLVE_TASK` I valori validi sono `'TRUE'` e `'FALSE'`. | 
| `set_evolve_task_alternate_plan_source` | `p_value` | `'AUTO'` | Imposta il `ALTERNATE_PLAN_SOURCE` parametro per`SYS_AUTO_SPM_EVOLVE_TASK`. I valori validi sono `'AUTO'`, `'CURSOR_CACHE'`, `'AUTOMATIC_WORKLOAD_REPOSITORY'` e `'SQL_TUNING_SET'`. | 

## Monitoraggio delle baseline del piano SQL
<a name="Oracle.RealTimeSPM.Monitoring"></a>

Dopo aver abilitato la gestione dei piani SQL in tempo reale, è possibile monitorare le baseline del piano gestite automaticamente dal database:

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

## Considerazioni
<a name="Oracle.RealTimeSPM.Considerations"></a>

Quando utilizzi la gestione dei piani SQL in tempo reale, considera quanto segue:
+ Gli utenti con il ruolo DBA possono chiamare `DBMS_SPM.CONFIGURE` direttamente. Questo passaggio non richiede un wrapper.
+ Le `rdsadmin.rdsadmin_spm_util` procedure sono necessarie per configurare i parametri dell' SYS-owned `SYS_AUTO_SPM_EVOLVE_TASK`attività, poiché l'utente principale non ha accesso diretto alle attività di SYS-owned advisor.
+ Real-time La gestione dei piani SQL funziona in modo trasparente. Non è necessario modificare il codice dell'applicazione.
+ Le baseline del piano SQL occupano spazio nel tablespace SYSAUX. Monitora l'utilizzo di SYSAUX dopo aver attivato la funzionalità.
+ I valori dei parametri passati a `DBMS_SPM.CONFIGURE` (ad esempio `'AUTO'` e`'OFF'`) fanno distinzione tra maiuscole e minuscole. Utilizza valori in maiuscolo.

## Risorse correlate
<a name="Oracle.RealTimeSPM.Resources"></a>
+ [https://docs.oracle.com/en/database/oracle/oracle-database/26/arpls/DBMS_SPM.html](https://docs.oracle.com/en/database/oracle/oracle-database/26/arpls/DBMS_SPM.html)DBMS\_SPM nella documentazione del database Oracle
+ [Gestione delle ](https://docs.oracle.com/en/database/oracle/oracle-database/26/tgsql/managing-sql-plan-baselines.html) baseline del piano SQL nella documentazione di Oracle Database