Gromadzenie i analizowanie dzienników zapytań

Dzienniki zapytań zawierają rozbudowane informacje diagnostyczne, dzięki którym administratorzy mogą analizować wydajność zapytań, scenariusze błędów i błędne wyniki oraz rozwiązywać dotyczące ich problemy. Po włączeniu dzienników zapytań w Oracle Analytics informacje o analizie składniowej, optymalizacji, planach wykonywania, zapytaniach fizycznych, statystykach podsumowujących itp. są zapisywane w dzienniku zapytań.

Uzyskiwanie dostępu do dzienników zapytań

Dzienniki zapytań są zapisywane seryjnie w kolejności odpowiadającej wykonywaniu zapytań w systemie. Wszystkie sesje i żądania są identyfikowane za pomocą unikatowego identyfikatora. Administratorzy mogą uzyskać dostęp do dzienników zapytań na stronie Dzienniki sesji i zapytań w konsoli. Więcej informacji na temat uzyskiwania dostępu do tej strony, zob. Analizowanie zapytań i dzienników SQL.

Uwaga:

Autorzy skoroszytów mogą również uzyskiwać dostęp do informacji o zapytaniach, takich jak czas zapytania, czas serwera i czas strumieniowania dla składników wizualizacji zawartych w skoroszytach. Zob. Uzyskiwanie dostępu do dzienników zapytań dot. skoroszytu na końcu tego tematu.

Poziomy dziennika zapytań

  • Poziom dziennika określa szczegółowość i ilość generowanych informacji dziennika.

  • Poziom dziennika można ustawić na poziomie systemu, sesji lub raportu.
  • Można zdefiniować globalny poziom dziennika dla modelu semantycznego (RPD) za pomocą właściwości Poziom rejestrowania w dzienniku systemu (w obszarze "Narzędzia", "Opcja", "Repozytorium") lub użyć zmiennej sesyjnej.

    Opis "GUID-8BF38235-E497-4FC9-B4C3-D5E3B11C2991-default.jpg" znajduje się poniżej
    .jpg"

  • Poziom dziennika dot. raportu można zmienić, dodając zmienną LOGLEVEL do właściwości Prefiks, dostępnej na karcie Zaawansowane raportu.

  • Aby zapewnić otrzymywanie kompletnych dzienników, a jednocześnie uniknąć trafień w pamięci podręcznej, można poza zmienną LOGLEVEL uwzględnić zmienną DISABLE_CACHE_HIT=1.

    Opis "GUID-028022F5-7C3F-4EA4-B497-88453DFF4853-default.jpg" znajduje się poniżej
    .jpg"

  • Wartości poziomu dziennika (LOGLEVEL) mieszczą się w zakresie 0-7.
    • LOGLEVEL=0 oznacza, że rejestrowanie w dzienniku jest wyłączone.
    • LOGLEVEL=7 to najwyższy poziom rejestrowania w dzienniku, używany głównie przez zespół programistów Oracle.
    • Poziom LOGLEVEL=2 jest odpowiedni do dostrajania wydajności i do uzyskania podstawowej wiedzy.
    • Poziom LOGLEVEL=3 jest wymagany do rozwiązywania problemów z filtrami zabezpieczeń danych na poziomie wiersza.
  • W zależności od poziomu dzienniki zapytań zawierają informacje o zapytaniu, w tym żądanie logiczne, dane nawigacji i plan wykonania, wygenerowane zapytanie fizyczne, czas wykonywania, wiersze i bajty pobrane w różnych węzłach wykonywania oraz informacje związane z pamięcią podręczną.

Administratorzy mogą wyodrębniać dzienniki zapytań na stronie Wydawanie instrukcji SQL w konsoli, uruchamiając zapytanie z odpowiednimi ustawieniami LOGLEVEL i zmiennych.

Opis "GUID-CE500760-79A2-4D2E-83CA-F401163B111F-default.jpg" znajduje się poniżej
.jpg"

Odczytywanie dziennika zapytań

Na stronie Dzienniki sesji i zapytań znajduje się lista wszystkich obecnie aktywnych zapytań i sesji. Administratorzy mogą uzyskać dostęp do tej strony z poziomu konsoli.

Opis "GUID-E741680B-8E04-4FBA-9173-4D2F1CAA680E-default.jpg" znajduje się poniżej
.jpg"

Każdy wpis na stronie zapewnia dostęp do dziennika zapytań dla konkretnego zapytania na ustawionym poziomie (tj. na poziomie modelu semantycznego, sesji lub raportu).

Opis "GUID-AF2BE54A-CC5E-44C0-88E2-9ADD91B3962C-default.jpg" znajduje się poniżej
.jpg"

Każde żądanie ma unikatowy identyfikator requestid w Oracle Analytics.

