Raccogliere e analizzare i log delle query

I log delle query contengono potenti informazioni di diagnostica che consentono agli amministratori di analizzare e risolvere i problemi relativi alle prestazioni delle query, agli scenari di errore e ai risultati errati. Quando si abilitano i log delle query in Oracle Analytics, le informazioni sull'analisi, l'ottimizzazione, i piani di esecuzione, le query fisiche, le statistiche di riepilogo e così via vengono scritte nel log delle query.

Accesso ai log delle query

I log delle query vengono scritti in serie nello stesso ordine di esecuzione delle query nel sistema. Ogni sessione e richiesta è identificata da un ID univoco. Gli amministratori possono accedere ai log delle query dalla pagina Log di sessioni e query nella console. Per informazioni su come accedere a questa pagina, vedere Analizzare le query SQL e i log.

Nota:

Gli autori delle cartelle di lavoro possono anche accedere alle informazioni sulle query, ad esempio l'ora della query, l'ora del server e il tempo di streaming per i componenti di visualizzazione nelle cartelle di lavoro. Vedere Accesso ai log delle query per una cartella di lavoro, alla fine di questo argomento.

Livelli di log delle query

  • Il livello di log determina il dettaglio e la quantità di log generato.

  • È possibile impostare il livello di log su sistema, sessione o report.
  • È possibile definire il livello di log globale per il modello semantico (RPD) utilizzando la proprietà Livello di log sistema (in Strumenti, Opzione, Repository) oppure utilizzare la variabile di sessione.

    Segue la descrizione di GUID-8BF38235-E497-4FC9-B4C3-D5E3B11C2991-default.jpg
    .jpg

  • È possibile ignorare il livello di log per un report aggiungendo la variabile LOGLEVEL alla proprietà Prefisso disponibile nella scheda Avanzate del report.

  • Per assicurarsi di ottenere log completi evitando accessi alla cache, è possibile includere la variabile DISABLE_CACHE_HIT=1 insieme a LOGLEVEL.

    Segue la descrizione di GUID-028022F5-7C3F-4EA4-B497-88453DFF4853-default.jpg
    .jpg

  • I valori del livello di log (LOGLEVEL) sono compresi tra 0 e 7.
    • LOGLEVEL=0 significa che il log è disabilitato.
    • LOGLEVEL=7 è il livello di log più alto ed è utilizzato principalmente dal team di sviluppo Oracle.
    • LOGLEVEL=2 è appropriato per il tuning delle prestazioni e la comprensione di base.
    • LOGLEVEL=3 è necessario per risolvere i problemi relativi ai filtri di sicurezza dei dati a livello di riga.
  • A seconda del livello di log, i log delle query contengono informazioni sulla query tra cui la richiesta logica, il piano di navigazione e di esecuzione, la query fisica generata, il tempo di esecuzione, le righe e i byte recuperati in diversi nodi di esecuzione e le informazioni relative alla cache.

Gli amministratori possono estrarre i log delle query dalla pagina Esegui istruzione SQL nella console eseguendo la query con le impostazioni di LOGLEVEL e delle variabili appropriate.

Segue la descrizione di GUID-CE500760-79A2-4D2E-83CA-F401163B111F-default.jpg
.jpg

Lettura di un log delle query

Nella pagina Log di sessioni e query sono elencate tutte le query e le sessioni attualmente attive. Gli amministratori possono accedere a questa pagina dalla console.

Segue la descrizione di GUID-E741680B-8E04-4FBA-9173-4D2F1CAA680E-default.jpg
.jpg

Ogni voce della pagina fornisce l'accesso al log delle query per una determinata query, al livello impostato, ovvero a livello di modello semantico, sessione o report.

Segue la descrizione di GUID-AF2BE54A-CC5E-44C0-88E2-9ADD91B3962C-default.jpg
.jpg

Ogni richiesta dispone di un requestid univoco in Oracle Analytics.

Query SQL logica

Di seguito è riportato un esempio di query SQL logica in Oracle Analytics.

Segue la descrizione di GUID-ACCBD275-1027-48FB-9183-8EB87EB94078-default.jpg
.jpg

