Protokoly dotazů obsahují důležité diagnostické informace, které správcům umožňují analyzovat a řešit problémy související s výkonem dotazů, chybovými scénáři a nesprávnými výsledky. Když ve službě Oracle Analytics aktivujete protokoly dotazů, budou do protokolu dotazů zapisovány informace o syntaktické analýze, optimalizaci, plánech provádění, fyzickém dotazu, souhrnných statistikách atd.
Přístup k protokolům dotazů
Poznámka:
Autoři sešitů mohou také přistupovat k informacím o dotazech, jako jsou čas dotazu, čas serveru a čas streamování pro komponenty vizualizace v sešitech. Prostudujte si část Přístup k protokolům dotazů pro sešit na konci tohoto tématu.Úrovně protokolů dotazů
Úroveň protokolu určuje míru podrobností a objem generovaného protokolu.
Pro svůj sémantický model (RPD) můžete definovat globální úroveň protokolu pomocí vlastnosti Úroveň protokolování systému (po výběru voleb Nástroje – Volba – Úložiště) nebo můžete použít proměnnou relace.
Úroveň protokolu pro sestavu můžete přepsat přidáním proměnné LOGLEVEL
do vlastnosti Předpona, která je dostupná na kartě Rozšířené pro sestavu.
Chcete-li zajistit získání úplných protokolů tím, že se vyhnete zásahům do paměti cache, můžete kromě proměnné LOGLEVEL
zahrnout i proměnnou DISABLE_CACHE_HIT=1
.
LOGLEVEL
) se pohybují v rozmezí od 0 do 7.
LOGLEVEL=0
je protokolování deaktivováno.LOGLEVEL=7
představuje nejvyšší úroveň protokolování, kterou používá především vývojový tým společnosti Oracle.LOGLEVEL=2
je vhodná pro ladění výkonu a základní porozumění.LOGLEVEL=3
je vyžadována k řešení problémů s filtry zabezpečení dat na úrovni řádků.V závislosti na úrovni protokolu obsahují protokoly dotazů informace o dotazu, včetně logického požadavku, navigace a plánu provádění, fyzicky generovaného dotazu, času provedení, řádků a bajtů načtených v různých uzlech provádění a informací souvisejících s pamětí cache.
Správci mohou získat protokoly dotazů ze stránky Zadat SQL dotaz v konzole spuštěním dotazu s příslušným nastavením proměnné LOGLEVEL
a dalších vyžadovaných proměnných.
Čtení protokolu dotazů
Na stránce Relace a paměť cache dotazů jsou uvedeny všechny aktuálně aktivní dotazy a relace. Správci mohou k této stránce přistupovat z konzoly.
Každá položka na stránce poskytuje přístup k protokolu dotazů pro konkrétní dotaz na nastavené úrovni (tzn. na úrovni sémantického modelu, relace nebo sestavy).
Každý požadavek má ve službě Oracle Analytics přiřazen jedinečný parametr requestid
.
Logický dotaz SQL
Zde je uveden ukázkový logický dotaz SQL ve službě Oracle Analytics.
Jedná se o některé běžné proměnné, s nimiž se můžete setkat v logickém požadavku SQL:
QUERY_SRC_CD
: Původ dotazu: výzva, sestava, DV, funkce Zadat SQL dotaz atd.SAW_SRC_PATH
: Cesta k dotazu v katalogu, pokud je dotaz uložen.SAW_DASHBOARD
: Cesta k panelu v katalogu, pokud je dotaz obsažen v panelu.SAW_DASHBOARD_PG
: Název stránky panelu.Logický požadavek
Logický požadavek je převod dotazu z prezentační vrstvy do vrstvy obchodního modelu a mapování po přidání případných filtrů zabezpečení.
Na základě logického požadavku služba Oracle Analytics rozhodne, zda dotaz bude přistupovat do stávající paměti cache nebo musí být načten z databáze.
Plán provádění
Plán provádění je transformace skutečného logického požadavku na optimalizovaný plán pro provádění. Zahrnuje plán odesílání pro každou operaci a informaci, zda proběhne v databázi nebo ve službě Oracle Analytics. Když je operace zpracována ve službě Oracle Analytics, je v protokolu dotazů uvedeno [for database 0:0,0]
.
Během provádění dotazu služba Oracle Analytics přesně prochází tento strom. V podrobných protokolech jsou informace o zpracovaných řádcích dostupné pro každý uzel stromu provádění.
Fyzické požadavky nebo požadavky na databázi
Na základě plánu provádění generuje služba Oracle Analytics fyzický dotaz SQL, který bude proveden v zadané databázi. Odeslat lze jeden nebo více požadavků do jedné nebo více databází.
Pro každý fyzický požadavek odeslaný do databáze je k dispozici protokol s údaji o počtu načtených řádků a bajtů.
V případě více dotazů můžete použít ID dotazu (v tomto příkladu 1914627
), které musí přesně odpovídat dotazu zaznamenanému v sekci Sending query to the database
. Díky tomu je možné při více požadavcích na databázi mapovat dotaz s načtenými řádky.
Jedna sestava může zaslat více dotazů do jedné nebo více databází v závislosti na struktuře sestavy a definici sémantického modelu. Například podle tohoto protokolu dotazů byly do databáze zaslány 3 fyzické dotazy.
Protokol poskytuje podobné informace o zpracovaných řádcích pro všechny uzly obsažené v plánu provádění. Nakonec jsou do protokolu zaznamenány řádky odeslané klientu.
Protokol také obsahuje konečný souhrn statistik, které zahrnují celkovou dobu provádění. Zde můžete korelovat čas pro analýzu a prošetření potíží s výkonem.
Souhrnné statistiky
Zohlednění protokolů dotazů
Aktivita s jedním vláknem. Za nepříznivých okolností se pro úrovně protokolu vyšší než 2 mohou vyskytnout kritická místa snižující výkon.
Uvedené a vypočítané doby se vztahují k okamžiku zápisu záznamů do protokolu, což je téměř vždy okamžik vzniku události (tj. aktivity, která iniciovala záznam do protokolu). Pokud se nevyskytují jiná kritická místa, která ovlivňují protokolování.
Protokolování dotazů probíhá výhradně z diagnostických důvodů a není určeno ke shromažďování informací o využívání. Více se o sledování využití dozvíte v tématu Sledovat použití.
Přístup k protokolům dotazů pro sešit
K protokolům mohou přistupovat pouze správci, a to prostřednictvím stránky Relace a paměť cache dotazů v konzole. Autoři obsahu nicméně mohou pomocí nabídky Vývojář přistupovat k informacím protokolu pro dotazy týkající se vizualizací v jejich sešitech. Tento užitečný nástroj pomáhá autorům řešit problémy s výkonem dotazů. Pokud chtějí uživatelé přistupovat k nástroji pro výkon sešitů (volba nabídky Vývojář), musí nejprve aktivovat položku Povolit volby pro vývojáře, která se nachází v nabídce Rozšířené v části Můj profil.
Po aktivaci této položky se v nabídce sešitu zobrazí volba Vývojář.
Volba Vývojář umožňuje uživatelům průběžně zobrazovat a analyzovat různé protokoly pro jakoukoli vizualizaci na kanvasu. Pod kanvasem se zobrazí samostatný rámeček s různými kartami pro jednotlivé typy informací. Při výchozím nastavení nejsou protokoly při spuštění vizualizace vyplňovány ani aktualizovány.
Vyberte vizualizaci, kterou chcete analyzovat, a kliknutím na volbu Aktualizovat generujte protokoly. Po aktualizaci se zobrazí různé informace související s vizualizací, takže můžete analyzovat informace protokolu pro konkrétní vizualizaci. Chcete-li analyzovat více vizualizací, musíte je aktualizovat jednotlivě a analyzovat jednu po druhé.
Poznámka:
Nabídka Vývojář je dostupná pouze pro sešity. V případě klasických analýz a panelů můžete k protokolům dotazů přistupovat prostřednictvím stránky Relace a paměť cache dotazů.