Zapytanie logiczne SQL

Oto przykładowe zapytanie logiczne SQL w Oracle Analytics.

Opis "GUID-ACCBD275-1027-48FB-9183-8EB87EB94078-default.jpg" znajduje się poniżej
.jpg"

Oto kilka typowych zmiennych, które mogą występować w żądaniu logicznym SQL:

  • QUERY_SRC_CD: pochodzenie zapytania: filtr monitujący, raport, DV, wydawanie instrukcji SQL itd.
  • SAW_SRC_PATH: jeśli zapytanie zostało zapisane, ścieżka do zapytania w katalogu.
  • SAW_DASHBOARD: jeśli zapytanie jest uwzględnione w pulpicie informacyjnym, ścieżka do pulpitu w katalogu.
  • SAW_DASHBOARD_PG: nazwa strony pulpitu informacyjnego.

Żądanie logiczne

Żądanie logiczne jest tłumaczeniem zapytania z warstwy prezentacji na model biznesowy i warstwę mapowania po dodaniu filtrów zabezpieczeń, jeśli takie istnieją.

Opis "GUID-74E1CA85-56BB-412D-B9F1-468E1D143DFD-default.jpg" znajduje się poniżej
.jpg"

Na podstawie żądania logicznego Oracle Analytics decyduje, czy zapytanie jest trafieniem w istniejącej pamięci podręcznej, czy też musi zostać pobrane z bazy danych.

Opis "GUID-AD43A89E-4AC8-4A6A-B30F-167EEA2BAE0F-default.jpg" znajduje się poniżej
.jpg"

Plan wykonywania

Plan wykonywania to przekształcenie istniejącego żądania logicznego w zoptymalizowany plan jego wykonania. Obejmuje to plan wysyłki dla każdej operacji oraz określenie, czy jest ona wykonywana w bazie danych czy w Oracle Analytics. W przypadku przetwarzania operacji w Oracle Analytics dziennik zapytań zawiera informację [for database 0:0,0].

Opis "GUID-41665BED-DD61-4056-BEDD-D54D2292BD58-default.jpg" znajduje się poniżej
.jpg"

Podczas wykonywania zapytania Oracle Analytics wykonuje dokładnie przejście przez to drzewo. W szczegółowych dziennikach informacje o przetworzonych wierszach są dostępne w poszczególnych węzłach drzewa wykonywania.

Opis "GUID-58CDEF0F-CE9D-41D7-A639-1F68749074B1-default.jpg" znajduje się poniżej
.jpg"

Żądania fizyczne lub do baz danych

Na podstawie planu wykonywania Oracle Analytics generuje fizyczne żądanie SQL do wykonania w określonej bazie danych. Może istnieć jedno lub więcej żądań wysłanych do co najmniej jednej bazy danych.

Opis "GUID-67BA9E19-057C-4918-A583-C127B2D14F32-default.jpg" znajduje się poniżej
.jpg"

Dla każdego żądania fizycznego wysłanego do bazy danych istnieje dziennik zawierający liczbę pobranych wierszy i bajtów.

Opis "GUID-A103C103-084C-4370-BDB6-0D2728A66DAB-default.jpg" znajduje się poniżej
.jpg"

W przypadku wielu zapytań można użyć ID zapytania (w tym przykładzie 1914627), aby uzgodnić dokładne zapytanie zarejestrowane w sekcji Sending query to the database. Umożliwia to mapowanie zapytania z uwzględnieniem pobranych wierszy, gdy istnieje wiele żądań bazy danych.

W zależności od struktury raportu i definicji modelu semantycznego jeden raport może wysyłać wiele zapytań do co najmniej jednej bazy danych. Na przykład w poniższym dzienniku zapytań do bazy danych wysłano 3 zapytania fizyczne.

Opis "GUID-6AD88CC1-CED9-4609-BB30-F6B0F94BB105-default.jpg" znajduje się poniżej
.jpg"

Dziennik zawiera podobne informacje o przetworzonych wierszach dla wszystkich węzłów w planie wykonywania. Na koniec rejestrowane są wiersze wysłane do klienta.

Opis "GUID-94913767-718C-44B4-AE6C-6081DD12D8B4-default.jpg" znajduje się poniżej
.jpg"

Dziennik zawiera również końcowe podsumowanie statystyk, które obejmuje łączny czas wykonywania. W tym miejscu można dokonać korelacji czasu w celu przeanalizowania i zbadania problemów z wydajnością.

Opis "GUID-2F47CE96-DFE8-4B4F-940A-3FF9CE336F2A-default.jpg" znajduje się poniżej
.jpg"

Statystyki podsumowujące

