Projektowanie > Narzędzia > Kontrole > Baza danych > Indeks szukania 

Czasem ze względów operacyjnych niektóre indeksy bazy danych Adonix X3 nie są tworzone we właściwy sposób w danym folderze. Może to mieć miejsce na przykład jeżeli w danym momencie brak jest miejsca w tabeli tymczasowej w Oracle – podczas ponownego zatwierdzania folderu lub przy zmianie struktury tabeli. Po stronie bazy danych błędy produkcyjne powodują utworzenie plików log, które służą jako ostrzeżenie dla osoby korzystającej z bazy danych.

Tego typu błędy nie uniemożliwiają działania oprogramowaniu ADPNIX X3, jednak mogą spowodować opóźnienia w odpowiedzi. To narzędzia zostało również zaprojektowane w celu sprawdzania w przypadku pogorszenia czasu odpowiedzi czy odpowiednie indeksy zostały utworzone.

Przeprowadzane testy to:

  • W pierwszej kolejności sprawdzana się czy indeksy opisane w słowniku danych X3 (to test podstawowy i to jego wynik jest istotny), które nie zostały wyłączone poprzez kod czynności, rzeczywiście figurują w bazie danych.
  • Prezentowana jest lista indeksów, które nie istnieją, ponieważ tabela jest nieaktywna w bieżącym folderze. Obecność elementu na liście nie świadczy o problemie. Taka sytuacja występuje zazwyczaj w przypadku katalogu głównego, gdzie działające tabele są prezentowane w słowniku, ale nie są walidowane z tym folderem.
  • Przedstawiana jest lista wewnętrznych indeksów Adonix. Są to indeksy wewnętrznych tabeli Adonix, które nie są opisane w słowniku. Tak jest przykładowo w przypadku indeksu tabel SYSBLBK oraz SYSCLBK po stronie Oracle.
  • Lista indeksów istniejących bez opisu w słowniku danych musi być obecna. Lista nie jest zazwyczaj pusta, ale nie powoduje to wydłużenia czasu odpowiedzi. Na przykład znajdują się tu tabele powstałe z poprzedniej wersji głównej Adonix X3, które nie zostały usunięte automatycznie ze względów bezpieczeństwa, czy indeksy tabel odłączonych przez zastosowanie kodu czynności (w tym przypadku tworzona tabela jest pusta).
  • Odnaleziono indeksy, w przypadku których nazwa nie jest zgodna z zasadą nazewnictwa ADONIX (indeks o nazwie NOMTABLE_NOMINDEX). Takie indeksy mogą być z powodzeniem wykorzystywane przez inne programy, które bezpośrednio łączą się z bazą danych.

To narzędzie, które tworzy log, działa zarówno z bazą danych Oracle, jak i bazą danych SQLserver. Typ bazy danych określany jest automatycznie i cytowany jest w logu.

Podsumowanie napotkanych kwestii oraz odpowiednie numery indeksów wyświetlane są w końcowej części logu. W podsumowaniu prezentowane są również indeksy związane z obiektami długimi (clob/blob) w przypadku bazy danych Oracle.

Zarządzanie ekranem

Funkcja uruchamiana jest poprzez wybranie opcji Tak w wyświetlanym oknie potwierdzenia. Następnie, wyświetlany jest log.

Poniżej przedstawiono przykład logu, który może zostać wygenerowany.

Przykład logu utworzonego przy pomocy funkcji

Lista indeksów słownika, które nie istnieją w Oracle
********************************************************************************
Opis indeksu tabeli
--------------------------------------------------------------------------------
AABREV AAB1 MOT
ABANK ABN0 CRY+BAN
--------------------------------------------------------------------------------

-

Lista indeksów wewnętrznych Oracle
********************************************************************************
Indeks tabel Oracle
--------------------------------------------------------------------------------
SYSBLBK SYSBLBK_IDX
SYSBLBK SYS_IL0000005817C00002$$
SYSCLBK SYSCLBK_IDX
SYSCLBK SYS_IL0000005821C00002$$
--------------------------------------------------------------------------------

-

Indeks Oracle nieopisany w słowniku
********************************************************************************
Indeks tabel Oracle
--------------------------------------------------------------------------------
TRCABX3 IDX_TRCABX3
ZZVPO1 INDEXTXT2_VPO1
ZZVPO1 ZZVPO_VPO01
ZZVPO1 SYS_IL0000009573C00047$$
--------------------------------------------------------------------------------

-

Indeks Oracle niespełniający norm Adonix
********************************************************************************
Indeks tabel Oracle
--------------------------------------------------------------------------------
TRCABX3 IDX_TRCABX3
--------------------------------------------------------------------------------

-

Liczba indeksów opisanych w słoniku 396
Liczba indeksów, które nie istnieją ze względu na brak aktywności – 0 -> 396
Liczba indeksów, które nie istnieją ze względu nieaktywne tabele – 0 -> 396
Liczba indeksów w słowniku, które nie istnieją – 2 -> 394
Liczba wewnętrznych indeksów Adonix + 4 -> 398
Liczba indeksów Oracle nieopisanych w słowniku +4 -> 402
Liczba indeksów obiektów długich (clob/blob) +3 -> 405
-----
Liczba indeksów odnalezionych w bazie danych Oracle = 405

-

Tworzenie logu zakończone pomyślnie 27/03/06 15:15:15

Uwaga: Indeksy nieopisane w słowniku nie są anomaliami. Odnajdywane są w celach informacyjnych. Oracle również tworzy indeksy wewnętrzne dla wszystkich tabel zawierających długie teksty (obiekty clob) lub długie obiekty (obiekty blob), takie jak obrazy.

Zadanie przetwarzania w tle

Tę funkcję można wykonać w trybie wsadowym,, ale brak dedykowanego zadania standardowego do jej wykonania.

Komunikaty o błędzie

Jedynymi komunikatami o błędach są komunikaty ogólne.

Użyte tabele

SEEREFERTTO Odniesienie do dokumentacji Implementacja