XI Seminarium PLOUG Warszawa Czerwiec 2005 Oracle Data Guard 10g - wysoce niezawodna konfiguracja serwera bazy danych Oracle Juliusz.Jezierski Juliusz.Jezierski@cs.put.poznan.pl
Oracle Data Guard 10g wysoce niezawodna konfiguracja serwera bazy danych Oracle 33 Oracle Data Guard 10g - wysoce niezawodna konfiguracja serwera bazy danych Oracle J uliusz.j ezierski@ cs.put.poznan.pl 1 Plan tutorialu Wstęp Przegląd architektury SZBD Oracle W prowadzenie do Oracle Data G uard K onfigurowanie Oracle Data G uard za pomocą EM Grid Control Zamiany ról produkcyjnej i czuwającej baz danych (switchover) Przykładowa diagnostyka niedostępności czuwającej bazy danych Przykładowa diagnostyka niedostępności produkcyjnej bazy danych Przełączenie czuwającej bazy danych do roli produkcyjnej bazy danych - failover P odsumowanie 2
34 Juliusz Jezierski Wstęp Disaster R ecovery J ournal: wiele firm zlokalizowanych w budynkach World Trade C enter po tragicznych wydarzeniach z 11 września 2001 było zdolnych do kontynuowania swojej pracy J. Hickman & W. Crandall, Business Horizons: 80 proc ent firm w okresie dwóch lat po katas trofalnej utracie sprzętu i danych jest zmuszonych do zakończenia swojej działalności 93 proc ent tych firm zamyka działalność w okresie pięciu lat Oracle Data Guard 10g: Wysoka dostępność danych, Zwiększona ochrona danych, Możliwość odtworzenia bazy danych po katastrofalnej awarii Możliwość zwiększenia wydajności aplikacji raportujących 3 Przegląd d architektury SZBD Oracle 4
Oracle Data Guard 10g wysoce niezawodna konfiguracja serwera bazy danych Oracle 35 Bieżą żące pliki dziennika powtórze rzeń Procesy serwerów wszystkie swoje zmiany dokonywane w buforze danych rejestrują w buforze dziennika P roces LGWR przepis uje zawartość bufora dziennika do bieżących plików dziennika raport raport sqlplus sqlplus formularz formularz aplikacje SQL SQL SQL SQL SQL SQL procesy serwerów LGWR LGWR bufor danych bufor dziennika SGA - współdzielona pamięć operacyjna Bieżące pliki dziennika Przełą łączanie bieżą żących plików w dziennika powtórze rzeń Liczba i rozmiar bieżących plików dziennika, która jest ustawiana podczas tworzenia BD, można zmieniać w trakcie eksploatacji za pomocą polecenia ALTE R DATABAS E Zawartość bieżących plików dziennika jest nadpis ywana przez LGW R podczas procesu przełączania LGWR LGWR 12 13 14 15 6
36 Juliusz Jezierski Archiwizacji bieżą żących plików w dziennika powtórze rzeń Archiwizacją bieżących plików dziennika zajmuje się proces archiwizatora bufor dziennika LGWR LGWR ARC0 ARC0 bieżące pliki dziennika 14 15 Zarchiwizowane pliki dziennika 14 13 12 Wprowadzenie do Oracle Data Guard 8
Oracle Data Guard 10g wysoce niezawodna konfiguracja serwera bazy danych Oracle 37 Koncepcja ODG Produkcyjna baza danych Transport plików dziennika Czuwająca baza danych Oracle Net Baza danych Kopia bazy danych 9 Zamiana rólr J awnie (nieautomatycznie) wykonywana przez DB A Switchover planowana zmiana ról Stosowana w celu pielęgnacji sprzętu i systemu operacyjnego F ailover nieplanowana zmiana ról Stosowana w awaryjnych sytuacjach Minimalna lub zerowa (w zależności od wybranej konfiguracji) utrata danych 10
38 Juliusz Jezierski Typy czuwających cych baz danych Fizyczna czuwająca baza danych B inarna kopia produkcyjnej bazy danych S ynchronizowana przez aplikowania binarnych zmian zarejestrowanych w dziennikach produkcyjnej bazy danych Logiczna czuwająca baza danych Logiczna kopia obiektów (tabel, indeksów, itp.) produkcyjnej bazy danych S ynchronizowana przez uruchamianie poleceń SQL ekstrahowanych za pomocą technologii Log Miner z dzienników produkcyjnej bazy danych 11 Tryby działania ania ODG Maksymalna Ochrona - zapewnia bezstratne odtworzenie danych, zapisy z dziennika produkcyjnej bazy danych są transmitowane synchronicznie -transakcje produkcyjnej bdsą zatwierdzane dopiero po pomyślnej transmisji do co najmniej jednej czuwającej bd, przy braku dos tępności choć jednej czuwającej bazy danych, produkcyjna bd się zatrzymuje Maksymalna Dostępność - Zapisy dziennika produkcyjnej bd są transmitowane synchronicznie J ednak przy braku dos tępności choć jednej czuwającej bazy danych, produkcyjna bd kontynuuje działanie Czuwające bd czasowo mogą być niespójne z produkcyjną bd Maksymalna W ydajność - Zapisy dziennika produkcyjnej bd są transmitowane asynchronicznie 12
Oracle Data Guard 10g wysoce niezawodna konfiguracja serwera bazy danych Oracle 39 Komponenty konfiguracji ODG LGW R - proces rejestrujący w bieżących plikach dziennika zmiany wprowadzone do BD AR C0 - proces archiwizujący zawartość bieżących plików dziennika w zarchiwizowanych plikach dziennika FAL - proces odtwarzający dziury w sekwencji plików dziennika przesłanych do czuwającej BD RFS - proces odbierający pliki dziennika MR P - aplikuje zmiany zapisane w plikach dziennika do fizycznej czuwającej BD LS P - aplikuje polecenia S QL zapisane w plikach dziennika do logicznej czuwającej BD 13 Konfiguracja ODG z fizyczną czuwająca ca bd i trans portem przez AR C 0 Transakcje produkcyjnej BD MRP Fizyczna czuwająca BD LGWR RFS Bieżące pliki dziennika FAL Oracle net raporty backup ARCO Zarchiwizowane pliki dziennika Zarchiwizowane pliki dziennika 14
40 Juliusz Jezierski Konfiguracja ODG z fizyczną czuwająca ca bd i trans portem przez LGWR Transakcje produkcyjnej BD MRP Fizyczna czuwająca BD LGWR RFS Czuwające pliki dziennika Bieżące pliki dziennika FAL Oracle net ARCO raporty backup ARCO Zarchiwizowane pliki dziennika Zarchiwizowane pliki dziennika 15 Konfiguracja ODG z logiczną czuwająca ca bd Transakcje produkcyjnej BD LSP Logiczna czuwająca BD LGWR RFS Bieżące pliki dziennika FAL Oracle net raporty backup ARCO Zarchiwizowane pliki dziennika Zarchiwizowane pliki dziennika 16
Oracle Data Guard 10g wysoce niezawodna konfiguracja serwera bazy danych Oracle 41 ODG Broker Komponent ułatwiający tworzenie, sterowanie i monitorowanie produkcyjnej bazy danych i wszystkich jej czuwających baz danych ODG Broker monitoruje dostępność, aktywność i stan zdrowia wszystkich systemów w danej konfiguracji ODG Posiada WEB-owy interfejs zintegrowany z OEM Grid Control Posiada również interfejs z linii komend - dgmgrl 17 Architektura ODG Broker Intelligent Agent Data Guard Broker repozytorium OEM Grid Control Produkcyjna baza danych Przeglądarka WEB Intelligent Agent Data Guard Broker Czuwająca baza danych dgmgrl 18
42 Juliusz Jezierski Konfiguracja ins tancji z ODG B roker spfile<sid>.ora dg_broker_start=true dg_broker_config_file1 dg_broker_config_file2 spfile<sid>.ora dg_broker_start=true dg_broker_config_file1 dg_broker_config_file2 ins tancja DMON produkcyjnej bazy danych ins tancja DMON czuwającej bazy danych Dziennik ODG Brokerbackground_dump_dest drc<sid>.ora Dziennik ODG Brokerbackground_dump_dest drc<sid>.ora Produkcyjna baza danych Czuwająca baza danych 19 Konfigurowanie Oracle Data Guard za pomocą EM Grid Control 20
Oracle Data Guard 10g wysoce niezawodna konfiguracja serwera bazy danych Oracle 43 Wymagania ODG P rodukcyjna baza danych musi działać w trybie archiwizacji plików dziennika - AR C HIVE LOG Produkcyjna baza danych i czuwające bazy danych muszą działać pod kontrolą takiego samego SZBD i SO Każda baza danych musi posiadać swój plik kontrolny Zaleca się włączenie rejestracji ws zystkich operacji na produkcyjnej bazie danych w plikach dziennika - FORCE LOGGING 21 Wywołanie GUI dla ODG 22
44 Juliusz Jezierski Dodanie czuwającej cej BD 23 Skonfigurowanie spfile SQL> connect / as sysdba Connected. SQL> create spfile from pfile; File created. SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Database mounted. Database opened. SQL> show parameter spfile NAME TYPE VALUE ---------------------- -------- ------------------------------ spfile string?/dbs/spfiledb100.ora 24
Oracle Data Guard 10g wysoce niezawodna konfiguracja serwera bazy danych Oracle 45 Dodanie fizycznej czuwającej cej BD 25 Przełą łączenie czenie B D w tryb archiwizacji dziennika powtórze rzeń 26
46 Juliusz Jezierski Ustawienie parametrów w ins tancji dla archiwizacji plików w dziennika powtórze rzeń 27 Dodanie fizycznej czuwającej cej BD- krok 1 28
Oracle Data Guard 10g wysoce niezawodna konfiguracja serwera bazy danych Oracle 47 Dodanie fizycznej czuwającej cej BD- krok 2 29 Dodanie fizycznej czuwającej cej BD- krok 3 30
48 Juliusz Jezierski Dodanie fizycznej czuwającej cej BD- krok 4 31 Dodanie fizycznej czuwającej cej BD- wskazanie lokalizacji plików w czuwającej cej BD 32
Oracle Data Guard 10g wysoce niezawodna konfiguracja serwera bazy danych Oracle 49 Dodanie fizycznej czuwającej cej BD- krok 5 33 Dodanie fizycznej czuwającej cej BD- krok 6 34
50 Juliusz Jezierski Uruchomienie zadania tworzenia czuwającej cej BD 35 Tworzenie czuwającej cej BD 36
Oracle Data Guard 10g wysoce niezawodna konfiguracja serwera bazy danych Oracle 51 Status czuwającej cej bazy danych 37 Zmiana trybu ochrony produkcyjnej bazy danych 38
52 Juliusz Jezierski Ustawienie trybu ochrony produkcyjnej bazy danych na maks ymalna dostępno t pność 39 Kroki zmiany trybu ochrony produkcyjnej bazy danych 40
Oracle Data Guard 10g wysoce niezawodna konfiguracja serwera bazy danych Oracle 53 Zmiana trybu działania ania czuwającej cej BD 41 Zmiana własnow asności czuwającej cej BD ARCH, SYNC, ASYNC OFF, ON 42
54 Juliusz Jezierski Startowanie S instancji czuwającej cej bazy danych za pomocą SQL W dwóch trybach: W trybie sterowanego odtwarzania: SQL> startup mount ORACLE instance started.... Database mounted. SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT; Database altered. SQL> select OPEN_MODE from v$database; OPEN_MODE ---------- MOUNTED W trybie tylko do odczytu: SQL> startup mount ORACLE instance started.... Database mounted. SQL> ALTER DATABASE OPEN READ ONLY; Database altered. SQL> select OPEN_MODE from v$database; OPEN_MODE ---------- READ ONLY 43 Zamiany ról r l produkcyjnej i czuwającej cej baz danych (switchover( switchover) 44
Oracle Data Guard 10g wysoce niezawodna konfiguracja serwera bazy danych Oracle 55 Kroki przygotowania do zamiany ról r produkcyjnej i czuwającej cej baz danych Upewnienie się, że produkcyjna i czuwająca baza danych działają Sprawdzenie, że obie bazy danych są w dobrym s tanie zdrowotnym (przez weryfikację plików ostrzeżeń instancji) Sprawdzenie własności podstawowej bazy danych aby mogła pełnić rolę czuwającej bazy danych (automatycznie wykonywane przez E M) Jeżeli trzeba, sprawdzić istnienie czuwających plików dziennika 45 Zmiana roli produkcyjnej bazy danych na czuwającą bazę danych za pomocą EM 46
56 Juliusz Jezierski Zmiana roli produkcyjnej bazy danych na czuwającą bazę danych za pomocą EM 47 Wynik zamiany rólr 48
Oracle Data Guard 10g wysoce niezawodna konfiguracja serwera bazy danych Oracle 57 Przykładowa diagnostyka niedostępno pności czuwającej cej bazy danych 49 Analiza pliku os trzeżeń 50
58 Juliusz Jezierski Analiza statusu ODG 51 Analiza dziennika ODG B roker [oracle@miner bdump]$ more drcdb101dg.log DG 2005-06-13-18:45:06 RSM 0 received GETPROP request: rid=0x02012000, pid=58 DG 2005-06-13-18:45:06 Database Resource: Get Property PotentialDataLoss DG 2005-06-13-18:45:06 RSM0: Failed to connect to remote database DB101. Error is ORA-12514 DG 2005-06-13-18:45:06 Database Resource GetProperty succeeded adm101@miner bdump]$ oerr ora 12514 12514, 00000, "TNS:listener does not currently know of service requested in connect descriptor" // *Cause: The listener received a request to establish a connection to a // database or other service. The connect descriptor received by the listener // specified a service name for a service (usually a database service) // that either has not yet dynamically registered with the listener or has // not been statically configured for the listener. This may be a temporary // condition such as after the listener has started, but before the database // instance has registered with the listener. // *Action: // - Wait a moment and try to connect a second time. // - Check which services are currently known by the listener by executing: // lsnrctl services <listener name> // - Check that the SERVICE_NAME parameter in the connect descriptor of the // net service name used specifies a service known by the listener. // - If an easy connect naming connect identifier was used, check that // the service name specified is a service known by the listener. // - Check for an event in the listener.log file. 52
Oracle Data Guard 10g wysoce niezawodna konfiguracja serwera bazy danych Oracle 59 Przykładowa diagnostyka niedostępno pności produkcyjnej baz danych 53 Analiza statusu baz danych na danej mas zynie 54
60 Juliusz Jezierski Analiza statusu produkcyjnej BD 55 Przełą łączenie czuwającej cej bazy danych do roli produkcyjnej bazy danych - failover 56
Oracle Data Guard 10g wysoce niezawodna konfiguracja serwera bazy danych Oracle 61 Failover Wykonywany jedynie w przypadku braku możliwości odtworzenia produkcyjnej bazy danych Możliwa utrata części danych Uszkodzona produkcyjna baza danych jest wyłączana z konfiguracji ODG S zczególnym przypadkiem failover jest aktywacja wybranej czuwającej bazy danych - niezalecana - powoduje trwałe wyłączenie pozostałych czuwających baz danych 57 Inicjacja failover 58
62 Juliusz Jezierski Wybór r opcji failover 59 Postęp p proces u failover 60
Oracle Data Guard 10g wysoce niezawodna konfiguracja serwera bazy danych Oracle 63 Weryfikacja statusu failover 61 Podsumowanie ODG jest złożonym środowiskiem służącym zwiększeniu niezawodności serwerów baz danych Oracle Zarządzanie ODG jest maksymalnie uproszczone przez zastosowanie E M G rid C ontrol Czuwające bazy danych mogą być wykorzys tane przez aplikacje raportujące (read-only) 62
64 Juliusz Jezierski Literatura Oracle Data G uard C oncepts and Administration 10g Oracle Data Guard Broker 10g Oracle Database Administrator's Guide 10g Oracle Database Concepts 10g Oracle Data Guard - Technical White Paper http://www.oracle.com/technology/deploy/availability/pdf/ TWP_DataGuard_10gR2.pdf 63