Strojenie wydajności aplikacji w Oracle - warsztaty
Szkolenie wraz z warsztatami przeznaczone jest dla zaawansowanych programistów i użytkowników Oracle, którzy poszukują wiedzy i informacji na temat wydajnego tworzenia systemów informatycznych w bazie danych Oracle, oraz strojenia i badania problemów wydajnościowych w już istniejących aplikacjach. Szkolenie to bazuje na wiedzy często niedostępnej lub błędnie przedstawianej w dokumentacji technicznej, a zebranej podczas wielu lat praktyki prowadzących je instruktorów.
Szkolenie to może być zakończeniem ścieżki szkoleń dla programistów, lub stanowić pojedynczy krok dla osób z dużym doświadczeniem projektowym i programistycznym w Oracle.
Poruszane tematy skupiają się na :
- wydajnym pozyskiwaniu danych przy pomocy funkcji analitycznych
- fizycznych i logicznych aspektach bazy danych wpływających na wydajność
- metodach składowania i indeksowania danych
- metodach monitorowania wydajności i znajdowania wąskich gardeł
- sterowaniu i konfiguracji pracy optymalizatora kosztowego
- opracowaniu procesów zbierających statystyki
- analizowaniu i optymalizacji planów operacji występujących podczas wykonywania poleceń SQL: pełnego odczytu, odczytu poprzez indeks, złączeń, podzapytań, sortowań.
Szkolenie ma na celu zapoznanie z aspektami wydajnościowymi bazy danych Oracle. Pozwala uczestnikom poszukiwanie i rozwiązywanie problemów wydajnościowych w bazie danych.
Szczególny nacisk kładziemy na część warsztatową, gdzie pokazujemy praktyczne aspekty tuningu aplikacji i bazy danych.
Zaawansowani programiści i projektanci systemów baz danych.
Zaawansowana znajomość języka SQL, PL/SQL i/lub uczestnictwo w szkoleniach "Wprowadzenie do Oracle dla programistów i użytkowników", "Oracle PL/SQL dla programistów i użytkowników", "Zaawansowane programowanie w PL/SQL".
-
Analiza wykonania polecenia
- Plan wykonania (EXPLAIN PLAN)
- Rzeczywisty plan wykonania (V$SQL_PLAN)
- Mechanizm AUTOTRACE
-
Architektura bazy i instancji
- Procesy serwera
- Struktury pamięci (SGA, PGA)
- Parsowanie i współdzielenie kursorów
-
Logiczna i fizyczna struktura bazy
- Przestrzenie tabel
- Segmenty
- Rozszerzenia (EXTENTS)
- Bloki
-
Poprawa wydajności pozyskiwania danych - funkcje analityczne
- Generowanie podsumowań
- Definicja okien
- Analiza danych
-
Metody składowania danych
- Fizyczne aspekty budowy tabeli
- Tabele tymczasowe
- Tabele indeksowe
- Tablice zewnętrzne
- Partycjonowanie tabel (zakresowe, listowe, hash'owe, mieszane)
- Fizyczna reorganizacja tabel
- Klastry indeksowe i hash'owe
- Rozszerzenie informacji o więzach integralności
- Widoki zmaterializowane i mechanizm QUERY REWRITE
-
Metody indeksowania danych
- Budowa indeksów B-TREE
- Właściwości indeksów
- Indeksy: unikalne, wielokolumnowe, funkcyjne, odwrócone
- Kompresja indeksów
- Przebudowa i scalanie indeksów
- Indeksy wirtualne
- Indeksy bitmapowe i złączeniowe
-
Optymalizatory Oracle
- Optymalizator kosztowy
- Optymalizator regułowy
- Porównanie optymalizatorów
-
Statystyki i histogramy
- Wpływ statystyk i histogramów na wydajność
- Sposoby zbierania statystyk i histogramów
- Strategia zliczania i estymacji statystyk
- Dynamiczne próbkowanie danych
- Statystyki systemowe
-
Sterowanie pracą optymalizatora
- Cel optymalizacji
- Używanie podpowiedzi (HINT)
- Parametry bazy danych wpływających na optymalizator
-
Wymuszanie zapamiętanych planów (OUTLINES)
- Tworzenie zarysów
- Używanie zarysów
-
Badanie problemów wydajnościowych
- Śledzenie sesji (TRACE)
- Konwersja plików śladu (TKPROF)
- Interpretacja wyników śledzonych poleceń
-
Warsztaty - dostęp do danych
- Pełny odczyt tabel (FULL SCAN)
- Wskaźnik wysokiej wody (HWM)
- Ścieżka konwencjonalna i bezpośrednia ładowania danych
-
Warsztaty - używanie indeksów
- Metody dostępu do indeksu (UNIQUE SCAN, RANGE SCAN, FULL SCAN, FAST FULL SCAN)
- Używanie indeksów funkcyjnych
- Selektywność indeksów (CLUSTERING FACTOR)
- Indeksy wielokolumnowe i SKIP SCAN
- Wartość NULL a indeksy
- Tablice indeksowe (IOT)
- Wpływ indeksów na operacje DML
-
Warsztaty - sortowania
- Sortowanie pamięciowe
- Sortowania indeksowe
- Sortowania lingwistyczne
- Wpływ stopnia entropii na sortowanie (CLUSTERING FACTOR)
-
Warsztaty - złączenia i podzapytania
- Metody łączenia: MERGE, HASH, NESTED LOOP
- Złączenia w systemach OLTP i OLAP
- Kolejność łączeń