W podsumowaniu dziennika zapytań występuje kilka statystyk dotyczących czasu.
  • Czas, który upłynął - łączny czas od otrzymania zapytania logicznego do zamknięcia kursora przez klienta. Jeśli klient umożliwia użytkownikowi przewijanie wyników, jak to ma miejsce w Oracle Analytics, kursor może pozostać otwarty przez długi czas, dopóki użytkownik nie przejdzie do innej strony lub nie wyloguje się.
  • Czas kompilacji - czas wymagany przez Oracle Analytics do wygenerowania planu wykonywania i zapytań fizycznych na podstawie zapytania logicznego SQL.
  • Łączny czas na serwerze BI - łączny czas oczekiwania klienta na odpowiedź. Obejmuje to czas wykonywania zapytania fizycznego, czas oczekiwania podczas pobierania oraz czas potrzebny na wewnętrzne wykonanie w Oracle Analytics.
  • Czas wykonywania - czas od otrzymania zapytania logicznego przez Oracle Analytics do zakończenia jego wykonywania. Nie obejmuje to czasu pobierania wyników przez klienta po ukończeniu wykonywania zapytania logicznego.
  • Czas odpowiedzi - czas od otrzymania zapytania logicznego przez Oracle Analytics do zwrócenia pierwszego wiersza do klienta.

Kwestie związane z dziennikiem zapytań

  • Działanie jednowątkowe. W niekorzystnych okolicznościach może dojść do spadku wydajności przy poziomach dziennika wyższych niż 2.

  • Podane i obliczone czasy to czasy zapisania wpisów w dzienniku, co prawie zawsze ma miejsce w momencie wystąpienia zdarzenia (tzn. działania, które spowodowało zainicjowanie wpisu dziennika). Wyjątkiem jest sytuacja, gdy istnieją zatory, które wpływają na rejestrowanie w dziennikach.

  • Rejestrowanie zapytań służy do celów diagnostycznych, nie do gromadzenia informacji o użyciu. Więcej informacji o śledzeniu użycia, zob. Śledzenie użycia.

Uzyskiwanie dostępu do dzienników zapytań dot. skoroszytu

Dostęp do dzienników na stronie Dzienniki sesji i zapytań w konsoli mogą uzyskać tylko administratorzy. Autorzy zawartości mogą jednak uzyskiwać dostęp do informacji dziennika dotyczących zapytań odnoszących się do wizualizacji w swoich skoroszytach za pomocą menu Programista. Jest to przydatne narzędzie dla autorów, którzy chcą rozwiązywać problemy związane z wydajnością zapytań. Aby uzyskać dostęp do narzędzia wydajności dla skoroszytów (opcja menu Programista), użytkownicy muszą włączyć opcję Włącz opcje programisty, który znajduje się w menu Zaawansowane w obszarze Mój profil.

Opis "GUID-1C5E06A4-B442-41CF-9A16-029A8878237B-default.jpg" znajduje się poniżej
.jpg"

Po włączeniu tej opcji w menu skoroszytu wyświetlana jest opcja Programista.

Opis "GUID-72F0DD44-DD0A-47D4-942B-3E014F122B0F-default.jpg" znajduje się poniżej
.jpg"

Opcja Programista umożliwia użytkownikom wyświetlanie i analizowanie w trakcie działania różnych dzienników dla dowolnej wizualizacji na kanwie. Poniżej kanwy wyświetlana jest osobna ramka z różnymi kartami dla poszczególnych typów informacji. Domyślnie dzienniki nie są wypełniane ani odświeżane po uruchomieniu wizualizacji.

Opis "GUID-5D339116-5D5F-4AA2-B16B-82096E0B0D3C-default.jpg" znajduje się poniżej
.jpg"

Aby wygenerować dzienniki, należy wybrać wizualizację do przeanalizowania i kliknąć Odśwież. Po odświeżeniu wyświetlane są różne informacje powiązane z wizualizacją i można przeanalizować informacje dziennika dotyczące określonej wizualizacji. Aby przeanalizować wiele wizualizacji, należy odświeżać je pojedynczo i analizować jedna po drugiej.

Opis "GUID-5A53D8E3-0776-44DC-ADD9-214C231E172B-default.jpg" znajduje się poniżej
.jpg"
Dzięki opcji Programista autorzy zawartości mogą analizować szereg informacji, takich jak dzienniki wydajności, JSON, XML, a także informacje powiązane ze zbiorem danych. Oznacza to, że mogą oni analizować dzienniki bez potrzeby dostępu administratora do strony Dzienniki sesji i zapytań.

Uwaga:

Menu Programista jest dostępne tylko w skoroszytach. W przypadku klasycznych analiz i pulpitów dostęp do dzienników zapytań można uzyskać na stronie Dzienniki sesji i zapytań.