Wykład 1 Cele i strategie archiwizacji i odtwarzania Rozumienie funkcjonowania operacji archiwizacji i odtwarzania bazy danych. Wdrożenie strategii wykonywania kopii zapasowych i jej wykorzystywanie do odtwarzania bazy w przypadku różnych awarii.
Przegląd ą treści wykładu Znaczenie backupów dla późniejszego odtwarzania bazy. Rodzaje backupów - odpowiednie dla różnych strategii odtwarzania. Analiza wymagań dla decyzji wyboru strategii archiwizacji i odtwarzania. Konieczność zgody zarządzających na wybraną metodę archiwizacji. Konieczność testowania strategii archiwizacji i odtwarzania.
Rodzaje kopii zapasowych Rodzaj kopii zapasowych zależy od wymagań: Fizyczne kopie plików z systemu operacyjnego tworzone przy zamkniętej lub otwartej bazie. Kopie logiczne obiektów w bazie danych. Wykorzystanie programu RMAN
Wybór strategii t Wybór strategii powinien zależeć od następujących czynników: Wymagania przedsiębiorstwa Poziom aktywności bazy danych Natura danych (zmienność, źródła) Częstotliwość zmian w strukturze bazy Ważność danych i ich ciągłej dostępności dla przedsiębiorstwa
Kwestie odtwarzania po klęsce żywiołowej Jak na przedsięwzięcie może wpłynąć poważna klęska żywiołowa? Trzęsienie ziemi, powódź, pożar, strata komputera Utrata kluczowego personelu, naprzykład administratora bazy lub systemu itd. Czy istnieje plan okresowego testowania strategii archiwizacji i odtwarzania?
Podsumowanie Wymagania przedsiębiorstwa określają strategię archiwizacji i odtwarzania. Posiadanie backupów dla jest krytyczne dla późniejszego odtwarzania. Konieczne są kopie bazy i kopie archiwalne dzienników powtórzeń dla różnych scenariuszy odtwarzania. Testowanie strategii archiwizacji i odtwarzania jest niezbędne.
Metody archiwizacji - cele Kopie fizyczne i logiczne bazy danych. Opis sposobu wykonywania poprawnych kopii. Implikacje archiwizowania bądź ą nie dziennika powtórzeń. Implikacje prowadzenia operacji 24-godziny na dobę dla archiwizacji i odtwarzania. Implikacje czasu archiwizacji. Implikacje czasu odtwarzania. Implikacje archiwizacji i odtwarzania na poziomie transakcji. Archiwizacja i odtwarzanie przestrzeni tabel tylko do odczytu
Przesłanki pomyślnego zakończenia odtwarzania: Przewidzenie różnych awarii Wybór metody (metod) archiwizacji Poprawne wykonanie kopii Rozumienie struktur odtwarzania Zapoznanie się ze strategiami odtwarzania Ćwiczenie i i itestowanie t scenariuszy odtwarzania
Metody wykonywania y backupów Backup w systemie operacyjnym Backup z pomocą RMAN a Narzędzia Export/Import Oraz DpExp/DpImp Bez archiwizacji dziennika powtórzeń Z archiwizacją dziennika powtórzeń) Bez archiwizacji i dziennika powtórzeń Z archiwizacją dziennika powtórzeń Backup fizyczny Backup fizyczny Backup logiczny
Pełne ł backupy offline i online Pliki kontrolne Pliki dziennika powtórzeń Pliki danych Pliki parametrów Plik z hasłami Zarchiwizowane pliki dziennika powtórzeń
Pełny backup bazy - offline Pliki danych Pliki dziennika powtórzeń Pliki kontrolne Pliki parametrów Plik z hasłem Zewnętrzne ę miejsce składowania kopii (offline storage) SELECT * FROM v$datafile; SELECT * FROM v$logfile; SELECT * FROM v$controlfile; SELECT * from V$tempfile;
Wykonanie pełnego ł backupu bazy - offline 1. Normalne zamknięcie bazy danych. 2. Skopiowanie wszystkich plików bazy. Plików danych Plików kontrolnych Plików dziennika powtórzeń Pliku z parametrami (opcjonalne) Pliku z hasłem (opcjonalne) 3. Ponowne wystartowanie bazy.
Wykonanie pełnego ł backupu bazy - offline SQL> CONNECT sys AS sysdba Connected. SQL> SHUTDOWN Database closed. Database dismounted. ORACLE instance shut down. SQL> HOST cp <files> <backup dir> SQL> STARTUP Oracle instance started...
Zalety pełnego ł backupu bazy - offline Prosty koncepcyjnie Łatwy do wykonania Wymaga mało pracy ze strony operatora Pewny
Proces odtwarzania Baza wymagająca 1. 1W Wgranie kopii zapasowych odtwarzania 2. Roll forward (aplikacja dzienników powtórzeń -również Baza z zatwierdzonymi odtworzenie segmentów i niezatwierdzonymi wycofania, otwarcie bazy) transakcjami 3. Roll llb back k( (wykorzystane segmenty wycofania i nowe procesy użytkowników) Niezatwierdzona transakcja Transakcja zatwierdzona Baza z transakcjami zatwierdzonymi i oraz nowymi
Tryb NOARCHIVELOG LGWR 1a 2a Pliki dziennika powtórzeń 1b 2b
Wyświetlanie ś itl i statusu tt archiwizacji SQL> connect system as sysdba Proszę podać hasło: ****** Połączono. SQL> archive log list Tryb dziennika bazy danych Tryb bez archiwizacji Automatyczna archiwizacja Wyłączona Miejsca archiwizowania USE_DB_RECOVERY_FILE_DEST DEST Najstarsza sekwencja dziennika online 110 Bieżąca sekwencja logowania 112 SQL>
Zmiana trybu archiwizacji ALTER DATABASE database SQL> startup mount Instancja ORACLE zosta a uruchomiona. Total System Global Area 272629760 bytes Fixed Size 1248504 bytes Variable Size 146801416 bytes Database Buffers 121634816 bytes Redo Buffers 2945024 bytes Baza danych została zamontowana. SQL> alter database dtb archivelog; Baza danych została zmieniona. SQL> alter database open; Baza danych zosta a zmieniona. SQL> shutdown immediate Baza danych zosta a zamkniŕta. Baza danych zosta a zdemontowana. Instancja ORACLE zosta a zamkniŕta. ARCHIVELOG NOARCHIVELOG
Operacje 24-godzinne di Systemy baz danych często muszą być dostępne 24 godziny na dobę, 7 dni w tygodniu. Wszystkie dane muszą być dostępne dla operacji ciągłych. Zamykanie bazy dla pielęgnacji nie dozwolone.
Czas archiwizacji Backup offline oznacza zamknięcie systemu. Jeśli zamknięcie systemu stanowi problem, administratorzy winni korzystać z backupów online. Czas odtwarzania Operacje odtwarzania wpływają wprost na czas niedostępności bazy. Odtwarzanie równoległe przyspiesza operację odtwarzania.
Poziom aktywności ś itransakcyjnej j Liczba i rozmiar transakcji wpływa na pożądaną częstotliwość wykonywania kopii. Liczba i rozmiar transakcji wpływa na czas potrzebny do odtworzenia bazy.
Archiwizacja i i odtwarzanie przestrzeni tabel Read-Only Po przełączeniu ł przestrzeni tabel w tryb btylko do odczytu, potrzebna jest tylko jedna jej kopia. Przestrzenie tabel read-only są ignorowane w czasie odtwarzania. Plik kontrolny musi poprawnie identyfikować przestrzenie tabel tylko do odczytu, inaczej muszą one być odtwarzane.
Archiwizacja i przestrzeni itabel tylko do odczytu Nie korzysta się z kopii przestrzeni tabel tylko do odczytu, chyba że pliki tej przestrzeni zostaną uszkodzone. Pliki danych należy kopiować korzystając z narzędzi systemu operacyjnego. Po przełączeniu przestrzeni tabel w tryb readwrite, należy powrócić dla niej do normalnych procedur archiwizacji.
Podsumowanie Rozróżnienie pomiędzy backupem logicznym i fizycznym. Sposoby sporządzania dobrej jkopii zapasowej. Implikacje archiwizacji dziennika powtórzeń. Implikacje pracy 24-godzinnej dla archiwizacji i odtwarzania. Implikacje czasu potrzebnego na wykonanie kopii. Implikacje czasu potrzebnego do odtwarzania. Implikacje poziomu aktywności transakcyjnej dla archiwizacji i odtwarzania. Archiwizacja i odtwarzanie przestrzeni tabel tylko do odczytu.
Wykład 2 Teoria odtwarzania i scenariusze awarii -cele Po co potrzebne jest odtwarzanie. Etapy odtwarzania -Odzyskiwanie plików danych. - Stosowanie zarchiwizowanych plików dziennika powtórzeń i otworzenie bazy. - Wycofanie niezatwierdzonych transakcji. Odtwarzanie do punktu awarii (pełne). Odtwarzanie do punktu w przeszłości ł ś i( (niepełne). ł Scenariusze awarii.
Przegląd treści ś wykładu DBA musi utrzymywać system działający, zdolny do pracy, z aktualnymi danymi. Czas niedostępności bazy może się bezpośrednio ś przełożyć ł ż ć na utratę t dochodów. dó Odtwarzanie wymaga poprawnej p kopii plików bazy danych. Odtworzenie transakcji wymaga archiwizacji dziennika powtórzeń.
Proces odtwarzania Baza wymagająca 1. 1W Wgranie kopii zapasowych odtwarzania 2. Roll forward (aplikacja dzienników powtórzeń -również Baza z zatwierdzonymi odtworzenie segmentów i niezatwierdzonymi wycofania, otwarcie bazy) transakcjami 3. Roll llb back k( (wykorzystane segmenty wycofania i nowe procesy użytkowników) Niezatwierdzona transakcja Transakcja zatwierdzona Baza z transakcjami zatwierdzonymi i oraz nowymi
Odzyskiwanie i odtwarzanie plików danych (pełne - complete) Przed odzyskaniem plików danych 27 27 27 Po odzyskaniu 27 15 18 Po odtwarzaniu 27 27 27
Odtwarzanie pełne (do momentu awarii) Przed odtwarzaniem 27 15 18 Po odtwarzaniu 27 27 27
Odtwarzanie niepełne (incomplete) Po wgraniu plików danych 21 15 18 Po operacji odtwarzania 23 23 23 Po wyzerowaniu dziennika powtórzeń i otwarciu bazy 1 1 1
Scenariusze awarii Rozpoznanie implikacji: Niepowodzenia polecenia Awarii procesu użytkownika Awarii instancji Awarii maszyny Awarii systemu operacyjnego Błędu ę użytkownika Awarii nośnika Katastrofy
Niepowodzenie i polecenia Najczęstsze przyczyny: Błąd logiczny w aplikacji Próba wprowadzenia do tabeli błędnych danych Próba wykonania operacji bez dostatecznych uprawnień Próba utworzenia tabeli z przekroczeniem przyznanych limitów miejsca Próba wykonania na tabeli INSERT bądź UPDATE, która powoduje alokację nowego ekstentu, ale w przestrzeni tabel nie ma już wolnego miejsca
Niepowodzenie i polecenia Rozwiązania: Poprawienie aplikacji Poprawienie i ponowne wykonanie polecenia SQL Nadanie odpowiednich przywilejów w bazie Zamiana limitów miejsca poleceniem ALTER USER Dodanie pliku do przestrzeni tabel Skorzystanie z podręcznika: Oracle Server Messages and Codes Manual
Awaria procesu użytkownika Nj Najczęstsze przyczyny Użytkownik odłączył się w sposób nienormalny. Sesja użytkownika została nienormalnie zakończona. Program użytkownika zgłosił wyjątek (np. dot. adresu) i zakończył sesję. Rozwiązania PMON wycofuje transakcje przerwanego procesu i zwalnia wszystkie zasoby iblokady, jakie zostały ł założone. Proces PMON wykrywa nienormalnie i zakończony (przerwany) proces użytkownika.
Najczęstsze przyczyny Przerwa w zasilaniu. Awaria instancji Problem sprzętowy, np. błąd pamięci ilub awaria CPU. Problem programowy, np. awaria systemu operacyjnego. Awaria obligatoryjnego g procesu drugoplanowego g Oracle (DBWR, LGWR, PMON, SMON, CKPT). Rozwiązanie Server Oracle automatycznie odtwarza instancję przy następnym starcie bazy.
Odtwarzanie po awarii instancji Proces uruchamiania i systemu (instancji ib bazy) 1.Uruchamianie instancji. 2.Czytanie pliku kontrolnego, baza - montowana. 3.Wykonywanie fazy Roll-forward forward. 4.Otwieranie bazy danych. 5.Wycofanie transakcji i zwalnianie zasobów. 6.Rozwiązywanie problemów oczekujących transakcji rozproszonych. Uwaga: wycofywanie transakcji i zwalnianie zasobów odbywa się na żądanie.
Błąd użytkownikaż Najczęstsze przyczyny Przypadkowe usunięcie lub obcięcie tabeli. Usunięcie z tabeli wszystkich wierszy. Błąd w zatwierdzonych danych. Rozwiązania Szkolenie użytkowników. Odtwarzanie z kopii zapasowej. Wgranie tabeli z wyeksportowanej kopii. Odtwarzanie do punktu w czasie (przed awarią).
Najczęstsze ę przyczyny y y Awaria nośnikaś Awaria głowicy dysku, na którym znajdowały się pliki bazy danych. Fizyczny problem z czytaniem lub pisaniem do pliku potrzebnego bazie do normalnego funkcjonowania. Przypadkowe usunięcie pliku. Rozwiązania Strategia odtwarzania zależy od metody wykonywania backupów i objętych awarią plików. Jeśli są, należy zastosować zarchiwizowane pliki dziennika powtórzeń aby odtworzyć dane zatwierdzone od czasu ostatniego backupu.
Podsumowanie Czemu odtwarzanie jest konieczne Koncepcja odzyskiwania plików danych Stosowanie zarchiwizowanych plików dziennika powtórzeń Odtwarzanie pełne Odtwarzanie niepełne Możliwe rodzaje awarii
Wykład 3 Odtwarzanie baz w trybie bez archiwizacji dzienników Odzyskanie plików i odtworzenie bazy danych nie będącej w trybie archiwizacji dzienników. Odtworzenie przestrzeni tabel tylko do odczytu. Uruchamianie archiwizacji
Odtwarzanie bazy danych w trybie bez archiwizacji dzienników Odzyskane do katalogów bazy Pliki danych Pliki dziennika powtórzeń Pliki kontrolne Pliki parametrów Plik z hasłami SQL> CONNECT system/oracle AS sysdba; Connected. SQL> STARTUP MOUNT; Oracle instance started. SQL> ALTER DATABASE RENAME FILE /u01/old_user_01.dbf TO /u02/new_user_01.dbf ; Statement Processed. SQL> ALTER DATABASE OPEN;
Odtwarzanie w trybie bez archiwizacji Zalety Łatwe do wykonania Mały margines błędu Minimalny czas odtwarzania Wd Wady Dane są tracone i muszą być odtworzone ręcznie Cała baza zostaje cofnięta w czasie, nawet jeśli uszkodzony był tylko jeden plik Baza jest przywracana do punktu, w którym był zrobiony ostatni pełny backup offline.
Odtwarzanie przestrzeni tabel tylko do odczytu Przypadek 1 Read-Only Przypadek 2 Read-Only Writeable Przypadek 3 Writeable Read-Only Backup 1 Backup 2 Odtwarzanie
Uruchamianie archiwizacji Wyświetlenie informacji o trybie archiwizacji. Zmiana trybu archiwizacji dzienników bazy. Uruchomienie archiwizacji automatycznej. Selektywna archiwizacja plików dziennika powtórzeń. Konieczność wykonania nowych kopii zapasowych po przełączeniu ą bazy w tryb ARCHIVELOG.
Tryb NOARCHIVELOG OG LGWR 1a 2a Pliki dziennika powtórzeń 1b 2b
Tryb ARCHIVELOG LGWR 1a 2a ARCn Pliki dziennika ik powtórzeń ń Offline Storage 1b 2b
Wyświetlanie statusu archiwizacji SQL> connect system as sysdba Proszę podać hasło: ****** Połączono. SQL> archive log list Tryb dziennika ik bazy danych Tryb bez archiwizacji i Automatyczna archiwizacja Wyłączona Miejsca archiwizowania USE_DB_RECOVERY_FILE_DEST Najstarsza sekwencja dziennika online 110 Bieżąca sekwencja logowania 112 SQL>
Zmiana trybu archiwizacji bazy ALTER DATABASE database ARCHIVELOG NOARCHIVELOG SQL> startup mount Instancja ORACLE została ł uruchomiona. Total System Global Area 272629760 bytes Fixed Size 1248504 bytes Variable Size 146801416 bytes Database Buffers 121634816 bytes Redo Buffers 2945024 bytes Baza danych została zamontowana. SQL> alter database archivelog; Baza danych została zmieniona. SQL> alter database open; Baza danych została zmieniona. SQL> shutdown immediate Baza danych została zamknięta. ę Baza danych została zdemontowana. Instancja ORACLE została zamknięta.
Po włączeniu trybu archiwizacji SQL> connect system as sysdba; Proszę podać hasło: ****** Połączono. SQL> archive log list; Tryb dziennika bazy danych Tryb archiwizacji Automatyczna archiwizacja Włączona Miejsca archiwizowania USE_DB_RECOVERY_FILE_DEST Najstarsza sekwencja dziennika online 135 Następna sekwencja dziennika do archiwizacji 137 Bieżąca sekwencja logowania 137 SQL>
Uruchamianie i archiwizacji i Archiwizacja w bazie 10g/11g jest automatycznie uruchamiana po otwarciu bazy, która jest w trybie archivelog. Proces drugoplanowy ARCn kopiuje automatycznie zapełnione pliki dziennika powtórzeń.
Parametry archiwizacji Ustawienia z INIT<SID>.ORA lub z SPFILE<SID>.ora SID SQL> show parameter log_archive NAME TYPE VALUE ------------------------------------ ----------- ------------- log_archive_dest string log_archive_dest_1 string log_archive_dest_10 string log_archive_dest_2 string log_archive_dest_9 string log_archive_dest_state_1 state string enable log_archive_dest_state_10 string enable log_archive_dest_state_2 string enable log_archive_dest_state_9 string enable log_archive_duplex_dest string log_archive_format string ARC%S_%R.%T log_archive_local_first local boolean TRUE log_archive_max_processes integer 2 log_archive_min_succeed_dest integer 1 log_archive_start boolean TRUE log_archive_trace integer 0
Zarchiwizowane pliki dziennika powtórzeń Tworzone są pliki archiwalne we wskazanych lokalizacjach o nazwach zgodnie z parametrami LOG_ ARCHIVE_ DEST_ n (lokalizacja) LOG_ARCHIVE_FORMAT ( nazwa ) lub poleceniem ALTER SYSTEM. Serwer Oracle przypisuje każdemu z plików dziennika unikatowy numer sekwencyjny (%S) i ewentualnie numer inkarnacji (%R) i instancji (%T).
Podsumowanie Odzyskanie plików i odtworzenie bazy danych w trybie bez archiwizacji dzienników. Odtworzenie przestrzeni tabel tylko do odczytu. Wyświetlanie informacji o trybie archiwizacji. Ustawianie trybu ARCHIVELOG. Uruchamianie archiwizacji jest automatyczne. Wykonanie aktualnego backupu po przełączeniu bazy w tryb ARCHIVELOG.
Odtwarzanie kompletne z archiwizacją dzienników Cele Opisanie operacji odtwarzania pełnego. Poprawne wykonanie pełnego odtwarzania bazy.
Odtwarzanie transakcji po awarii nośnika Możliwe opcje odtwarzania: Odtwarzanie kompletne - wszystkie zatwierdzone zmiany, może je wykonać użytkownik z uprawnieniami SYSOPER lub SYSDBA Pełne odtworzenie całej bazy Odtwarzanie przestrzeni tabel Odtwarzanie pliku danych Odtwarzanie niepełne zmiany do pewnego momentu, może je wykonać użytkownik z uprawnieniami SYSDBA Do punktu w czasie (Time-based recovery) Do zatrzymania (Cancel-based recovery) Do zmiany (Change-based recovery) Przy odtwarzaniu pełnym pliki danych muszą zostać zsynchronizowane.
Odtwarzanie wszystkich transakcji po awarii nośnika Przed 27 15 18 Po 27 27 27
Wykonanie odtwarzania po awarii nośnika SQL> SHUTDOWN Database closed. Database dismounted. ORACLE instance shut down. SQL> CONNECT system/manager AS sysdba; Connected. SQL> STARTUP MOUNT PFILE = init<sid>.ora EXCLUSIVE ORACLE instance started. t Database mounted. SQL> SET AUTORECOVERY ON SQL> RECOVER DATABASE; SQL> ALTER DATABASE OPEN; Statement processed.
Podsumowanie Operacje odtwarzania kompletnego Umiejętności i uprawnienia potrzebne do poprawnego wykonania odtwarzania pełnego
Wykład 4 Minimalizacja czasu niedostępności bazy - cele Gorący start t systemu - otwarcie bazy danych przed wycofaniem transakcji i zwolnieniem zasobów. Uruchamianie systemu nawet gdy brakuje plików danych. Odtwarzanie uszkodzonych plików danych w czasie pracy bazy. Wykorzystanie opcji odtwarzania równoległego do minimalizacji czasu odtwarzania.
Odtwarzanie pojedynczych przestrzeni tabel i plików Z odtwarzania wyłączonego pliku lub wyłączonej przestrzeni tabel można skorzystać gdy: Nie uszkodzone przestrzenie tabel muszą być dostępne do normalnej pracy. Żaden z uszkodzonych plików nie należy do przestrzeni SYSTEM, SYSAUX lub przestrzeni z segmentami wycofania. Korzystać ć z równoległego ł odtwarzania plików: W przypadku jak wyżej. Wiele równoczesnych sesji SQL*Plus przyspiesza odtwarzanie.
Odtwarzanie pojedynczych przestrzeni tabel i plików 1. Wyłącz uszkodzoną przestrzeń tabel. 2. Wgraj kopie zapasowe uszkodzonych plików danych. 3. Wgraj potrzebne zarchiwizowane pliki dziennika powtórzeń. 4. Wykonaj odtwarzanie przestrzeni tabel lub pliku. 5. Włącz odtworzoną przestrzeń tabel.
Odtwarzanie pojedynczych przestrzeni tabel i plików SQL> connect sys/x AS SYSDBA; connected SQL> recover datafile '/pls/v11.1.0/dbs/usersv1020.dbf'; ORA-00279: Change 14054 generated at 09/05/06 06:50:27 needed for thread 1 ORA-00289: Suggestion : /tmp/arch264.log ORA-00280: Change 14054 for thread 1 is in sequence #264 ORA-00278: Logfile '/tmp/arch263.log' no longer needed for this recovery Specify log: {<RET>=suggested filename AUTO CANCEL} Log applied. ORA-00279: Change 14056 generated at 09/05/06 06:50:34 needed for thread 1 ORA-00289: Suggestion : /tmp/arch265.log ORA-00280: Change 14056 for thread 1 is in sequence #265 ORA-00278: Logfile '/tmp/arch264.log' no longer needed for this recovery Specify log: {<RET>=suggested filename AUTO CANCEL} Log applied. Media recovery complete.
Odtwarzanie pojedynczych przestrzeni tabel Włącz odtworzoną przestrzeń tabel. Po zakończeniu odtwarzania przestrzeń może zostać włączona (online). ALTER TABLESPACE user_data ONLINE;
Startowanie systemu Oracle z utraconymi plikami i danych Jeśli baza była zamknięta w chwili utraty plików danych, możemy wystartować system - nawet bez straconych plików. 1. STARTUP MOUNT; 2. ALTER DATABASE DATAFILE filename OFFLINE; 3. ALTER DATABASE OPEN; 4. Wgraj kopie zapasowe utraconych plików. 5. RECOVER TABLESPACE lub RECOVER DATAFILE; 6. ALTER TABLESPACE ONLINE;
Odtwarzanie równoległe ł Dedicated Server Process Recovery Process Datafile 1 Datafile 2 Recovery Process Datafile 3 Redo File 1 Datafile 4 Redo File 2
Odtwarzanie równoległe Parametr Recovery_Parallelism li określa domyślną liczbę procesów odtwarzających dla sesji. Jeden lub dwa procesy na dysk zawierający pliki danych wystarcza w większości sytuacji. Ustawienie RECOVERY_PARALLELISM służy do ustalenia liczby procesów odtwarzających wykorzystywanych y y y do odtwarzania instancji oraz nośników.
Odtwarzanie równoległe RECOVER DATABASE UNTIL clause USING BACKUP CONTROL FILE PARALLEL clause, TABLESPACE DATAFILE tablespace, filename PARALLEL clause PARALLEL clause PARALLEL ( ) DEGREE integer DEFAULT INSTANCES integer NOPARALLEL DEFAULT SQL> RECOVER DATABASE PARALLEL (DEGREE 12);
Podsumowanie Szybki start bazy po awarii systemu (wycofywanie transakcji po otwarciu bazy). Start nawet przy utraconych plikach danych. Odtwarzanie plików przy równoczesnej kontynuacji pracy na nieuszkodzonych plikach. Odtwarzanie równoległe w celu minimalizacji czasu odtwarzania.
Odtwarzanie niepełne Kiedy stosować odtwarzanie niepełne. Dlaczego odtwarzanie niepełne może być niezbędne. ę Odtworzenie bazy danych przy użyciu operacji odtwarzania niepełnego. ł Odtwarzanie, gdy trzeba ponownie utworzyć g y p y plik kontrolny.
Odtwarzanie niepełne - przegląd W trybie ARCHIVELOG, baza może zostać odtworzona za pomocą: Odtwarzania pełnego Minimalizacja ilości straconej jpracy. Odtwarzanie do stanu tuż przed chwilą zaprzestania przetwarzania. Odtwarzania niepełnego Rekonstrukcja bazy do stanu, w jakim była w pewnym momencie w przeszłości, wcześniejszym niż zakończenie przetwarzania.
Przyczyny y yodtwarzania niepełnego Błąd użytkownika Odtwarzanie kompletne nie udaje się Utrata wszystkich plików kontrolnych Utrata wszystkich kopii pewnego pliku dziennika powtórzeń Utrata pliku z segmentem wycofania Użycie do odtwarzania kopii zapasowej pliku kontrolnego Odtwarzanie niepełne ł w bazie rozproszonej w jednej j z baz pociąga za sobą konieczność takiego samego odtwarzania we wszystkich innych bazach systemu.
Typy odtwarzania Opcja Pełne odtwarzanie bazy danych Odtwarzanie niepełne Do przerwania Do zmiany (Until SCN) Do punktu w czasie Korzystając z kopii pliku kontrolnego Opis Określa, że potrzebne jest odtwarzanie aż do momentu awarii. Określa, że odtwarzanie nie koniecznie będzie się odbywać aż do momentu awarii. Określa, że odtwarzanie zostanie zakończone za pomocą podania Cancel w miejscu nazwy pliku dziennika. Określa, iż odtwarzanie zostanie zakończone po tym jak zostaną zaaplikowaje zmiany transakcji porzedzającej podany SCN. Określa, iż odtwarzanie zostanie zakończone po tym jak zostaną zaaplikowane wszystkie zatwierdzone przed podanym czasem zmiany. Określa, iż do wykonania odtwarzania jest użyta stara kopia pliku kontrolnego.
Zarchiwizowane pliki dziennika używane do odtwarzania W celu automatycznej aplikacji dzienników powtórzeń: W SQL*PLUS przed rozpoczęciem odtwarzania wydaj polecenie: SET AUTORECOVERY ON Wpisz AUTO, gdy zostaniesz zapytany o plik di dziennika. ik Może to być również zrobione w Oracle Enterprise Manager SQL Worksheet.
Rozpoczęcie odtwarzania niepełnego Przygotowanie do odtwarzania niepełnego: 1.Zamknij ijbazę danych. 2. Wykonaj pełny backup. 3.Jeśli potrzeba, wgraj plik kontrolny. 4.Wgraj WSZYSTKIE pliki danych. 5.Wgraj potrzebne zarchiwizowane pliki dziennika. 6.Podłącz się do bazy danych jako sysdba. 7.Uruchom instancję i zamontuj bazę danych. 8.Jeśli potrzeba utwórz pliki danych. 9.Włącz (online) wszystkie pliki danych.
Rozpoczęcie odtwarzania niepełnego 1.Zamknij ijbazę danych. Podłącz się jako sysdba i zamknij bazę w trybie normal, immediate albo transactional. 2.Wykonaj pełen backup bazy danych. Zrób pełny backup bazy na wypadek gdyby w czasie odtwarzania został ł popełniony ł błąd. Sprawdź, czy kopia zapasowa jest poprawna. 3.Jeśli potrzeba wgraj z kopii zapasowej plik kontrolny. Plik kontrolny musi opisywać strukturę fizyczną bazy taką jaka była w momencie, do którego baza danych będzie odtwarzana.
Rozpoczęcie odtwarzania niepełnego 4.Wgraj pliki danych. Wgraj kopie zapasowe wszystkich plików danych z bazy. Wszystkie kopie zastępujące istniejące pliki danych muszą być zrobione przed zaplanowanym czasem, do którego będzie wykonane odtwarzanie. 5.Wgraj potrzebne zarchiwizowane pliki dziennika powtórzeń. -Jeśli jest dostatecznie dużo wolnej przestrzeni należy wgrać potrzebne pliki dziennika powtórzeń w miejsce wskazywane aktualnie przez parametr LOG_ARCHIVE_DEST_1 lub LOG_ARCHIVE_DEST
Rozpoczęcie odtwarzania niepełnego ł 6.Podłącz się do bazy danych. Skorzystaj z polecenia CONNECT jako sysdba. 7.Uruchom instancję i zamontuj bazę danych. Wystartuj jinstancję z opcją MOUNT. 8. Wykonanie odtwarzania niepełnego. Polecenie RECOVER DATABASE albo ALTER DATABASE z klauzulą RECOVER.
Wykonywanie odtwarzania do przerwania cancel based recovery Korzystać z odtwarzania cancel-based należy Jeśli jeden lub kilka plików dziennika ik powtórzeń ń jest uszkodzony i niedostępny do odtwarzania. Jeśli odtwarzanie pełne nie uda się z powodu braku pliku dziennika powtórzeń. W celu zatrzymania odtwarzania po zaaplikowaniu określonego zarchiwizowanego pliku dziennika powtórzeń.
Wykonywanie odtwarzania do przerwania RECOVER DATABASE... UNTIL CANCEL [USING BACKUP CONTROLFILE] Użycie RECOVER DATABASE UNTIL CANCEL W SQLPLUS albo w Enterprise Manager w SQL Worksheet [Enter] lub wpis Cancel w momencie gdy odtwarzanie nie powinno być dalej wykonywane. Po aplikacji ostatniego dziennika powtórzeń należy otworzyć bazę z opcją RESETLOGS.
Wykonanie odtwarzania do punktu w czasie time based recovery Korzystać z odtwarzania time-based należy: W celu odtworzenia bazy do określonego punktu w czasie. Gdy zostały utracone dane i przybliżony czas wystąpienia tego błędu jest znany. Jeśli część dziennika powtórzeń została uszkodzona i jest znany przybliżony czas (miejsce w pliku) tego uszkodzenia. W celu przywrócenia bazy do pewnego punktu w czasie np. przed wykonaniem niechcianych modyfikacji.
Wykonanie odtwarzania do punktu w czasie RECOVER DATABASE... UNTIL TIME date [USING BACKUP CONTROLFILE] SQL> CONNECT sys as sysdba; SQL> STARTUP MOUNT; ORACLE instance started. Database mounted. SQL> SET AUTORECOVERY ON; SQL> recover database until time 2010-12-05:22:46:08'; ORA-00279: Change 13986 generated at 10/12/05 22:29:02 needed for thread 1 ORA-00289: Suggestion: /oracle oracle/arch arch/arch253.log ORA-00280: Change 13986 for thread 1 is in sequence #253 Log applied. ORA-00279: Change 14001 generated at 10/12/05 22:46:02 needed for thread 1 ORA-00280: Change 14001 for thread 1 is in sequence #254 ORA-00278: Logfile '/oracle/arch/arch253.log' no longer needed for this recovery Log applied. Media recovery complete.
Otwieranie bazy ypo odtwarzaniu niepełnym Należy wyzerować sekwencyjny numer dziennika powtórzeń (resetlogs) gdy: Była ł realizowana operacja odtwarzania niepełnego: ł użyto klauzuli: UNTIL lub USING BACKUP CONTROLFILE do odtwarzania była wykorzystana kopia archiwalna pliku kontrolnego.
Plik ostrzeżeń ż ń (ALERT.LOG) LOG) Plik ostrzeżeń (ALERT<sid>.LOG) zawiera opisy podjętych akcji: Odtwarzania niepełnego. Odtwarzania pełnego. Otwarcie bazy z opcją RESETLOGS lub NORESETLOGS.
Tworzenie pliku kontrolnego Kiedy należy utworzyć nowy plik kontrolny: Gdy wszystkie pliki kontrolne zostały uszkodzone i nie ma dostępnych kopii zapasowych. W celu zmiany nazwy bazy danych lub identyfikatora. W celu pobrania potrzebnych informacji należy wyświetlić zawartość: V$DATAFILE V$LOGFILE V$TEMPFILE
Tworzenie pliku kontrolnego CREATE CONTROLFILE REUSE SET DATABASE database, LOGFILE GROUP integer filespec RESETLOGS NORESETLOGS, DATAFILE filespec MAXLOGFILES integer MAXLOGMEMEBERS integer MAXLOGHISTORY integer MAXDATAFILES integer MAXINSTANCES integer ARCHIVELOG NOARCHIVELOG
Tworzenie pliku kontrolnego 1.Zamknij bazę danych. 2.Zrób backup wszystkich plików danych. 3.Wystartuj bazę w trybie NOMOUNT. 4.Utwórz nowy plik kontrolny. 5.Skopiuj nowy plik kontrolny. 6.Popraw parametr CONTROL_FILES. 7.Odtwórz bazę danych. 8Ot 8. Otwórz bazę danych.
Tworzenie pliku kontrolnego 1. Zamknij ijbazę danych. Jeśli to możliwe należy zamykać bazę w trybie normal, transactional albo immediate. 2. Zrób backup wszystkich plików danych. Wykonaj pełny backup wszystkich plików danych. Wykonaj pełny backup plików dziennika powtórzeń. Sprawdź, czy kopie są poprawne. 3. Wystartuj instancję. Wystartuj instancję w trybie NOMOUNT.
4. Tworzenie pliku kontrolnego SQL > CREATE CONTROLFILE REUSE 2> SET DATABASE V1102 3> LOGFILE '/oracle11/dbs/log1.dbf' /l 1 dbf' SIZE 4M, 4> '/oracle11/dbs/log2.dbf' SIZE 4M 5> NORESETLOGS 6> DATAFILE '/oracle11/dbs/system.dbf', 7> '/oracle11/dbs/temp.dbf', 8> '/oracle11/dbs/users.dbf', 9> MAXLOGFILES 10 10> MAXDATAFILES 20 11> ARCHIVELOG; Statementt t processed.
Tworzenie pliku kontrolnego 5. Skopiuj nowy plik kontrolny. Dla bezpieczeństwa, skopiuj plik kontrolny na co najmniej jedno inne urządzenie i zachowaj kopię zapasową na jakimś urządzeniu zewnętrznym offline. W czasie tworzenia pliku kontrolnego zostaną utworzone pliki dla każdej z nazw wymienionych w parametrze CONTROL_FILES w pliku parametrów. 6. Popraw parametr CONTROL_FILES. Zmień parametr CONTROL_FILES tak by zawierał wszystkie utworzone pliki.
Tworzenie pliku kontrolnego 7. Zamontuj i odtwórz bazę danych. Jeśli nowy plik kontrolny tworzony był z opcją NORESETLOGS, należy wykonać odtwarzanie pełne. Jeśli nowy plik kontrolny tworzony był z opcją RESETLOGS, należy wykonać odtwarzanie niepełne do przerwania tak jak z kopią zapasową pliku kontrolnego. 8. Otwórz bazę danych. - Po wykonaniu odtwarzania pełnego bazy należy otworzyć bazę normalnie: ALTER DATABASE OPEN;; - Po wykonaniu odtwarzania niepełnego należy otwierać bazę poleceniem z opcją RESETLOGS albo NORESETLOGS zgodnie z ustawieniem w poleceniu CREATE CONTROLFILE.
Podsumowanie Kiedy do odtworzenia systemu należy ż korzystać z odtwarzania niepełnego. Dlaczego odtwarzanie niepełne może być konieczne. Jak wykonać odtwarzanie niepełne bazy danych. Jak wykonać odtwarzanie, z utworzeniem nowego pliku kontrolnego.
Wykład 5 Archiwizacja logiczna - cele Eksport całej bazy, wybranych tabeli lub użytkowników. Import danych do tej samej lub innej bazy danych. Export/Import nie gwarantuje zachowania spójności danych zapewnianej przez aplikację. Ścieżka bezpośrednia narzędzia Export. Archiwizacja i dzienników ikó powtórzeń ń nie ma powiązania i z archiwizacją logiczną. Odpowiednie ustawienie NLS_LANG dla obsługi danego zestawu znaków.