Usa SQL Tracing su Autonomous Database sull'infrastruttura Exadata dedicata
Puoi utilizzare SQL Tracing con Autonomous Database sull'infrastruttura Exadata dedicata per identificare l'origine di un carico di lavoro eccessivo del database, ad esempio un'istruzione SQL con carichi elevati nell'applicazione.
Informazioni su SQL Tracing
Quando un'operazione dell'applicazione richiede più tempo del previsto, il recupero di una traccia di tutte le istruzioni SQL eseguite nell'ambito di questa operazione con dettagli quali il tempo impiegato da tale istruzione SQL nelle fasi di analisi, esecuzione e recupero consentirà di identificare e risolvere la causa del problema di prestazioni. Per ottenere questo risultato, puoi utilizzare il trace SQL su un Autonomous Database.
- Iniziare con la configurazione del database per salvare i file SQL Trace. Per ulteriori informazioni, vedere Configura SQL Tracing su Autonomous Database.
- Abilitare quindi il trace SQL. Vedere Abilita SQL Tracing su Autonomous Database.
Nota
L'abilitazione del trace SQL può compromettere le prestazioni dell'applicazione per la sessione mentre la raccolta di trace è abilitata. Questo impatto sulle prestazioni è previsto a causa del sovraccarico dovuto alla raccolta e al salvataggio dei dati di trace. - Per interrompere la raccolta dei dati di trace SQL, è necessario disabilitare il trace SQL. Vedere Disabilita SQL Tracing.
- Quando si disabilita il trace SQL, i dati di trace raccolti durante l'esecuzione della sessione con il trace abilitato vengono scritti nella vista
SESSION_CLOUD_TRACE
della sessione e in un file di trace nel bucket, configurato durante l'impostazione del trace SQL. Per visualizzare i dati di trace sono disponibili due opzioni:- Visualizzare e analizzare i dati di SQL Trace nel file di trace salvato nell'area di memorizzazione degli oggetti cloud. Per ulteriori informazioni, vedere Visualizza file di trace salvato nell'area di memorizzazione degli oggetti cloud in Autonomous Database.
- Visualizzare e analizzare i dati di SQL Trace salvati nella vista
SESSION_CLOUD_TRACE
. Per ulteriori informazioni, vedere Visualizza i dati di trace nella vista SESSION_CLOUD_TRACE su Autonomous Database.
Configurare SQL Tracing su Autonomous Database
Abilita SQL Tracing su Autonomous Database
Nota
L'abilitazione del trace SQL può compromettere le prestazioni dell'applicazione per la sessione mentre la raccolta di trace è abilitata. Questo impatto sulle prestazioni è previsto a causa del sovraccarico dovuto alla raccolta e al salvataggio dei dati di trace.Per abilitare il trace SQL per una sessione di database, effettuare le operazioni riportate di seguito.
Disabilita trace SQL
Visualizza file di trace salvato nell'area di memorizzazione degli oggetti cloud in Autonomous Database
DEFAULT_LOGGING_BUCKET
.
La funzione SQL Trace scrive i dati di trace raccolti nella sessione nell'area di memorizzazione degli oggetti cloud nel seguente formato:
default_logging_bucket/sqltrace/clientID/moduleName/sqltrace_numID1_numID2.trc
Di seguito sono riportati i componenti del nome file.
-
default_logging_bucket: è il valore della proprietà del database
DEFAULT_LOGGING_BUCKET
. Per ulteriori informazioni, vedere Configura SQL Tracing su Autonomous Database. -
clientID
: è l'identificativo del client. Per ulteriori informazioni, vedere Abilita SQL Tracing su Autonomous Database. -
moduleName
: è il nome del modulo. Per ulteriori informazioni, vedere Abilita SQL Tracing su Autonomous Database. -
numID1
_numID2
: sono due identificativi forniti dalla funzione SQL Trace. I valori numericinumID1
enumID2
distinguono in modo univoco ogni nome file di trace dalle altre sessioni utilizzando il trace e la creazione di file di trace nello stesso bucket nello storage degli oggetti cloud.Quando il servizio di database supporta il parallelismo e una sessione esegue una query parallela, la funzione SQL Trace può produrre più file di trace con valori
numID1
enumID2
diversi.
Nota
Quando il trace SQL è abilitato e disabilitato più volte all'interno della stessa sessione, ogni iterazione di trace genera un file di trace separato nell'area di memorizzazione degli oggetti cloud. Per evitare di sovrascrivere i trace precedenti generati nella sessione, i file generati successivamente seguono la stessa convenzione di denominazione e aggiungono un suffisso numerico al nome del file di trace. Questo suffisso numerico inizia con il numero 1 ed è incrementato di 1 per ogni iterazione di trace in seguito.Ad esempio, il nome di un file di trace generato di esempio quando si imposta l'identificativo client su "sql_test"
e il nome del modulo su "modname"
:
sqltrace/sqlt_test/modname/sqltrace_5415_56432.trc
È possibile eseguire TKPROF
per tradurre il file di trace in un file di output leggibile.
Visualizza i dati di trace nella vista SESSION_CLOUD_TRACE su Autonomous Database
SESSION_CLOUD_TRACE
nella sessione in cui è stato abilitato il trace.
SESSION_CLOUD_TRACE
. La vista SESSION_CLOUD_TRACE
include due colonne: ROW_NUMBER
e TRACE
.DESC SESSION_CLOUD_TRACE
Name Null? Type
---------- ----- ------------------------------
ROW_NUMBER NUMBER
TRACE VARCHAR2(32767)
ROW_NUMBER
specifica l'ordinamento per i dati di trace trovati nella colonna TRACE
. Ogni riga di output di trace scritta in un file di trace diventa una riga nella tabella ed è disponibile nella colonna TRACE
.
Dopo aver disabilitato il trace SQL per la sessione, è possibile eseguire le query nella vista SESSION_CLOUD_TRACE
.
SELECT trace FROM SESSION_CLOUD_TRACE ORDERBY row_number;
I dati in SESSION_CLOUD_TRACE
persistono per tutta la durata della sessione. Dopo il logout o la chiusura della sessione, i dati non sono più disponibili.
Se SQL Trace è abilitato e disabilitato più volte all'interno della stessa sessione, SESSION_CLOUD_TRACE
mostra cumulativamente i dati di trace per tutte le iterazioni. Pertanto, la riabilitazione del trace in una sessione dopo la disabilitazione precedente del trace non rimuove i dati di trace prodotti dall'iterazione precedente.