View a markdown version of this page

Real-time Gestione dei piani SQL in RDS per Oracle - Amazon Relational Database Service

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

Panoramica di

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.

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

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

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

Requisiti

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

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

Passaggio 1: attiva l'attività SPM evolve automatica

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à

L'SYS_AUTO_SPM_EVOLVE_TASKattività è 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 suAUTO:

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

Verifica della configurazione

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

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

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

Il pacchetto fornisce le seguenti procedurerdsadmin.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 perSYS_AUTO_SPM_EVOLVE_TASK. I valori validi sono 'AUTO', 'CURSOR_CACHE', 'AUTOMATIC_WORKLOAD_REPOSITORY' e 'SQL_TUNING_SET'.

Monitoraggio delle baseline del piano SQL

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

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_TASKattività, 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