Administracja serwerem bazy danych Oracle 11g Zarządzanie kopiami bezpieczeństwa i odtwarzaniem Wykład nr 5 Michał Szkopiński
Agenda Zadania administratora i rodzaje awarii Mechanizmy ochrony instancji bazy przed awarią Przygotowanie bazy do wykonywania kopii bezpieczeństwa i odtwarzania Wykonywanie kopii bezpieczeństwa Odtwarzanie po awarii dysków Oracle Database 11g: Administration Workshop I 14 - 2
Zadania administratora DBA Do głównych zadań DBA należy: Przygotowanie bazy do wykonywania kopii bezpieczeństwa Odtwarzanie w razie awarii Zapewnienie maksymalnego czasu między awariami (MTBF) Zapewnienie minimalnego czasu odtwarzania (MTTR) Minimalizacja utraty danych Oracle Database 11g: Administration Workshop I 14 - 3
Rodzaje błędów i awarii Poprawne operacje DML i DDL zakończone niepowodzeniem Awaria procesu użytkownika Awaria sieci Błąd człowieka Awaria instancji Awaria nośników danych Oracle Database 11g: Administration Workshop I 14 - 4
Poprawne polecenie DDL i DML zakończone błędem Niepoprawne dane w poleceniach DML (I,U) Próba wykonania operacji bez odpowiednich uprawnień Brak miejsca (osiągnięty limit dla bazy lub użytkownika) Błąd logiczny w aplikacji Oracle Database 11g: Administration Workshop I 14 - 5
Awaria procesu użytkownika Nieoczekiwane rozłączenie sesji użytkownika W wyniku awarii proces użytkownika W wyniku nagłego rozłączenia przez użytkownika W wyniku „zabicia” sesji przez administratora W wyniku problemów z siecią Oracle Database 11g: Administration Workshop I 14 - 6
Awaria sieci Awaria karty sieciowej serwera/klienta Awaria łącza Awaria procesu LISTENER-a Oracle Database 11g: Administration Workshop I 14 - 7
Błąd człowieka Błędnie wykonane polecenia DML i DDL Błednie zdefiniowana klauzla WHERE Usunięcie tabeli poleceniem DROP Odzyskiwanie przez użycie technologii Flashback: Podgląd danych jakie były w przeszłości Przywrócenie danych sprzed błędu Odtworzenie tabel z kosza Porównanie różnych wersji tych samych rekordów w różnych punktach w czasie Oracle Database 11g: Administration Workshop I 14 - 8
Awaria instancji Brak prądu Awaria sprzętu (CPU, RAM) Awaria jednego z procesów serwera SHUTDOWN ABORT Oracle Database 11g: Administration Workshop I 14 - 9
Awaria nośników danych Awaria dysku Awaria kontrolera dysku Utrata jednego z plików bazy danych Błąd odczytu/zapisu do pliku bazy danych Tylko tutaj przydadzą się kopie bezpieczeństwa czyli tzw. backup Oracle Database 11g: Administration Workshop I 14 - 10
Mechanizmy ochrony instancji bazy przed awarią
Mechanizmy ochrony instancji Proces Checkpoint (CKPT) CKPT jest odpowiedzialny za: Sygnalizowanie DBWn o zdarzeniu checkpoint Aktualizacji nagłówków plików danych z informacją o checkpoint-ach Aktualizacji pliku kontrolnego z informacją o checkpoint-ach SGA Database buffer cache DBWn Control files Database Writer Data files Checkpoint CKPT Oracle Database 11g: Administration Workshop I 14 - 12
Mechanizmy ochrony instancji : Pliki Redo Log i proces LogWriter Przechowują zmiany przeprowadzane w transakcjach Są zorganizowane w grupy nadpisywane cyklicznie LogWriter zapisuje kiedy: Commit Bufor Redo zapisany w 1/3 Co 3 sekundy Przed każdym zapisem DBWn SGA Redo log buffer LogWriter LGWR Redo log group 2 Redo log group 1 Redo log group 3 Oracle Database 11g: Administration Workshop I 14 - 13
Mechanizmy ochrony instancji : Proces Archiver (ARCn) Jest opcjonalnym procesem działającym w instancji Automatycznie archiwizuje pliki redo logów, ale tylko kiedy baza działa w trybie ARCHIVELOG Zachowuje wszystkie zmiany dokonywane w bazie SGA Redo log buffer LGWR LogWriter Copies of Redo log files Redo log files ARCn Archiver Oracle Database 11g: Administration Workshop I 14 - 14
Odtwarzanie po awarii instancji Jest to automatyczny proces wykonywany przez SMON: Inicjowany przy próbie otwarcia bazy danych w momencie kiedy pliki bazy nie są ze sobą zsynchronizowane Używa informacji w plikach Redo do synchronizacji plików danych Zawiera dwie operacje: „Dokręcanie w przód” (Rolling forward): Pliki danych są doprowadzane do momentu tuż przed awarią „Odkręcanie w tył” (Rolling back): Zmiany dokonane, ale nie zatwierdzone są wycofywane przy użyciu segmentów Undo . Oracle Database 11g: Administration Workshop I 14 - 15
Fazy odtwarzania instancji po awarii Instance Brak synchronizacji plików danych Dokręcanie w przód (redo) Zatwierdzone i niezatwierdzone dane w plikach danych Otwarcie bazy danych Odkręcanie w tył (undo) Tylko zatwierdzone dane w plikach danych SGA Background processes Database SCN: 74-101 SCN:140 SCN:143 Undo SCN: 102-143 SCN:129 SCN:143 SCN: 99 Control files Redo log group Data files Oracle Database 11g: Administration Workshop I 14 - 16
Odtwarzanie instancji Checkpoint i Redo Logi Otwarzanie po awarii instancji następuje z redo logów Od pozycji oznaczonej ostatnim Checkpoint-em do końca redo loga Te bloki, które nie zostały zapisane do plików danych muszą być aplikowane z redo logów Koniec Redo loga Ostatni Checkpoint Transakcje Odtwarzanie instancji Oracle Database 11g: Administration Workshop I 14 - 17
Ustalanie czasu odtwarzania po awarii instancji Parametr fast_start_mttr_target Ustala oczekiwany czas odtwarzania po awari instancji Domyślna wartość: 0 (mechanizm wyłączony). Maksymalna wartość: 3,600 sekund (1h). MTTR wpływa na częstotliwość CHECKPOINT-ów i sugeruje rozmiar redo logów SELECT TARGET_MTTR, ESTIMATED_MTTR, CKPT_BLOCK_WRITES, optimal_logfile_size FROM V$INSTANCE_RECOVERY; TARGET_MTTR ESTIMATED_MTTR CKPT_BLOCK_WRITES optimal_logfile_size ----------- -------------- ----------------- -------------------- 37 22 209187 256 [MB] Oracle Database 11g: Administration Workshop I 14 - 18
Przygotowanie do wykonywania kopii bezpieczeństwa
Zapewnienie maksymalnej dostępności i możliwości odtwarzania Wykonywać regularne kopie bezpieczeństwa Zwielokrotnić plik kontrolny min 3 kopie na różnych dyskach podłączone do różnych kontrolerów Parametr CONTROL_FILES Zwielokrotnić pliki redo logów Co najmniej 2 kopie w tej samej grupie redo logów V$LOG, V$LOGFILE ALTER DATABASE ADD LOGFILE MEMBER... Włączyć tryb ARCHIVELOG Archiwizacja redo logów do archive logów ALTER DATABASE ARCHIVELOG; Oracle Database 11g: Administration Workshop I 14 - 20
Przygotowanie do wykonywania kopii bezpieczeństwa i odtwarzania (1) Flash recovery area: Katalog na dysku gdzie składowane będą wszystkie kopie bezpieczeństwa Lokalizacja określona przez parametr: DB_RECOVERY_FILE_DEST Rozmiar przestrzeni określony parameterem: DB_RECOVERY_FILE_DEST_SIZE Przestrzeń zarządzana automatycznie w zależności od polityki retencji Oracle Database 11g: Administration Workshop I 14 - 21
Przygotowanie do wykonywania kopii bezpieczeństwa i odtwarzania (2) Archive Logs Określenie konwencji nazewniczej dla Archove Logów LOG_ARCHIVE_FORMAT np: %t_%s_%r.dbf Określenie lokalizacji archive logów Domyślna wartość to: USE_DB_RECOVERY_FILE_DEST Przełączyć bazę danych w tryb ARCHIVELOG Archive log files Online redo log files Oracle Database 11g: Administration Workshop I 14 - 22
Przygotowanie do wykonywania kopii bezpieczeństwa i odtwarzania (3) Tryb ARCHIVELOG Uruchomić SQLPLUS jako SYS Wystartować bazę w trybie MOUNT STARTUP MOUNT; Przełączyć bazę w tryb ARCHIVELOG ALTER DATABASE ARCHIVELOG; Otworzyć bazę danych ALTER DATABASE OPEN; Tylko w tym trybie mamy dostę do wszystkich opcji wykonywania kopii bezpieczeństwa i odtwarzania! Oracle Database 11g: Administration Workshop I 14 - 23
Kopie bezpieczeństwa - Backup
Kopie bezpieczeństwa - narzędzia Kopie bezpieczeństwa wykonuje się za pomocą: Recovery Manager (RMAN) Oracle Secure Backup (dodatek do RMAN-a) Ręcznie Target database Image copies Backup pieces Backup data Data files Archive log files Redundant archive log files Flash recovery area Oracle Database 11g: Administration Workshop I 15 - 25
RMAN i Oracle Secure Backup RMAN i Oracle Secure Backup zapewniają pełne wsparcie wykonywania kopii bezpieczeństwa w: Centralizowanym środowisku macierzy dyskowych i bibliotek taśmowych Środowisku sieciowym Kompresji i szyfrowania Zapewnia pojedyncze narzędzie do zarządzania kopiami bezpieczeństwa i odtwarzaniem Wykonuje kopie bezpieczeństwa Plików danych Logów archiwalnych Pliku kontrolnego i pliku parametrów Oracle Database 11g: Administration Workshop I 15 - 26
Ręczne wykonywanie kopii bezpieczeństwa Proces w pełni sterowany i kontrolowany przez DBA: Wymaga ręcznego śledzenia zapotrzebowania na backup Wymaga napisania odpowiednich skryptów Wymaga przestawienia przestrzeni tabel w odpowiedni status Bazuje na operacjach kopiowania plików w systemie operacyjnym Oracle Database 11g: Administration Workshop I 15 - 27
Rodzaje kopii bezpieczeństwa (1) Ze względu na zawartość: Całej bazy danych (Whole) Wszystkie pliki przestrzeni tabel (data files) Logi archiwalne (archive logs) Plik kontrolny (control file) plik parametrów (spfile) Częściowy – wybrane pliki (Partial) Pojedyncze pliki w przestrzeniach tabel Tylko wybrane przestrzenie tabel Oracle Database 11g: Administration Workshop I 15 - 28
Rodzaje kopii bezpieczeństwa (2) Ze względu na tryb Pełny (Full) wszystkie bloki danych w wybranych plikach Przyrostowy (Incremental): Poziom 0 – czyli pełny backup wszystkich bloków danych Poziom 1 – czyli przyrostowy: Kumulacyjny (Cumulative) Zmiany dokonane od ostatniego backupu pełnego na poziomie 0 Różnicowy (Differential) Zmiany dokonane od backupu przyrostowego z poziomu 1)
Rodzaje kopii bezpieczeństwa (3) Ze względu na stan bazy danych Offline „Zimny backup” Wykonywany kiedy baza jest zamknięta Wszystkie pliki danych zostały zsynchronizowane podczas zamykania SHUTDOW NORMAL, TRANSACTIONL, IMMEDIATE Online „Gorący backup” Wykonywany podczas normalnej pracy bazy danych Ręcznie: ALTER TABLESPACE BEGIN BACKUP RMAN
Składowanie kopii bezpieczeństwa Kopie bezpieczeństwa mogą być składowane jako: Dokładne kopie plików bazy danych – Image Copies „Zestawy backup-owe” - Backup Sets Data file #1 Data file #1 Data file #2 Data file #3 Data file #4 Data file #5 Data file #6 Data file #2 Data file #3 Backup set (Pliki binarne, skompresowane w specyficznym formacie) Data file #4 Data file #5 Data file #6 Image copies (Zduplikowane pliki w systemie operacyjnym) Oracle Database 11g: Administration Workshop I 15 - 31
Scenariusze backupowania (1) Przyrostowe, różnicowe
Scenariusze backupowania (2) Przyrostowe, kumulacyjne
Scenariusze backupowania (3) Przyrostowe, kumulacyjno – różnicowe
Konfigurowanie RMAN-a $ rman target / RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK; RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET; RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COPY; RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON; RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 1; RMAN> CONFIGURE BACKUP OPTIMIZATION ON; RMAN> SHOW ALL; SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST = ‘\u01\...’; SQL> ALTER DATABSE ENABLE BLOCK CHANGE TRACKING; Oracle Database 11g: Administration Workshop I 15 - 35
Polecenia RMAN-a (1) $ rman target / RMAN> BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT; RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE PLUS ARCH... RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE; RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE; RMAN> BACKUP TABLESPACE USERS, TOOLS; RMAN> BACKUP DATAFILE 1,2,3,4;
Polecenia RMAN-a (2) $ rman target / RMAN> LIST BACKUP [SUMMARY]; RMAN> LIST COPY; RMAN> LIST BACKUPSET n RMAN> REPORT OBSOLETE; RMAN> DELETE OBSOLETE; RMAN> CROSSCHECK BACKUP; RMAN> DELETE EXPIRED BACKUP; RMAN> DELETE BACKUPPIECE n; RMAN> DELETE BACKUP TAG=‘...’; RMAN> DELETE BACKUP;
Automatyzacja wykonywania kopii bezp. Oracle Database 11g: Administration Workshop I 15 - 38
Monitorowanie przestrzeni Flash Recovery Area Oracle Database 11g: Administration Workshop I 15 - 39
Odtwarzanie po awarii dysków
Otwieranie bazy danych - przypomnienie Żeby otworzyć bazę danych: Wszystkie pliki kontrolne muszą być dostępne i zsynchronizowane Pliki przestrzeni tabel muszą być dostępne i zsynchronizowane Przynajmniej jedna kopia redo logów w grupie musi być dostępna do zapisu OPEN STARTUP MOUNT NOMOUNT SHUTDOWN Oracle Database 11g: Administration Workshop I 16 - 41
Utrzymanie działające i otwartej bazy danych Instancja przestanie normanie pracować jeśli: Zostanie utracony choć jeden plik kontrolny Pliki przestrzeni tabel SYSTEM i UNDO przestaną być dostępne Cała grupa redo logów przestanie być dostępna W przypadku utraty pliku zwykłej przestrzeni tabel baza będzie normalnie pracować z wyjątkiem operacji na tej przestrzeni! Oracle Database 11g: Administration Workshop I 16 - 42
Utrata jednego pliku kontrolnego W przypadku utraty jednego z 2 lub 3 kopii pliku kontrolnego należy: Wymusić zamknięcie bazy danych (jeśli jest otwarta). SHUTDOWN ABORT Przywrócić utracony plik z pozostałych kopii w: To samo miejsce jeśli możliwe W nowe miejsce i zaaktualizować plik parametrów PFILE Otworzyć instancję Pliki kontrolne Oracle Database 11g: Administration Workshop I 16 - 43
Utrata wszystkich plików kontrolnych W przypadku utraty wszystkich plików kontrolnych Należy przywrócić plik kontrolny z kopii bezpieczeństwa RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP; Wykonać odtwarzanie całej bazy danych z kopii bezpieczeństwa Otworzyć bazę z opcją RESETLOGS Baza zostaje odtworzona nie do momentu sprzed awarii ale do ostatniego backupu i dostępnych archive logów Pliki kontrolne
Utrata wszystkich plików kontrolnych Recovery Manager (RMAN) Flash Recovery Area Control file Database RMAN> STARTUP NOMOUNT; RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP; RMAN> ALTER DATABASE MOUNT; RMAN> RECOVER DATABASE; RMAN> ALTER DATABASE OPEN RESETLOGS; Pliki kontrolne
Utrata redo logów (1) W zależności od scenariusza: Utrata jednej tylko kopii pliku w grupie redo Pracuje normalnie Informuje o utracie jednego pliku w Alert logu Odtwarzamy utracony plik przez utworzenie nowego Alter database clear logfile group 1; Redo log Grupa 2 Grupa 1 Grupa 3 Oracle Database 11g: Administration Workshop I 16 - 46
Utrata redo logów (2) Utrata wszystkich plików w grupie redo Grupa 2 Grupa 1 Grupa 3 Utrata redo logów (2) Utrata wszystkich plików w grupie redo Grupa redo nie jest CURRENT i została zarchiwizowana ALTER DATABASE CLEAR LOGFILE GROUP <group#>; Grupa redo nie jest CURRENT i nie została zarchiwizowana RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL; ALTER DATABASE OPEN RESETLOGS; Grupa redo jest CURRENT, ale baza została czysto zamknięta Grupa redo jest CURRENT, ale baza nie została czysto zamknięta RESTORE DATABASE;
Utrata pliku zwykłej przestrzeni tabel w trybie ARCHIVELOG Jeśli utracono pliki zwykłej przestrzeni tabel, a więc nie SYSTEM i UNDO to: Należy odtworzyć utracony plik z kopii bezpieczeństwa RUN { SET NEWNAME FOR DATAFILE 3 to ‘NEW LOC’; RESTORE DATAFILE 3; SWITCH DATAFILE 3; RECOVER DATAFILE 3; } Users Oracle Database 11g: Administration Workshop I 16 - 48
Utrata pliku zwykłej przestrzeni tabel w trybie NOARCHIVELOG Jeśli utracono pliki zwykłej przestrzeni tabel, a więc nie SYSTEM i UNDO to: Należy odtworzyć całą bazę danych z ostatniej kopii bezpieczeństwa Stan bazy będzie z momentu wykonywania kopii bezpieczeństwa Użytkownicy muszą ponownie wprowadzić swoje dane! User User User User User Oracle Database 11g: Administration Workshop I 16 - 49
Utrata pliku przestrzeni tabel SYSTEM w trybie ARCHIVELOG Jeśli utracono plik przestrzeni tabel SYSTEM lub UNDO: Instancja zamknie się automatycznie lub przestanie reagować. Należy wtedy wymusić zamknięcie SHUTDOWN ABORT. Zamontować bazę STARUP MOUNT Przywrócić utracony plik RUN { SET NEWNAME FOR DATAFILE 1 to ‘NEW LOC’; RESTORE DATAFILE 1; SWITCH DATAFILE 1; RECOVER DATAFILE 1; } Otworzyć baze danych ALTER DATABASE OPEN; Users Oracle Database 11g: Administration Workshop I 16 - 50
zapraszam na ćwiczenia Dziękuję za uwagę i zapraszam na ćwiczenia