ZSBD ADMINISTRACJA SERWEREM ORACLE Wykład 2 Prowadzący: dr Paweł Drozda Program wykładu Zarządzanie przestrzeniami tabel wycofania Ustawienia audytu bazy danych Konserwacja bazy danych Monitorowanie wydajności Odzyskiwanie bazy danych i Backup-y dr P. Drozda Język DML Główne komendy DML: INSERT UPDATE DELETE MERGE – z dwóch tabel tworzy jedną Każda komenda jako część transakcji Koniec transakcji COMMIT lub ROLLBACK dr P. Drozda Przykład MERGE MERGE INTO EMP a USING (SELECT * FROM employees) b ON a.emp_no = b.employee_id WHEN MATCHED THEN UPDATE SET a.salary = b.salary WHEN NOT MATCHED THEN INSETR (emp_no, last_name, first_name, dept_no, hire_date, salary ) VALUES (employee_id, last_name, first_name, department_id, hire_date, salary); dr P. Drozda Dane wycofania Kopia danych przed modyfikacją Dodawane dla każdej transakcji, która zmienia dane Utrzymywanie co najmniej do końca przeprowadzania transakcji Główne cele danych wycofania: Wycofywanie transakcji Odzyskiwanie danych z awarii transakcji Odtworzenie zapytań, tabel, transakcji Informacje na temat aktywnych transakcji – V$TRANSACTION Dane przechowywane w przestrzeni wycofań dr P. Drozda Zarządzanie przestrzeniami wycofań Wbudowany automatyczny mechanizm Ścieżka dostępu EM Server/DatabaseConfig./AutomaticUndoManag. UNDO_RETENTION – czas po zakończeniu transakcji, po którym usuwane są dane z przestrzeni tabel RETENTION GUARANTEE – zapewnia zachowanie danych przez określony czas (nawet kosztem niezatwierdzonych transakcji) – parametr przestrzeni tabel Undo Advisor – określa wielkość przestrzeni wycofań odpowiednią dla żądanego czasu zachowania danych dr P. Drozda Audyt (monitoring) bazy danych Oznacza zbieranie i gromadzenie informacji na temat działań w systemie – może obniżać wydajność systemu Typy audytu: Obligatoryjny (np. logowanie Adminów) Standardowy – wybór opcji i przywilejów które mają być monitorowane (ustawiaony za pomocą AUDIT_TRIAL) Bazujący na wartościach – związany z przekazywanymi wartościami z insert, update, delete; zaimplementowany za pomocą wyzwalaczy Drobnoziarnisty – gromadzi komendy SQL dr P. Drozda Jak ustawiać Audyt Audyt SQL AUDIT table; Audyt przywilejów systemowych AUDIT create any table, create any trigger; AUDIT create any table by HR Audyt przywilejów obiektowych AUDIT ALL ON hr.employees; AUDIT UPDATE, DELETE on hr.employees; Dostęp EM – server/security/audit_settings dr P. Drozda Elementy konserwacji bazy danych Oracle Optimizer – determinuje najbardziej efektywny plan wykonania polecenia SQL Automatic Workload Repository (AWR) – zbiera statystyki, analizuje i rekomenduje rozwiązania Automatic Database Diagnostic Monitor (ADDM) – uruchomiany po AWR, wykrywa ‘wąskie gardła’ i przedstawia rekomendacje do rozwiązania problemu „Doradcy” Oracla Ustawienia progów ostrzeżeń dr P. Drozda Oracle optimizer (1) Do poprawnego działania konieczne gromadzenie statystyk tabel, indeksów takich jak: Wielkość tabeli/indeksu Liczba wierszy Średnia wielkość wiersza (tabela) Zapewnione automatyczne zbieranie statystyk (raz dziennie) Możliwość zarządzania statystykami pod EM – server/QueryOptimizer dr P. Drozda Oracle optimizer (2) Dostępne opcje Zbieranie statystyk (np. dotyczących tabel, bazy danych, schematu użytkownika) Odtwarzanie statystyk z jakiegoś momentu z przeszłości Blokowanie statystyk Odblokowanie Usuwanie dr P. Drozda AWR Zawiera informacje o wydajności Zbiera informacje co godzinę (z SGA) i przetrzymuje je przez 8 dni Tabele z informacjami gromadzone są w przestrzeni tabel SYSAUX oraz schemacie SYSMAN AWR w EM – server/statistic management Ustawienia Czas przetrzymywania informacji Częstość zbierania informacji Dokładność zbieranych informacji dr P. Drozda ADDM Uruchomiany zawsze po działaniu AWR Przedstawia rekomendacje rozwiązania problemu również z ilościowym określeniem korzyści Popularne problemy: Zbyt duże wykorzystanie procesora Przekraczanie wielkości bazy danych Długi czas wykonywania SQL, PL/SQL, Java Rezultaty analiz przechowywane w AWR dr P. Drozda ADDM – rodzaje rekomendacji Zmiana parametrów inicjacyjnych Zmiana hardware Zmiana schematu bazy danych (rodzaj indeksowania, położenie tabel itd.) Propozycja zastosowania innych ‘doradców’ dr P. Drozda Inni doradcy Pamięci – wspomaga określanie ilości miejsca dla różnych elementów Segmentów – znajduje elementy które zajmują więcej miejsca niż potrzeba SQL – analizuje wszystkie polecenia SQL – rekomenduje nowe indeksy oraz perspektywy SQL Tuning – szuka możliwości przyspieszenia wykonania pojedynczej instrukcji SQL Zarządzanie przestrzeniami wycofań Naprawa SQL – po nieudanym zapytaniu – pomaga odnaleźć błąd Centrala doradców – related links dr P. Drozda Ustawianie progów ostrzeżeń Standardowo monitorowanych jest około 60 miar na potrzeby ostrzeżeń EM – Related Links/Metric and Policy settings Ustawiane dwie wartości: Ostrzeżenie Wyjątek krytyczny dr P. Drozda Monitorowanie wydajności EM – performance obrazuje wykorzystanie procesora oraz elementy wpływające na to Throughput – określa wydajność bazy (liczba danych na sekundę bądź transakcje) Top consumers – określa jakie usługi, serwisy, klienci wykorzystują najwięcej zasobów dr P. Drozda Zarządzanie przydzieloną pamięcią AMM (automatic memory management) EM – server/ databaseConfiguration AMM przydziela optymalnie pamięć pomiędzy SGA i PGA ASMM (automatic shared memory management) – zarządza pamięcią SGA – zmienia całkowitą wielkość SGA dr P. Drozda Odzyskiwanie danych Zmiany zapisywane w plikach Redo Log używając LogWriter SGA Writer pisze gdy: Zatwierdzona transakcja Zapełniony w 1/3 Co 3 sekundy LogWriter Redo Log Files dr P. Drozda Automatyczne odzyskiwanie danych Gdy dane podczas zamykania instancji źle zapisane Uruchomiane podczas włączenia bazy danych Dwie możliwe operacje: Rolling forward – dane wracają do stanu przed awarią Rolling back – niezatwierdzone zmiany wracają do stanu przed zmianami dr P. Drozda Odzyskiwanie – ustawienia Planowanie regularnych backup-ów Tworzenie wielu plików kontroli Tworzenie wielu grup redo log Archiwizacja kopii redo log Zalecane tworzenie co najmniej dwóch plików w każdej grupie redo na różnych dyskach (każdy plik zawiera to samo) Edycja : EM/Server/Storage/Redo log groups dr P. Drozda ARCHIVELOG mode EM\Avability\Setup\recoverySettings Dotyczy sposobu archiwizacji zmian bazy danych Gdy NOARCHIVELOG możliwość odzyskania bazy od ostatniego backup-u Transakcje po backup-ie są tracone ARCHIVELOG Zapisuje informacje o wszystkich transakcjach (można ustawić wiele plików do zapisywania) dr P. Drozda Backup Strategia backup-u: Cała baza danych Tylko wybrane elementy Typ backup-u: Wszystkie bloki danych Tylko informacje o zmianach od wcześniejszych backup-ów Kumulatywny – wszystkie zmiany od pierwszego backup-u Różnicowy – tylko zmiany od ostatniego backup-u Sposób backupu Online Offline dr P. Drozda Recovery Manager – obsługa backup-ów EM/availability/Backup Settings Możliwość ustawienia: Paralelizm – ile oddzielnych strumieni ma zostać stworzonych Policy – Ustawiane parametry Automatyczny backup plików parametrów przy każdym backupie Pliki które nie zmieniły się mogą nie być backup-owane Wyłączenie przestrzeni tabel z backup-u Ile dni ma być przetrzymywany backup dr P. Drozda Planowanie backup-ów EM/Availability/Manage/Schedule Backup Wybór strategii, sposobu, typu Wybór czasu, częstotliwości Możliwość automatycznego backup-u Dodatkowe narzędzia: Backup report Manage current backup dr P. Drozda