Di seguito sono riportate alcune variabili comuni che potrebbero essere incluse in una richiesta SQL logica:

  • QUERY_SRC_CD: indica l'origine della query: richiesta, report, DV, Esegui istruzione SQL e così via.
  • SAW_SRC_PATH: se la query viene salvata, indica il percorso della query nel catalogo.
  • SAW_DASHBOARD: se la query è inclusa in un dashboard, indica il percorso del dashboard nel catalogo.
  • SAW_DASHBOARD_PG: nome della pagina del dashboard.

Richiesta logica

La richiesta logica è la traduzione di una query dal layer di presentazione al layer di modello aziendale e mapping dopo l'aggiunta di filtri di sicurezza, se presenti.

Segue la descrizione di GUID-74E1CA85-56BB-412D-B9F1-468E1D143DFD-default.jpg
.jpg

In base alla richiesta logica, Oracle Analytics decide se la query accede a una cache esistente o se deve essere recuperata dal database.

Segue la descrizione di GUID-AD43A89E-4AC8-4A6A-B30F-167EEA2BAE0F-default.jpg
.jpg

Piano di esecuzione

Il piano di esecuzione è la trasformazione della richiesta logica effettiva in un piano ottimizzato per l'esecuzione. Include un piano di invio per ogni operazione e specifica se l'operazione viene eseguita nel database o in Oracle Analytics. Quando un'operazione viene elaborata in Oracle Analytics, il log delle query indica [for database 0:0,0].

Segue la descrizione di GUID-41665BED-DD61-4056-BEDD-D54D2292BD58-default.jpg
.jpg

Durante l'esecuzione della query, Oracle Analytics effettua esattamente le operazioni incluse in questa struttura. Nei log dettagliati, le informazioni sulle righe elaborate sono disponibili in ogni nodo della struttura di esecuzione.

Segue la descrizione di GUID-58CDEF0F-CE9D-41D7-A639-1F68749074B1-default.jpg
.jpg

Richieste fisiche o di database

In base al piano di esecuzione, Oracle Analytics genera codice SQL fisico da eseguire sul database specificato. Potrebbero essere presenti una o più richieste inviate a uno o più database.

Segue la descrizione di GUID-67BA9E19-057C-4918-A583-C127B2D14F32-default.jpg
.jpg

Per ogni richiesta fisica inviata al database, esiste un log del numero di righe e byte recuperati.

Segue la descrizione di GUID-A103C103-084C-4370-BDB6-0D2728A66DAB-default.jpg
.jpg

Quando sono presenti più query, è possibile usare l'ID query (in questo esempio 1914627) per trovare la corrispondenza con la query esatta registrata nella sezione Sending query to the database. Ciò consente di mappare la query con le righe recuperate quando sono presenti più richieste di database.

Un report può inviare più query a uno o più database a seconda della struttura del report e della definizione del modello semantico. Ad esempio, in questo log delle query viene indicato che sono state inviate 3 query fisiche al database.

Segue la descrizione di GUID-6AD88CC1-CED9-4609-BB30-F6B0F94BB105-default.jpg
.jpg

Il log fornisce informazioni simili alle righe elaborate per tutti i nodi del piano di esecuzione. Infine, vengono registrate le righe inviate al client.

Segue la descrizione di GUID-94913767-718C-44B4-AE6C-6081DD12D8B4-default.jpg
.jpg

Il log include anche un riepilogo finale delle statistiche che include il tempo di esecuzione completo. È possibile correlare il tempo qui indicato per analizzare e diagnosticare problemi relativi alle prestazioni.

Segue la descrizione di GUID-2F47CE96-DFE8-4B4F-940A-3FF9CE336F2A-default.jpg
.jpg

Statistiche di riepilogo

