Monitorowanie wydajność w bazie Oracle11g Wstęp Monitorowanie wydajności bazy danych, a także aplikowanie aktualizacji to jedne z ważniejszych zadań administratora bazy danych. Wpływ na wydajność może mieć wiele czynników w tym szybkość procesora, ilość pamięci przydzielonej SGA, typy urządzeń dyskowych, rozmieszczenie plików na dyskach, a także rodzaj systemu pliku. Z kolei aplikowanie aktualizacji staje się operacją krytyczną jeśli natrafimy na błąd w oprogramowaniu bazy Oracle i konieczne jest ściągnięcie poprawki, która ten błąd usuwa. Czasami profilaktycznie instalujemy aktualizacje podnoszące wersję oprogramowania do najbardziej aktualnej w celu zapobiegnięcia przyszłym awariom związanym z już wykrytymi błędami. Monitorowanie wydajności Do monitorowania wydajności w Oracle 11g najlepszym narzędziem jest Enterprise Manager ponieważ w sposób graficzny potrafi wyświetlać statystyki związane z pracą instancji bazy danych. Dodatkowo, grupuje i agreguje wyniki pokazując je w przystępnej formie. EM korzysta z widoków typu V$... w których to baza bezpośrednio wystawia metryki wydajnościowe. Przeglądanie tych widoków ręcznie za pomocą SQLPLUS-a jest jednak dość żmudne i wymaga napisania skryptów. Dodatkowo, EM potrafi zasugerować lepsze wartości parametrów, które mogą poprawić wydajność instancji. Instalacja dodatku Flush do przeglądarki FireFox EM jest narzędziem do którego dostajemy się przez przeglądarkę internetową. Aby móc oglądać wykresy i raporty wymagana jest instalacja w przeglądarce dodatku Flash Player. Aby to zrobić w systemie Linux należy ściągnąć dodatek o nazwie: flash-plugin-11.2.202.235-release.i386.rpm i za pomocą współdzielonych katalogów w Virtal Box przenieść go do środka maszyny wirtualnej (procedura opisana w instrukcji Vbox i SQLPLUS) Przelogować się na administratora systemu Linux z hasłem oracle su root i wykonać polecenie instalacji nowego pakietu rpm z opcją -i rpm -i flash-plugin-11.2.202.235-release.i386.rpm Strona: 1 Administracja bazą Oracle 11g Studia Podyplomowe SGGW Laboratorium nr 12
Po poprawnym zainstalowaniu dodatku Flash można uruchomić przeglądarkę FireFox. Uruchomienie Enterprise Manager-a Zanim uruchomi się EM należy uruchomić instancję bazy oraz proces LISTENER: lsnrctl start sqlplus / as sysdba STARTUP; EXIT; Po uruchomieniu bazy i Listenera można uruchomić EM: emctl start dbconsole Na końcu w przeglądarce wprowadzić adres URL: https://localhost:1158/em lub skorzystać z zapisanego linku Monitorowanie wydajności w EM Po zalogowaniu się jako użytkownik sys z hasłem oracle i rolą sysdba już na stronie głównej widać pierwsze statystyki np: Więcej statystyk i wykresów wydajnościowych można znaleźć na zakładce Performance Strona: 2 Administracja bazą Oracle 11g Studia Podyplomowe SGGW Laboratorium nr 12
Jeśli nie widać wykresów to znaczy że Flash Plugin nie został poprawnie zainstalowany. Generowanie obciążenia w bazie danych Aby móc obserwować realne metryki wydajnościowe w bazie danych należy najpierw wygenerować obciążenie na bazie danych. Do tego celu służy przygotowany pakiet plików o nazwie Generator obciążenia (perf.zip) do ściągnięcia ze strony e.sggw.waw.pl. Należy ściągnąć archiwum zip i przenieść do maszyny wirtualnej. Następnie należy: 1. skopiować plik zip do katalogu domowego jako użytkownik oracle a. cp /mnt/perf.zip ~ 2. rozpakować archiwum a. unzip perf.zip 3. upewnić się, że baza danych jest uruchomiona, jeśli nie to ją uruchomić a. sqlplus / as sysdba b. STARTUP; c. EXIT; 4. uruchomić generator obciążenia a../load.start Skrypt uruchamia 4 równoległe sesje do bazy danych i zaczyna wykonywać transakcje na tabeli PERF_TEST.EMPLOYEES. Skrypt w zależności od szybkości komputera będzie się wykonywał ok. 10-15 min. Analiza wydajności bazy danych w EM Po uruchomieniu generatora obciążenia, w EM będzie można bezpośrednio mierzyć wydajność bazy danych przede wszystkim poprzez analizę rzeczy na które czeka baza danych (waits). Strona: 3 Administracja bazą Oracle 11g Studia Podyplomowe SGGW Laboratorium nr 12
Po otwarciu zakładki Performance w EM na pierwszym wykresie widać wykres oczekiwania na różne zasoby serwera. Wykres ten jest dynamiczny i odświeżany w czasie. Po uruchomieniu generatora obciążenia należy odczekać kilka minut, aby pierwsze wyniki pojawiły się na ekranie. Ten interaktywny wykres pokazuje poziomy oczekiwań na różne zasoby np: procesor (CPU), operacje wejścia/wyjścia (I/O). sieć (Network) czy współbieżność (Concurency). Po kliknięciu na pojedynczy element można uzyskać więcej danych. Poniżej na tej samej stronie widać inne wykresy np względem przepustowości (throughput) czy operacji I/O. Strona: 4 Administracja bazą Oracle 11g Studia Podyplomowe SGGW Laboratorium nr 12
Strona: 5 Administracja bazą Oracle 11g Studia Podyplomowe SGGW Laboratorium nr 12
Doradcy ds. wydajności (Advisor Central) Enterprise Manager posiada bardzo ciekawą funkcjonalność w postaci zestawu metryk, które mogą służyć administratorowi w poprawie wydajności instancji bazy danych. Mechanizm ten nazywamy doradcami (advisors) i służy między innymi do: monitorowania parametrów pamięci (SGA, PGA) i rekomendacji najlepszych wartości (Memory advisor) monitorowanie wydajności procesów instancji w trakcie obciążenia (Automatic Database Diagnostic Monitor - ADDM) analizowanie wydajności instrukcji SQL (SQL Advisor) monitorowanie przestrzeni UNDO (Automatic Undo Management) zarządzanie szybkością odtwarzania (MTTR Advisor) Aby wejść do opcji doradców należy najpierw wybrać zakładkę Performance, a potem Advisor Central ADDM Przykładowo, możemy skorzystać z ADDM. W trakcie obciążenia bazy danych ADDM wykonuje pomiary i na podstawie zebranych wyników generuje rekomendacje. Strona: 6 Administracja bazą Oracle 11g Studia Podyplomowe SGGW Laboratorium nr 12
Zaznaczone powyżej problemy wynikają z nieoptymalnej konfiguracji instancji bazy, parametrów serwera takich jak CPU czy RAM, ale także na przykład z konfiguracji dysków. Memory Advisor Memory advisor służy do włączania i wyłączania automatycznego zarządzania pamięcią, a także jest w stanie pokazać zysk na wydajności jeśli zwiększymy dostępny obszar pamięć SGA i PGA. Strona: 7 Administracja bazą Oracle 11g Studia Podyplomowe SGGW Laboratorium nr 12
MTTR Advisor Ten doradca służy do określenia optymalnej wartości parametru Mean Time To Recovery która steruje czasem odtwarzania po awarii instancji. Zbyt mała wartość powoduje częste operacje CHECKPOINT, które to z kolei generują duże obciążenie dla dysków. Wykres poniżej pokazuję tę właśnie zależność: Strona: 8 Administracja bazą Oracle 11g Studia Podyplomowe SGGW Laboratorium nr 12
Ćwiczenia Ćwiczenie 1 1. Uruchomić bazę, proces nasłuchu oraz EM 2. Ściągnąć i uruchomić generator obciążenia (perf.zip) 3. Za pomocą EM prześledzić co się dzieje z instancją. Sprawdzić czy sa jakieś rekomendacje w Advisor Central 4. Wskazać 2 lub 3 punkty, które możemy zmienić w bazie, żeby poprawić wydajność Odpowiedzi Odpowiedzi do ćwiczenia nr 1 nie jest dostępne ze względu na graficzny interfejs użytkownika EM. Strona: 9 Administracja bazą Oracle 11g Studia Podyplomowe SGGW Laboratorium nr 12