Plan wykładu Spis treści 1 Zadania administratora 1 2 Zarządzanie 2 2.1 Instalacja.................................... 2 2.2 Migracja..................................... 4 2.3 Upgrade..................................... 6 2.4 Konfiguracja................................... 6 3 Bezpieczeństwo 6 3.1 Użytkownicy................................... 6 3.2 Monitorowanie................................. 10 3.3 Kopia bezpieczeństwa.............................. 11 3.4 Awarie...................................... 12 4 Strojenie 14 5 Źródła 14 1 Zadania administratora Zadania administratora Obowiązki DBA (Database Administrator): Zarządzanie: instalacja oprogramowania serwera bazy danych, tworzenie bazy danych, migracja danych, upgrade, konfiguracja bazy i środowiska sieciowego, instalacja, upgrade i konfiguracja oprogramowania pomocniczego, zarządzanie strukturami danych, bieżące zarządzanie serwerem. Zapewnienie bezpieczeństwa danych: zarządzanie prawami dostępu - kontami użytkowników i ich uprawnieniami, monitorowanie, sporządzanie kopii bezpieczeństwa bazy danych, naprawa bazy danych po awarii. Strojenie wydajności bazy danych: monitorowanie, diagnozowanie problemów z wydajnością bazy danych, dobór zmian rozwiązujących problem, implementacja zmian i sprawdzenie wyników. 1
2 Zarządzanie 2.1 Instalacja Instalowanie oprogramowania serwera I Weryfikacja sprzętu i systemu operacyjnego (rozmiar pamięci operacyjnej, łaty i uaktualnienia systemu operacyjnego, format systemu plików, itp.), wybór programu instalacyjnego, instalacja: oprogramowania serwera bazy danych, opcjonalne automatyczne tworzenie bazy danych (np. Database Configuration Assistant w Oracle), wstępna konfiguracja serwera bazy danych. Instalacja na przykładzie Oracle 11g Wybór trybu instalacji: uproszczony - według ustawień domyślnych (jedynie wybór lokalizacji instalacji, typu instalacji, nazwy bazy danych i hasła dla kont administracyjnych), zaawansowany. wybór wariantu zakupu licencji, lokalizacja serwera bazy danych, plików konfiguracyjnych i pomocniczych, lokalizacja oprogramowania serwera bazy danych, weryfikacja wymagań, opcjonalne automatyczne tworzenie bazy danych: wybór opcji: - CREATE DATABASE - instalacja pustej bazy danych, - CONFIGURE AUTOMATIC ST - instalacja bazy danych wraz z logicznymi wolumenami, - INSTALL SOFTWARE ONLY - bez instalacji bazy danych. wybór charakterystyki tworzonej bazy danych: - GENERAL PURPOSE - wstępna konfiguracja dla wielu użytkowników realizujących współbieżnie krótkie transakcje, - DATA WAREHOUSE - wstępna konfiguracja dla niewielu użytkowników realizujących współbieżnie długotrwałe zapytania, - ADVANCED - manualna konfiguracja bazy danych. wybór nazwy identyfikującej bazę danych oraz SID - nazwa identyfikująca instancję bazy danych, ustalenie parametrów pamięci operacyjnej przydzielonej bazie, wybór standardu kodowania, deaktywacja nowych mechanizmów bezpieczeństwa Oracle 11g, tworzenie przykładowych kont z przykładowymi tabelami wybór narzędzia administracyjnego, specyfikacja mechanizmu przechowywania danych, 2
aktywacja automatycznych kopii bezpieczeństwa, możliwość ustawienia oddzielnych haseł dla kont administracyjnych, powiązanie z METALINK, akceptacja konfiguracji instalacji, pół godziny na kawę... podsumowanie instalacji. Zainstalowane składniki Oracle 11g Baza danych - zbiór plików dyskowych służących do przechowywania danych użytkowników, Serwer bazy danych - oprogramowanie umożliwiające zdalny dostęp użytkowników do bazy danych Listener - proces odbierający sieciowe żądania połączenia z serwerem bazy danych Enterprise Manager Database Control - program narzędziowy służący do wysokopoziomowej administracji bazą danych, serwerem bazy danych i Listenerem Uruchomienie 1. Uruchomienie Enterprise Manager Database Control za pomocą narzędzia EMCTL jako usługę (MS Windows) 3
2. Uruchomienie procesu Listenera za pomocą narzędzia LSNRCTL za pomocą narzędzia EMDC jako usługę (MS Windows) 3. Uruchomienie instancji serwera bazy danych i otwarcie bazy danych za pomocą narzędzia EMDC za pomocą narzędzia SQL*Plus (polecenie startup) jako usługę (MS Windows) Tryby zatrzymania instancji bazy danych Normal - czeka, aż wszyscy pracujący użytkownicy wylogują się, a następnie zapisuje bufory, zamyka bazę danych i zatrzymuje instancję Immediate - przerywa sesje wszystkich pracujących użytkowników, wycofuje ich transakcje, zapisuje bufory, zamyka bazę danych i zatrzymuje instancję Transactional - czeka, aż każdy z pracujących użytkowników zakończy bieżącą transakcję, przerywa sesję, po zakończeniu sesji wszystkich użytkowników zapisuje bufory, zamyka bazę danych i zatrzymuje instancję Abort - przerywa sesje wszystkich pracujących użytkowników, zatrzymuje instancję 2.2 Migracja Migracja danych - ładowanie danych Ścieżka konwencjonalna polecenia INSERT i COMMIT dane redo zawsze generowane sprawdzanie wszystkich ograniczeń integralnościowych uruchamia odpowiednie wyzwalacze umożliwia wykorzystanie klastrów baza czynna dla użytkowników Ścieżka bezpośrednia ładowanie do pliku dane redo moga być generowane sprawdzanie PRIMARY KEY, UNIQUE, NOT NULL nie uruchamia wyzwalaczy nie obsługuje klastrów tabele zablokowane dla użytkowników Migracja danych - narzędzia I Narzędzia i funkcjonalności służące do przenoszenia danych: Enterprise Manager - zakładka Data Movement importowanie z plików eksportowanie do plików importowanie z bazy danych klonowanie baz danych transportowanie przestrzeni tabel 4
Migracja danych - narzędzia II Data Pump kontrolowane przez pakiet dbms_datapump interfejs przez narzędzia expdp/impdp (z linii komend systemu operacyjnego) lub Enterprise Manager ładowanie konwencjonalne lub bezpośrednie umożliwia zdefiniowanie zadania i pracę w trybie wsadowym umożliwia wybiórcze przenoszenie bazy umożliwia równoległe wykonywanie operacji pracuje w trybie sieciowym udostępnia kompresję danych i metadanych udostępnia szyfrowanie danych obsługuje dane typu XML Migracja danych - narzędzia III Export/Import niezależne od wersji i platformy uruchamiane z linii poleceń poziomu serwera, lub dowolnego klienta bazy danych - programy exp i imp ładowanie konwencjonalne lub bezpośrednie operacje na uruchomionej bazie danych plik danych na maszynie, z której wywołano program Migracja danych - narzędzia IV SQL*Loader ładuje dane z zewnętrznego pliku do bazy danych wymaga opisu formatu danych i sposobu ich ładowania ładowanie konwencjonalne lub bezpośrednie interfejs przez narzędzia expdp/impdp uruchamiany przez polecenie sqlldr lub Enterprise Manager Inne narzędzia umożliwiające migrację danych: SQL*Plus SQLDeveloper RMAN (do tworzenia dokładnej kopii) 5
2.3 Upgrade Upgrade Weryfikacja systemu przed aktualizacją. Upgrade z wykorzystaniem narzędzia Database Upgrade Assistant: wskazanie katalogów dla plików ostrzeżeń i błędów, przeniesienie plików bazy danych, ustalenie domyślnej lokalizacji dla kopii bezpieczeństwa, wybór narzędzia administracyjnego, ustalenie haseł administracyjnych, rekompilacja obiektów PL/SQL, sporządzenie kopii bezpieczeństwa, właściwa aktualizacja. 2.4 Konfiguracja Konfiguracja Założenie bazy danych i określenie jej parametrów. Konfigurowanie usług sieciowych - ustawienie OracleNet (konfiguracja nasłuchu, metod tłumaczenia nazw usług, dostępu do serwera usług katalogowych) z wykorzystaniem narzędzi: Net Configuration Assistant, Net Manager (dostępny po stronie serwera i klienta). Konfiguracja Enterprise Managera za pomoca Enterprise Manager Configuration Assistant Konfiguracja obsługi języków narodowych (NLS LANGUAGE), formatu daty, lokalnego czasu, znaku oddzielającego części całkowite od ułamkowych, znaku oddzielającego grupy cyfr w liczbach, lokalnego systemu waluty, nazwy pierwszego dnia tygodnia (NLS TERRITORY). Konfiguracja kopii bezpieczeństwa. 3 Bezpieczeństwo 3.1 Użytkownicy Konta SYS i SYSTEM Konta SYS i SYSTEM: rola DBA, tworzone w trakcie zakładania bazy danych, na koncie SYS wyłącznie tabele systemowe, 6
SYSTEM posiada tabele z informacjami wewnętrznymi, często krytycznymi dla działania niektórych aplikacji, SYS posiada dodatkowo uprawnienia SYSDBA SYSTEM posiada dodatkowo uprawnienia SYSOPER Uwierzytelnianie administratorów odbywa się poprzez: system operacyjny, pliki haseł, sieciowe usługi uwierzytelniania. Użytkownik Dostęp do bazy danych mają, po zalogowaniu, jedynie zdefiniowani użytkownicy. Możliwości użytkownika są ograniczane za pomocą uprawnień. Użytkownik jest właścicielem utworzonych obiektów, które znajdują się wewnątrz jego schematu, noszącego tą samą nazwę, co użytkownik. Tworzenie użytkownika CREATE USER uzytkownik IDENTIFIED { BY haslo EXTERNALLY GLOBALLY AS external_name } [{ DEFAULT TABLESPACE przestrzen TEMPORARY TABLESPACE przestrzen QUOTA { integer [ K M ] UNLIMITED } ON przestrzen [QUOTA { integer [ K M ] UNLIMITED } ON przestrzen]... PROFILE profil PASSWORD EXPIRE ACCOUNT { LOCK UNLOCK } } [ DEFAULT TABLESPACE przestrzen TEMPORARY TABLESPACE przetsrzen QUOTA { integer [ K M ] UNLIMITED } ON przestrzen [QUOTA { integer [ K M ] UNLIMITED } ON przetsrzen]... PROFILE profil PASSWORD EXPIRE ACCOUNT { LOCK UNLOCK } ]... ] ; Tworzenie użytkownika - przykład CREATE USER sidney IDENTIFIED BY out_standing1 DEFAULT TABLESPACE example QUOTA 10M ON example TEMPORARY TABLESPACE temp QUOTA 5M ON casual PROFILE app_user PASSWORD EXPIRE; 7
Modyfikowanie i usuwanie użytkownika ALTER USER uzytkownik...; DROP USER uzytkownik [CASCADE]; Nie można usunąć użytkownika podłączonego do bazy, należy najpierw zamknąć jego sesję. Uprawnienia systemowe Uprawnienia systemowe - prawo do wykonania operacji na bazie danych, np.: połączenia, manipulacji danymi, manipulacji obiektami, eksportu, importu, itp. Nadanie uprawnień: GRANT CONNECT, RESOURCE to uzytkownik; GRANT CONNECT, RESOURCE to uzytkownik WITH ADMIN OPTION; Odebranie uprawnień: REVOKE CONNECT to uzytkownik; Uprawnienia obiektowe Uprawnienia obiektowe - prawo dostępu do obiektu z określoną granulacją: ALTER, DELETE, EXECUTE, INDEX, INSERT, READ, REFERENCES, SELECT, UPDATE. Nadanie uprawnień: GRANT SELECT ON pracownicy TO PUBLIC; GRANT INSERT ON pracownicy TO uzytkownik1 WITH GRANT OPTION; GRANT UPDATE(nazwisko, data_zwol) ON pracownicy TO uzytkownik2; Odebranie uprawnień: REVOKE SELECT ON pracownicy TO uzytkownik3; REVOKE ALL ON pracownicy TO uzytkownik4; REVOKE ALL ON pracownicy TO uzytkownik5 CASCADE CONSTRAINTS; 8
Role Role grupy uprawnień (zarówno obiektowych jak i systemowych) w ramach jednego nazwanego zbioru. Tworzenie roli: CREATE ROLE rola; Dodanie uprawnień do roli: GRANT CONNECT, ALL ON pracownicy TO rola; Nadanie roli użytkownikom: GRANT rola TO uzytkownik; Usunięcie roli: DROP ROLE rola; Profile Profil - służą do kontroli korzystania z zasobów systemowych (czasu procesora, czasu trwania sesji, liczby równoczesnych sesji, itp.). Tworzenie profilu: CREATE PROFILE profil LIMIT { parametry_zasobów parametry_hasła } [ parametry_zasobów parametry_hasła ]...; Przykładowe parametry: Np.: SESSION_PER_USER CPU_PER_USER CONNECT_TIME IDLE_TIME PASSWORD_VERIFY_FUNCTION FAILED_LOGIN_ATTEMPTS PASSWORD_LIFE_TIME CREATE PROFILE zwykly LIMIT FAILED_LOGIN_ATTEMPTS 3 SESSION_PER_USER 1; CREATE USER uzyt1 IDENTIFIED BY haselko PROFILE zwykly; ALTER USER uzytkownik2 PROFILE zwykly; DROP PROFILE nazwa_profilu [CASCADE]; 9
3.2 Monitorowanie Monitorowanie AWR - Automatic Workload Repository ADDM - Automatic Database Diagnostic Monitor Metryki Alerty Automatic Workload Repository pozwala zautomatyzować proces zbierania dynamicznie zmieniających się statystyk dotyczących: działania systemu, sesji użytkowników, zapytań, serwisów. Domyślnie zbiera statystyki co godzinę, przechowuje w bazie danych przez 8 dni (7 dni dla 10g). Zebrane wyniki mogą być analizowane przez użytkowników albo przez narzędzia wspomagające proces administrowania bazy danych. Automatic Database Diagnostic Monitor Uruchamiany automatycznie po każdym zebraniu danych przez AWR. Wykrywa i raportuje problemy z bazą danych. Przeglądanie wyników jego działania pozwala na szybkie zidentyfikowanie potencjalnego zagrożenia. Podpowiedzi zawierają informacje na temat kroków, jakie musi podjąć administrator aby zminimalizować zagrożenie. Typowe podpowiedzi dotyczą: modyfikacji sprzętu (pamięć, procesory, dyski,...), zmiany oprogramowania, zmian w schemacie bazy danych, zmiany logiki aplikacji (cache dla sekwencji, zmienne wiązania) uruchomienia innego narzędzia diagnostycznego. 10
Metryki Dynamiczne statystyki: Informują o liczbie zdarzeń (odczyty/zapisy danych, dane wysłane/odebrane przez sieć, liczba zapytań użytkownika, itp.), które miały miejsce od uruchomienia instancji bazy danych. Nie informują jak uzyskana wartość narastała w czasie. Metryki Informują jak wartość danej statystyki zmieniała się w ostatniej jednostce czasu. Reprezentują informacje o przyroście danej wartości w zdefiniowanej jednostce czasu. AWR przechowuje w swoim repozytorium wartości metryk. Alerty Informują administratora o zbliżającym się niebezpieczeństwie. Alert jest generowany, gdy wartość metryki przekroczy wartość skonfigurowanego progu. Automatyczne alerty dotyczą błędów: zajętości przestrzeni tabel, zbyt starej kopii bezpieczeństwa, małej ilości miejsca w obszarze odtwarzania. Alerty mogą być zgłaszane na jednym z dwóch poziomów ważności: ostrzeżenie (warning) lub krytyczny (critical). Progi dla których generowane są alerty mogą być konfigurowane przez administratora. Z każdym alertem może być związane automatyczne działanie korekcyjne. 3.3 Kopia bezpieczeństwa Wykonywanie kopii bezpieczeństwa Zarządzane przez użytkownika: wymaga stosowania skryptów i narzędzi systemu operacyjnego, wymaga przełączenia plików bazy danych w stosowny tryb podczas wykonywania kopii bezpieczeństwa, wymaga ręcznego monitorowania statusu kopii bezpieczeństwa. Oracle Recovery Manager (RMAN) wywoływany z linii komend lub EM do zabezpieczania bazy danych przed awarią i do odtwarzania w przypadku zaistnienia awarii binarne kopie bezpieczeństwa przyrostowe kopie bezpieczeństwa 11
uruchamiane na serwerze lub na stacji roboczej kopia bezpieczeństwa wykonywana na zasoby (dysk, taśma, itp.) serwera szyfrowanie kopii bezpieczeństwa Oracle Secure Backup scentralizowany system do zarządzania plikami systemowymi i Oracle na urządzeniach taśmowych ściśle zintegrowany z RMAN Rodzaje kopii bezpieczeństwa Kopia obrazu - kopia 1:1 plików bazy danych, możliwa do wykorzystania za pomocą narzędzi systemu operacyjnego, zawiera nieużywane bloki. Zestaw kopii - wykonywany według wewnętrznego formatu RMAN, zawiera tylko używane bloki. Wykonywane przy otwartej lub zamontowanej bazie danych, działającej w trybie ARCHIVELOG lub NOARCHIVELOG (tylko zamontowanej). Przyrostowe kopie bezpieczeństwa: na poziomie 0 zawiera wszystkie bloki plików danych bazy danych, kumulatywna przyrostowa kopia bezpieczeństwa na poziomie 1 zawiera bloki danych zmienione od ostatniej przyrostowej kopii bezpieczeństwa na poziomie 0, różnicowa przyrostowa kopia bezpieczeństwa na poziomie 1 zawiera tylko bloki zmienione od ostatniej przyrostowej kopii bezpieczeństwa na poziomie 0 lub 1. Kopie spójne - wykonywane po poprawnym zamknięciu bazy (tryb normalny, transakcyjny lub natychmaistowy). Kopie niespójne - na otwartej bazie danych lub zamkniętej w trybie awaryjnym. 3.4 Awarie Typy awarii Podział awarii ze względu na konsekwencje: awarie niekrytyczne - baza może kontynuować swoja pracę awarie krytyczne - uniemożliwiające pracę bazy. Podział awarii ze względu na zakres: awarie lokalne - dotyczące jednej transakcji, awarie globalne - mają wpływ na cały system. Podział awarii ze względu na przyczynę wystąpienia: awarie instrukcji, awarie procesu, awarie instancji, 12
awarie sieci, awarie spowodowane przez użytkownika, awarie nośnika. Rozwiązywanie problemów po awarii Dla awarii instrukcji - zależnie od błedu - poprawienie aplikacji, nadanie uprawnień, zwiększenie objętości tabel, itp. Dla awarii procesu serwera - zazwyczaj rozwiązywane automatycznie - przerwanie sesjci, przerwanie działania aplikacji, itp. Dla awarii sieci - przekonfigurowanie sieci Dla awarii instancji - restart (odtwarzanie automatyczne), wykrycie przyczyn na bazie pliku ostrzeżeń, plików śladu i Enterprise Managera. Dla awarii spowodowanych przez użytkownika - odtwarzanie ze śmietnika, retrospekcja transakcji. Dla awarii nośnika - odzyskanie danych z kopii bezpieczeństwa. Rodzaje odtwarzania Odtwarzanie pełne - odzyskanie wszystkich zatwierdzonych zmian wprowadzonych do momentu wystąpienie awarii Odtworzenie niepełne - odzyskanie zatwierdzonych zmian wprowadzonych do momentu z przeszłości, wszystkie zmiany wprowadzone po tym momencie są tracone: Retrosepkcja odtwarzanie do punktu w czasie, odtwarzanie do numeru sekwencyjnego dziennika powtórzeń, odtwarzanie do System Change Number. Retrospekcja bazy danych - możliwość wycofania stanu bazy danych do wskazanego punktu w przeszłości. Retrospekcja usunięcia tabeli (drop) - możliwość odzyskania usuniętej tabeli. Retrospekcja tabeli - odzyskanie stanu tabeli po błędnej modyfikacji. Zapytanie retrospekcyjne - możliwość obejrzenia stanu bazy danych we wskazanym punkcie w przeszłości. Proces RVRW periodycznie przepisuje z bufora danych bloki danych przed modyfikacją do dziennika retrospekcji. Dzienniki retrospekcji są zapisywane w obszarze odtwarzania. W celu minimalizacji obciążenia nie wszystkie zmiany są rejestrowane w dzienniku retrospekcji. 13
4 Strojenie Strojenie Strojenie polega na wprowadzaniu zmian zwiększających wydajnośc bazy danych. Proces strojenia ma charakter cykliczny. Wyróżniamy strojenie proaktywne i reaktywne. Ze względu na czynnik, dla którego stroi się bazę wyróżniamy strojenie: projektu - wymodelowanie wszystkich wymagań, np. poprawienie indeksów, dopasowanie struktury logicznej i fizycznej, itp., aplikacji - ustalenie efektywnego dostępu do dysku i sieci, wyszukanie nieefektywnych zapytań, itp., bazy danych - zmniejszenie obciążeń urządzeń dyskowych, zlikwidowanie współzawodniczenia o zasoby, itp., systemu operacyjnego - minimalizacja wykorzystania pamięci wirtualnej, konfiguracja zapewniająca ochronę danych, obsługa odpowiedniej liczby semaforów, procesów, plików, wielkość pamięci współdzielonej, itp.. 5 Źródła Źródła W wykładzie wykorzystano materiały: M. Lentner, Oracle 9i Kompletny podręcznik użytkownika, PJWSTK - W-wa, 2003 http://www.ploug.org.pl/showhtml.php?file=szkola/szkola_6/materialy Garcia-Molina, Ullman, Widom: Implementacja systemów baz danych, WNT 2003 http://www.ia.pw.edu.pl/~ttraczyk emotikony z http://www.smileycentral.com/ 14