Nel riepilogo del log delle query sono incluse diverse statistiche sui tempi.
  • Tempo trascorso: tempo totale trascorso dalla ricezione della query logica fino alla chiusura del cursore da parte del client. Se il client consente all'utente di scorrere il risultato, come in Oracle Analytics, il cursore potrebbe rimanere aperto per un lungo periodo di tempo fino a quando l'utente non passa a un'altra pagina o non esegue il logout.
  • Tempo di compilazione: tempo utilizzato da Oracle Analytics per generare il piano di esecuzione e le query fisiche dalla query SQL logica.
  • Tempo totale nel server BI: tempo totale in cui il client è in attesa di una risposta. Questo valore include il tempo di esecuzione delle query fisiche, il tempo di attesa durante il recupero e il tempo impiegato in Oracle Analytics per l'esecuzione interna.
  • Tempo di esecuzione: tempo che intercorre tra la ricezione della query logica da parte di Oracle Analytics e il completamento dell'esecuzione della query logica. Questo valore non include il tempo trascorso dopo il completamento dell'esecuzione della query logica, quando il client recupera i risultati.
  • Tempo di risposta: tempo che intercorre tra la ricezione della query logica da parte di Oracle Analytics e la restituzione della prima riga al client.

Considerazioni sui log delle query

  • Attività a thread singolo. In circostanze avverse, è possibile che si verifichi un rallentamento delle prestazioni per livelli di log superiori a 2.

  • I tempi elencati e calcolati si riferiscono al momento in cui le voci vengono scritte nel log e ciò corrisponde quasi sempre al momento in cui si verifica l'evento (ovvero l'attività che ha dato inizio dalla voce del log). A meno che non ci siano altri punti critici che influiscono sulla registrazione.

  • La creazione dei log delle query è a scopo diagnostico e non è destinata alla raccolta delle informazioni sull'uso. Per informazioni sulla registrazione delle informazioni sull'uso, vedere Registrare le informazioni sull'uso.

Accesso ai log delle query per una cartella di lavoro

Solo gli amministratori possono accedere ai log tramite la pagina Log di sessioni e query nella console. Tuttavia, gli autori del contenuto possono accedere alle informazioni dei log per le query di visualizzazione nelle relative cartelle di lavoro tramite il menu Sviluppatore e questo è uno strumento utile per gli autori che desiderano risolvere i problemi di prestazioni delle query. Per accedere allo strumento relativo alle prestazioni per le cartelle di lavoro (opzione di menu Sviluppatore), gli utenti devono attivare Abilita opzioni sviluppatore nel menu Avanzate in Profilo personale.

Segue la descrizione di GUID-1C5E06A4-B442-41CF-9A16-029A8878237B-default.jpg
.jpg

Se abilitata, l'opzione di menu Sviluppatore viene visualizzata nel menu della cartella di lavoro.

Segue la descrizione di GUID-72F0DD44-DD0A-47D4-942B-3E014F122B0F-default.jpg
.jpg

L'opzione Sviluppatore consente agli utenti di visualizzare e analizzare vari log in tempo reale per qualsiasi visualizzazione su uno sfondo. Sotto lo sfondo viene visualizzato un frame distinto con schede diverse per ogni tipo di informazione. Per impostazione predefinita, i log non vengono popolati o aggiornati quando viene eseguita la visualizzazione.

Segue la descrizione di GUID-5D339116-5D5F-4AA2-B16B-82096E0B0D3C-default.jpg
.jpg

Selezionare la visualizzazione che si desidera analizzare e fare clic su Aggiorna per generare i log. Dopo aver effettuato l'aggiornamento, vengono visualizzate varie informazioni relative alla visualizzazione ed è possibile analizzare le informazioni dei log per la visualizzazione specifica. Per analizzare più visualizzazioni, è necessario aggiornarle singolarmente e analizzarle una dopo l'altra.

Segue la descrizione di GUID-5A53D8E3-0776-44DC-ADD9-214C231E172B-default.jpg
.jpg
Con l'opzione Sviluppatore gli autori del contenuto possono analizzare una serie di informazioni, ad esempio i log delle prestazioni, JSON, XML e anche informazioni relative al data set. Ciò significa che possono analizzare i log senza dover accedere come amministratore alla pagina Log di sessioni e query.

Nota:

Il menu Sviluppatore è disponibile solo per le cartelle di lavoro. Per le analisi classiche e i dashboard è possibile accedere ai log delle query mediante la pagina Log di sessioni e query.