Analizzare SQL con SQL tuning advisor
È possibile utilizzare SQL tuning advisor per analizzare e sottoporre a tuning le istruzioni SQL.
Il tuning SQL è un aspetto importante del tuning delle prestazioni del sistema di database. SQL tuning advisor è un meccanismo per la risoluzione dei problemi relativi all'esecuzione ottimale delle istruzioni SQL. Per l'input sono necessarie una o più istruzioni SQL o un SQL Tuning Set (STS) e viene richiamato l'ottimizzatore di tuning automatico per analizzare le istruzioni. Il risultato è sotto forma di risultati e raccomandazioni, insieme a una motivazione per ogni raccomandazione e ai suoi benefici attesi. I suggerimenti di tuning includono quanto segue ed è possibile scegliere di accettare i suggerimenti per completare il tuning delle istruzioni SQL.
- Raccolta di statistiche oggetto
- Creazione di indici
- Riscrittura delle istruzioni SQL
- Creazione di profili SQL
- Creazione di baseline del piano SQL
Per ulteriori informazioni sui singoli elementi, vedere i riferimenti riportati di seguito.
- SQL Tuning Advisor, vedere About SQL Tuning Advisor nel manuale Oracle Database SQL Tuning Guide.
-
STS e come crearne uno, vedere Capturing Workloads in SQL Tuning Sets in Oracle Database SQL Tuning Guide.
In Diagnostica e gestione di Gestione database è possibile utilizzare SQL Tuning Advisor per analizzare le istruzioni SQL in un database gestito.
SQL tuning advisor è disponibile solo per Oracle Database Enterprise Edition versione 12.2 e successive e se il parametro di inizializzazione
COMPATIBLE
è impostato per il database, deve corrispondere alla versione 12.2.0 e successive. Per informazioni sulla compatibilità del database, vedere What Is Oracle Database Compatibility? nella Oracle Database Upgrade Guide.
Di seguito sono riportati i passi principali coinvolti nell'utilizzo di SQL Tuning Advisor in Diagnostica e gestione.
- Selezionare l'input ed eseguire SQL Tuning Advisor: l'input (istruzioni SQL o un STS) per SQL Tuning Advisor può essere selezionato utilizzando una delle opzioni riportate di seguito e sottomesso come task di SQL Tuning.
-
Andare a Hub delle prestazioni, selezionare uno o più ID SQL nella scheda analitica ASH, quindi fare clic su Esegui tuning SQL.
-
Fare clic su Sottoponi a tuning SQL nella sezione Task di SQL tuning advisor e selezionare le istruzioni SQL o un STS. Tenere presente che per poter selezionare singole istruzioni SQL come input, è necessario selezionare prima le istruzioni SQL nella scheda Analitica ASH in Hub delle prestazioni.
-
Abilitare il tuning SQL automatico nel database. Tenere presente che Diagnostics & Management non supporta la configurazione automatica di SQL tuning advisor, tuttavia, se SQL tuning advisor è configurato per l'esecuzione automatica nel database, il task di SQL tuning automatico e i risultati e i suggerimenti vengono visualizzati anche in Diagnostica e gestione. Per informazioni su come configurare SQL tuning advisor come task automatico, vedere Gestione del task di tuning SQL automatico in Oracle Database SQL Tuning Guide.
-
- Visualizzare i risultati: i risultati di SQL tuning advisor vengono visualizzati nella sezione Task di SQL tuning advisor della pagina Dettagli del database gestito.
- Implementare i suggerimenti: i risultati e i suggerimenti di SQL tuning advisor sono disponibili nella pagina Dettagli task di SQL tuning advisor ed è possibile rivedere queste informazioni e scegliere di implementare i suggerimenti.
Ruolo e privilegi necessari per utilizzare SQL Tuning Advisor
Per eseguire i task nel workflow di SQL tuning advisor sono necessari i privilegi amministrativi di Oracle Database. È inoltre necessario assegnare il ruolo e i privilegi riportati di seguito.
GRANT SELECT_CATALOG_ROLE <following privileges> TO <admin user>
ADVISOR
CREATE JOB
CREATE SESSION
SELECT ANY DICTIONARY
INHERIT ANY PRIVILEGES
ADMINISTER SQL TUNING SET TO <SQLTUNEUSER>
Per ulteriori informazioni sui ruoli e sui privilegi di Oracle Database, vedere Configuring Privilege and Role Authorization in Oracle Database Security Guide.
Esegui SQL tuning advisor
Come primo passo, è necessario eseguire SQL tuning advisor sulle istruzioni SQL selezionate o su STS.
Per accedere al pannello Esegui SQL tuning advisor della pagina Dettagli database gestito del database gestito, è possibile utilizzare una delle opzioni riportate di seguito.
-
Fare clic su Hub delle prestazioni e, nella scheda Analitica ASH, scorrere fino agli ID SQL elencati nella sezione ID SQL per classe di attesa (vista predefinita), selezionare una o più istruzioni SQL e fare clic su Esegui tuning SQL.
Nota
Hub delle prestazioni per database gestiti supporta solo Oracle Database Enterprise Edition e la disponibilità delle funzioni Hub delle prestazioni dipende dal tipo e dalla versione di Oracle Database e richiede determinati privilegi aggiuntivi. Per informazioni su tutte le condizioni che influiscono sull'uso dell'hub delle prestazioni per i database gestiti, vedere OCI: Prerequisite Conditions for Performance Hub (KB59684) in My Oracle Support. -
Fare clic su SQL Tuning Advisor nel riquadro sinistro in Risorse e fare clic su Sintonizza SQL nella sezione Task di SQL tuning advisor.
Nel pannello Esegui SQL tuning advisor:
Visualizza risultati di SQL Tuning Advisor
Durante l'esecuzione di SQL tuning advisor, è possibile visualizzarne i risultati e i suggerimenti in Diagnostica e gestione.
Dopo aver eseguito SQL Tuning Advisor sulle istruzioni SQL selezionate o su un STS, il task di SQL Tuning viene visualizzato nella sezione Task di SQL Tuning Advisor. Tenere presente che se SQL tuning advisor è configurato per l'esecuzione automatica nel database, vengono visualizzati anche i task di SQL tuning automatico. Per ogni task di tuning SQL, è possibile fare clic sull'icona Azioni () e fare clic sull'opzione Riesegui task di tuning SQL per rieseguire il task di tuning SQL, se necessario.
Fare clic sul nome del task SQL tuning per andare alla pagina Dettagli task di SQL tuning advisor. I risultati e i suggerimenti di SQL tuning advisor vengono visualizzati nelle schede riportate di seguito nella pagina Dettagli task di SQL tuning advisor.
- Scheda Riepilogo: consente di visualizzare un riepilogo grafico del task e dei risultati forniti da SQL Tuning Advisor.
- Istruzioni SQL distinte esaminate: le istruzioni SQL esaminate da SQL Tuning Advisor sono raggruppate nelle categorie SQL esaminato con risultati, SQL saltato a causa di errori e SQL esaminato senza risultati e visualizzate in un grafico di ciambella. Si noti che se l'istruzione SQL è stata eseguita più volte, viene presa in considerazione una sola esecuzione (distinta) durante il periodo di tempo dell'analisi.
- Vantaggio per i suggerimenti profilo SQL: il vantaggio dei suggerimenti profilo SQL in tempo DB (in secondi) viene visualizzato nei grafici a barre. I grafici a barre dispongono di barre prima e dopo, che indicano rispettivamente il tempo DB effettivo e il tempo DB migliorato. Se i suggerimenti del profilo SQL vengono forniti ma non implementati, viene visualizzato un singolo grafico benefit Potenziale, se i suggerimenti del profilo SQL vengono implementati parzialmente, vengono visualizzati i grafici benefit Potenziale e Implementato e se i suggerimenti del profilo SQL vengono implementati completamente, viene visualizzato solo il grafico benefit Implementato.
- Ricerche con suggerimenti per tipo: i risultati di SQL tuning advisor con suggerimenti vengono classificati in base al tipo e visualizzati in un grafico a barre.
- Scheda Risultati SQL: consente di visualizzare i risultati e implementare i suggerimenti di SQL Tuning Advisor. È possibile visualizzare la lista delle istruzioni SQL e le informazioni corrispondenti in base all'analisi eseguita da SQL Tuning Advisor. Ciò include i vantaggi stimati in termini di prestazioni e i risultati con raccomandazioni. È possibile selezionare una singola istruzione SQL per visualizzare i suggerimenti specifici per ogni risultato, le motivazioni e il vantaggio previsto se viene implementato un suggerimento. In questa scheda è possibile utilizzare le opzioni disponibili per implementare tutti i suggerimenti del profilo SQL, implementare un singolo suggerimento e confrontare gli explain plan.
- Scheda SQL senza risultati: consente di visualizzare le istruzioni SQL saltate perché non si tratta di risultati o suggerimenti, errori o se si è verificato il timeout del task.
Implementa suggerimenti di SQL tuning advisor
È possibile creare job per implementare i suggerimenti di SQL tuning advisor.
A tale scopo, andare alla pagina Dettagli task di SQL tuning advisor e visualizzare i risultati e i suggerimenti dell'analisi di SQL tuning advisor nella scheda Risultati SQL. In questa scheda è possibile creare un job per implementare tutti i suggerimenti del profilo SQL o implementare un singolo profilo SQL, indice o suggerimento correlato alle statistiche e confrontare gli explain plan. È inoltre possibile visualizzare i risultati di ristrutturazione SQL, piano alternativo e vari. Tuttavia, l'opzione per implementare la ristrutturazione SQL e i suggerimenti del piano alternativo non è disponibile. Per informazioni sulla ristrutturazione di piani SQL e alternativi, vedere SQL Structural Analysis e Alternative Plan Analysis in Oracle Database SQL Tuning Guide.

Implementa tutti i suggerimenti sul profilo SQL
Per implementare un singolo suggerimento di profilo SQL, selezionare una singola istruzione SQL, scorrere fino alla sezione Implementa un suggerimento per l'ID SQL: <ID SQL>, quindi fare clic sull'icona Azioni () nella riga profilo SQL e fare clic su Implementa suggerimento.
Per informazioni sui profili SQL, vedere Informazioni sui profili SQL in Oracle Database SQL Tuning Guide.
Implementa suggerimento indice
Implementa suggerimento statistiche
Confronta explain plan
SELECT
, UPDATE
, INSERT
e DELETE
. Il piano di esecuzione di un'istruzione è la sequenza di operazioni che Oracle esegue per eseguire l'istruzione.
Per visualizzare e confrontare gli explain plan, procedere come segue.