1 / 51

Administracja serwerem bazy danych Oracle 11g Zarządzanie kopiami bezpieczeństwa i odtwarzaniem Wykład nr 5

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

gili
Download Presentation

Administracja serwerem bazy danych Oracle 11g Zarządzanie kopiami bezpieczeństwa i odtwarzaniem Wykład nr 5

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Administracja serwerem bazy danych Oracle 11gZarządzanie kopiami bezpieczeństwa i odtwarzaniem Wykład nr 5 Michał Szkopiński

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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ą

  7. Awaria sieci • Awaria karty sieciowej serwera/klienta • Awaria łącza • Awaria procesu LISTENER-a

  8. 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

  9. Awaria instancji • Brak prądu • Awaria sprzętu (CPU, RAM) • Awaria jednego z procesów serwera • SHUTDOWN ABORT

  10. 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

  11. Mechanizmy ochrony instancji bazy przed awarią

  12. Control files CKPT Data files Checkpoint Mechanizmy ochrony instancjiProcesCheckpoint (CKPT) • CKPT jest odpowiedzialny za: • SygnalizowanieDBWno 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 Database Writer

  13. SGA Redo log buffer LGWR LogWriter Redo log group 1 Redo log group 3 Redo log group 2 Mechanizmy ochrony instancji : PlikiRedo Log i procesLogWriter • Pliki Redo log: • Przechowują zmiany przeprowadzane w transakcjach • Są zorganizowane w grupy nadpisywane cyklicznie • LogWriterzapisuje kiedy: • Commit • Bufor Redo zapisany w 1/3 • Co 3 sekundy • Przed każdym zapisemDBWn

  14. Redo log buffer Copies of Redo log files Redo log files Mechanizmy ochrony instancji : Proces Archiver(ARCn) • Archiver (ARCn): • Jest opcjonalnym procesem działającym w instancji • Automatycznie archiwizujepliki redo logów, ale tylko kiedy baza działa w trybie ARCHIVELOG • Zachowuje wszystkie zmiany dokonywane w bazie SGA LGWR LogWriter ARCn Archiver

  15. 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 .

  16. SGA Background processes Undo 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 Database SCN: 74-101 SCN:140 SCN:143 SCN: 102-143 SCN:129 SCN:143 SCN: 99 Control files Redo log group Data files

  17. Ostatni Checkpoint KoniecRedo loga Odtwarzanie instancji Transakcje 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

  18. 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_sizeFROM V$INSTANCE_RECOVERY; • TARGET_MTTR ESTIMATED_MTTR CKPT_BLOCK_WRITESoptimal_logfile_size • ----------- --------------------------------------------------- •      37             22            209187 256 [MB]

  19. Przygotowanie do wykonywania kopii bezpieczeństwa

  20. 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;

  21. 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

  22. 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 trybARCHIVELOG Archive log files Online redo log files

  23. 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!

  24. Kopie bezpieczeństwa - Backup

  25. Image copies Backup pieces Backup data 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 Data files Archive log files Redundant archive log files Flash recovery area

  26. 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

  27. 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

  28. 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

  29. 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)

  30. 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

  31. 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 #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)

  32. Scenariusze backupowania (1)Przyrostowe, różnicowe

  33. Scenariusze backupowania (2)Przyrostowe, kumulacyjne

  34. Scenariusze backupowania (3)Przyrostowe, kumulacyjno – różnicowe

  35. Konfigurowanie RMAN-a $ rman target / RMAN> CONFIGUREDEFAULTDEVICETYPETODISK; RMAN> CONFIGUREDEVICETYPEDISKBACKUPTYPETOBACKUPSET; RMAN> CONFIGUREDEVICETYPEDISKBACKUPTYPETO COPY; RMAN> CONFIGURECONTROLFILEAUTOBACKUPON; 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;

  36. Polecenia RMAN-a (1) $ rman target / RMAN> BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT; RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASEPLUS 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;

  37. 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;

  38. Automatyzacja wykonywania kopii bezp.

  39. Monitorowanie przestrzeni Flash Recovery Area

  40. Odtwarzanie po awarii dysków

  41. 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

  42. 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!

  43. 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

  44. 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

  45. Utrata wszystkich plików kontrolnych RecoveryManager(RMAN) Flash Recovery Area Controlfile Database RMAN> STARTUP NOMOUNT; RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP; RMAN> ALTER DATABASE MOUNT; RMAN> RECOVER DATABASE; RMAN> ALTER DATABASE OPEN RESETLOGS; Pliki kontrolne

  46. 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 Redo log Grupa1 Redo log Grupa3

  47. 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 • ALTER DATABASE OPEN RESETLOGS; • Grupa redo jest CURRENT, ale baza nie została czysto zamknięta • RESTORE DATABASE; • RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL; • ALTER DATABASE OPEN RESETLOGS; Redo log Grupa 2 Redo log Grupa1 Redo log Grupa3

  48. Utrata pliku zwykłej przestrzeni tabel w trybieARCHIVELOG • 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

  49. Utrata pliku zwykłej przestrzeni tabel w trybieNOARCHIVELOG • 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

  50. 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

More Related