Korzystanie ze śledzenia użycia z blokami inicjalizacyjnymi

W tym temacie przedstawiono wskazówki dotyczące pracy z blokami inicjalizacyjnymi i śledzeniem użycia w Oracle Analytics.

Włączanie śledzenia użycia

Po ukończeniu początkowej rundy optymalizowania bloków inicjalizacyjnych zmiennych sesyjnych należy włączyć śledzenie użycia bloków inicjalizacyjnych, aby lepiej poznać ich wydajność. Zob. Utrzymywanie bloków inicjalizacyjnych.

W tym temacie przedstawiono nazwy tabel używanych na potrzeby śledzenia użycia w Oracle BI Enterprise Edition (OBIEE). Rzeczywiste nazwy mogą być dowolne, ale powinny wskazywać rodzaj zawartości każdej tabeli, na przykład PHYSICAL, LOGICAL lub INITBLOCK.

Aby rozpocząć śledzenie użycia, należy włączyć śledzenie użycia w sekcji Ustawienia systemowe, a następnie ponownie uruchomić serwer Business Intelligence (BI). Zob. Opcje śledzenia użycia.

Opis "GUID-D445800B-2905-4256-9171-C6C870470874-default.png" znajduje się poniżej
.png"

Monitorowanie bloków inicjalizacyjnych

Po włączeniu śledzenia użycia należy zalogować się do Oracle Analytics. Wszystkie nieodroczone bloki inicjalizacyjne zmiennych sesyjnych są uruchamiane podczas logowania, a ich danymi wypełniana jest tabela śledzenia użycia bloków inicjalizacyjnych.

Korzystając z aplikacji SQL Developer, SQL*Plus lub z innego narzędzia do wprowadzania kodu SQL, uruchomić następujące zapytanie względem tabeli śledzenia użycia bloków inicjalizacyjnych, przy czym użyć identyfikatora SESSION_ID uzyskanego z dziennika sesji (na przykład -1883570176).

SELECT USER_NAME, SESSION_ID, BLOCK_NAME,
TO_CHAR(START_TS,'DD-MM-YYYY HH24:MI:SS') START_TIME,
TO_CHAR(END_TS,'DD-MM-YYYY HH24:MI:SS') END_TIME
FROM USAGE_TRACKING.S_NQ_INITBLOCK
WHERE SESSION_ID = -1883570176
ORDER BY SESSION_ID, START_TS, END_TS

Nie należy filtrować przy użyciu wartości USER_NAME. Zamiast tego należy zanotować wartości START_TIME i USER_NAME z tego wiersza w dzienniku sesji, który interesuje użytkownika.

Przefiltrować zapytanie przy użyciu identyfikatora SESSION_ID powiązanego z wartością USER_NAME oraz opcjonalnie z wartością START_TIME.

Na poniższym rysunku pokazano wynik zapytania w tabeli.

Opis "GUID-BFE84076-ABBE-4DDE-835A-48AEEAE8B576-default.jpg" znajduje się poniżej
.jpg"

W tabeli tej widać, że wywołania SIGNING ON i SIGNED ON trwały dwanaście sekund. Następnie w wywołaniu SIGNED OFF widać, że użytkownik wylogował się po 21 minutach aktywności. Administratorzy mogą dokładnie zobaczyć, jak długo trwa wykonywanie poszczególnych zadań, i ustalić, gdzie są potrzebne czynności naprawcze.

Funkcja śledzenia użycia bloków inicjalizacyjnych wykonuje następujące trzy wywołania systemowe podczas sesji użytkownika:
  • SIGNING ON
  • SIGNED ON
  • SIGNED OFF

Uwaga:

Jeśli nie są badane konkretne problemy z logowaniem, można zignorować trzy bloki o nazwach SIGNING ON, SIGNED ON i SIGNED OFF. SESSION_ID może być liczbą ujemną. Istnieją dwie różne wartości USER_NAME dla takiego samego identyfikatora SESSION_ID: "BISystemUser" oraz rzeczywista nazwa użytkownika.

Bloki inicjalizacyjne można określić jako odroczone. Są one uruchamiane w razie potrzeby przy użyciu pierwotnej nazwy użytkownika. Wszystkie nieodroczone bloki inicjalizacyjne zmiennych sesyjnych są uruchamiane podczas logowania się użytkownika, a ich danymi wypełniana jest tabela śledzenia użycia bloków inicjalizacyjnych. Są one uruchamiane przy użyciu nazwy użytkownika "BISystemUser".