View a markdown version of this page

Real-time Gestione del piano 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 del piano 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à previene 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 da una linea di base del piano SQL, in base alle esigenze. Questo processo è trasparente e non richiede un intervento manuale.

Per abilitare la gestione del piano SQL in tempo reale su RDS per Oracle, è DBMS_SPM.CONFIGURE necessario attivare l'attività 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 è abilitata la gestione del piano SQL in tempo reale, 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 linee di base del piano SQL.

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

Requisiti

Per utilizzare la gestione del piano SQL in tempo reale, l'istanza DB deve soddisfare i seguenti requisiti:

  • Oracle Database 26ai o versioni successive

  • 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à Auto SPM Evolve

Esegui la seguente istruzione 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 del piano alternativo 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 del piano 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 linee di base del piano SQL

Dopo aver abilitato la gestione del piano SQL in tempo reale, è possibile monitorare le linee di base 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 del piano 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à dell' SYS-ownedadvisor.

  • Real-time La gestione del piano SQL funziona in modo trasparente. Non è necessario modificare il codice dell'applicazione.

  • Le linee di base del piano SQL occupano spazio nella tablespace SYSAUX. Monitora l'utilizzo di SYSAUX dopo aver abilitato la funzionalità.

  • I valori dei parametri passati a DBMS_SPM.CONFIGURE (come 'AUTO' e'OFF') fanno distinzione tra maiuscole e minuscole. Usa valori in maiuscolo.

Risorse correlate