Wykonywanie kopii bezpieczeństwa w bazie Oracle 11g Wstęp W bazie Oracle 11g można wykonywać kopie bezpieczeństwa ręcznie i automatycznie z wykorzystaniem narzędzie RMAN. Zalecanym i rekomendowanym narzędziem jest RMAN, aczkolwiek są sytuację w których administrator wciąż musi wykonywać kopie ręcznie. Wykonywanie kopii bezpieczeństwa ręcznie Historycznie, przed pojawieniem się narzędzia RMAN jedyną formą wykonywania kopii bezpieczeństwa były ręczne skrypty napisane przez administratora. W tym rodziale zostanie opisana prosta metoda wykonywania pełnej kopii bezpieczeństwa bazy w trybie OFFLINE czyli tzw. zimny backup (cold backup). W tym celu należy: 1. Czysto zamknąć bazę danych a. SHUTDOWN IMMEDIATE; 2. Przejść do linii komend systemu operacyjnego i katalogu w którym składowane są pliki bazy danych: a. cd /u01/app/oracle/oradata/orcl b. ls al 3. Utworzyć nowy katalog na kopie bezpieczeństwa: a. mkdir backup-26-05-2012 4. Skopiować wszystkie pliki z /u01/app/oracle/oradata/orcl do katalogu backup-26-05-2012 a. cp * backup-26-05-2012 5. Teraz ponownie można uruchomić bazę danych a. STARTUP; Przygotowanie środowiska RMAN do wykonywania kopii bezpieczeństwa i odtwarzania Recovery manager czyli RMAN jest narzędziem z linią poleceń podobnie jak SQLPLUS. Uruchamia się go w następujący sposób: rman target / Strona: 1 Administracja bazą Oracle 11g Studia Podyplomowe SGGW Laboratorium nr 10
co oznacza, że RMAN podłączy się automatycznie do instancji bazy określonej zmienną środowiskową ORACLE_SID. W naszym przypadku ORACLE_SID=orcl. Pierwszą rzeczą którą należy wykonać na początku pracy z RMAN jest konfiguracja parametrów wykonywania kopii bezpieczeństwa. Oto przykłady: 1. Ustawienie domyślnego urządzenia dla kopii bezpieczeństwa na dysk: a. CONFIGURE DEFAULT DEVICE TYPE TO DISK; 2. Ustawienie domyślnego typu składowania kopii dyskowym na BACKUPSET a. CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET; 3. Włączenie automatycznego backupowania pliku kontrolnego i SPFILE a. CONFIGURE CONTROLFILE AUTOBACKUP ON; 4. Ustawienie polityki retencji (czyli ilości lub długości przechowywanych kopii bezpieczeństwa) na 1 czyli wystarczy jeden pojedynczy backup każdego pliku. a. CONFIGURE RETENTION POLICY TO REDUNDANCY 1; 5. Ustawienie optymalizacji wykonywania kopii bezpieczeństwa czyli np. omijanie raz już backupowanych przestrzeni tabel OFFLINE lub READ ONLY a. CONFIGURE BACKUP OPTIMIZATION ON; 6. Włączenie kompresji backup-setów a. CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET; 7. Podsumowanie wszystkich parametrów a. SHOW ALL; Powyższe ustawienia wystarczą już do rozpoczęcia wykonywania kopii bezpieczeństwa. Podsumowując, kopie będą składowane w tzw. Backupset-ach na dysku w lokalizacji określonej parametrem inicjalizacyjnym DB_RECOVERY_FILE_DEST. Pliki kontrolne i SPFILE będą za każdym razem po ich zmianie też backupowane. Została włączona optymalizacja i polityka retencji wskazuje na 1 backup, który zawsze musi być przechowywany w repozytorium. Wykonywanie kopii bezpieczeństwa za pomocą RMAN Ręczne wykonywanie kopii bezpieczeństwa należy już raczej do rzadkości, a rekomendowaną metodą do kopii bezpieczeństwa i odtwarzania jest RMAN. Za pomocą RMAN-a można wykonywać kopie bezpieczeństwa w trybie ONLINE czyli podczas normalnej pracy bazy danych jeśli baza została przełączona w tryb ARCHIVELOG. Dodatkowo, można wykonywać kopie pełne (full backup) jak i przyrostowe (incremental). Kopie przyrostowe wykonuje się na poziomie zero (0) lub jeden (1): 1. Backup przyrostowy na poziomie zero (0) jest to pełny backup wszystkich plików danych i wszystkich bloków danych w tych plikach. Od niego zawsze rozpoczyna się wykonywanie kopii przyrostowych na poziomie pierwszym (1) 2. Backup przyrostowy na poziomie pierwszym (1) Strona: 2 Administracja bazą Oracle 11g Studia Podyplomowe SGGW Laboratorium nr 10
a. Różnicowy (differential) kopiowane sa tylko zmienione bloki od ostatniego backupu na poziomie 0 lub 1 b. Kumulacyjny (comulative) kopiowane są tylko zmienione bloki od ostatniego backupu na poziomie 0 Za pomocą backupów przyrostowych (incremental) realizuje się pełną politykę wykonywania kopii bezpieczeństwa, tak aby z jednej strony zmniejszyć czas potrzebny na odtwarzanie (mean time to recovery), a z drugiej strony zminimalizować ilość i wielkość wykonywanych backupów w czasie. Typowy scenariusz wykonywania kopii bezpieczeństwa może zakładać: 1. Wykonywanie raz w tygodniu backupu pełnego przyrostowego na poziomie 0 np. w niedzielę 2. Wykonywanie backupu przyrostowego poziomu 1 w poniedziałek i wtorek 3. Wykonanie backupu przyrostowego komulacyjnego poziomu 1 w środę 4. Wykonywanie backupu przyrostowego poziomu 1 w czwartek, piątek i sobotę Powyższy scenariusz pokazany na rysunku poniżej: Oto polecenia narzędzia RMAN do wykonywania kopii bezpieczeństwa: 1. Pełny backup przyrostowy poziom 0 a. BACKUP INCREMENTAL LEVEL 0 DATABASE PLUS ARCHIVELOG DELETE INPUT; 2. Backup przyrostowy różnicowy na poziomie 1 a. BACKUP INCREMENTAL LEVEL 1 DATABASE; Strona: 3 Administracja bazą Oracle 11g Studia Podyplomowe SGGW Laboratorium nr 10
3. Backup przyrostowy kumulacyjny na poziomie 1 a. BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE; 4. Można również backupować pojedyncze przestrzenie tabel lub pliki danych a. BACKUP TABLESPACE USERS; b. BACKUP DATAFILE 1,2,3; 5. Wyświetlenie backupów: a. LIST BACKUP; b. LIST BACKUP SUMMARY; 6. Wyświetlenie raportów o niepotrzebnych backupach a. REPORT OBSOLETE; 7. Usunięcie niepotrzebnych backupów a. DELETE OBSOLETE; Strona: 4 Administracja bazą Oracle 11g Studia Podyplomowe SGGW Laboratorium nr 10
Ćwiczenia Kopie bezpieczeństwa i odtwarzanie w bazie Oracle 11g Ćwiczenie nr 1 Wykonanie ręcznej kopii bezpieczeństwa 1. Czysto zamknąć baze danych 2. Wykonać ręczną pełną kopie bezpieczeństwa wszystkich plików 3. Ponownie uruchomić bazę danych Uwaga! Należy wykonać poprawnie ćwiczenia nr 1 zanim przejdzie się do kolejnych ćwiczeń w tym skrypcie Ćwiczenie nr 2 Przygotowanie środowiska narzędzia RMAN 1. Uruchomić narzędzie RMAN i podłączyć się do aktualnej instancji bazy 2. Ustawić domyślne urządzenie backupowe na dysk 3. Ustawić domyślny format backupu na backupset 4. Włączyć optymalizację backupowania 5. Włączyć automatyczne backupowanie pliku kontrolnego i pliku SPFILE 6. Ustawić politykę retencji na wielokrotność backupu równą 1; 7. Włączyć kompresję backupu 8. Wyświetlić całą konfigurację Ćwiczenie nr 3 Wykonywanie kopii bezpieczeństwa za pomocą RMAN-a 1. Wykonać pełny backup bazy danych 2. Wykonać backup przyrostowy (incremental) na poziomie zero (0) wraz z logami archiwalnymi przy jednoczesnym ich skasowaniu po wykonaniu backupu. 3. Wyświetlić wszystkie backupy. Sprawdzić w jakich paczkach RMAN trzyma kopie bezpieczeństwa a. Sprawdzić czy został w backupie zawarty plik kontrolny oraz archive logi 4. Wykonać backup przyrostowy (incremental) na poziomie pierwszym (1) 5. Wyświetlić listę backupów pełną i skróconą. 6. Wykonać raport niepotrzebnych backupów 7. Usunąć niepotrzebne backupy 8. Wykonać backup przyrostowy (incremental) kumulacyjny na poziomie pierwszym (1) 9. Wykonać ponownie backup przyrostowy (incremental) na poziomie zero (0) wraz z logami archiwalnymi przy jednoczesnym ich skasowaniu po wykonaniu backupu. 10. Wykonać raport niepotrzebnych backupów 11. Usunąć niepotrzebne backupy. Strona: 5 Administracja bazą Oracle 11g Studia Podyplomowe SGGW Laboratorium nr 10
Odpowiedzi Kopie bezpieczeństwa i odtwarzanie w bazie Oracle 11g Ćwiczenie nr 1 1. Czysto zamknąć baze danych a. SHUTDOWN IMMEDIATE; 2. Wykonać ręczną pełną kopie bezpieczeństwa wszystkich plików a. cd /u01/app/oracle/oradata/orcl b. mkdir backup-25-05-2012 c. cp * backup-25-05-2012 3. STARTUP; Ćwiczenie nr 2 1. rman target / 2. CONFIGURE DEFAULT DEVICE TYPE TO DISK; 3. CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET; 4. CONFIGURE BACKUP OPTIMIZATION ON; 5. CONFIGURE CONTROLFILE AUTOBACKUP ON; 6. CONFIGURE RETENTION POLICY TO REDUNDANCY 1; 7. CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET; 8. SHOW ALL; Ćwiczenie nr 3 1. Wykonać pełny backup bazy danych a. rman target / b. BACKUP DATABASE; 2. Wykonać backup przyrostowy (incremental) na poziomie zero (0) wraz z logami archiwalnymi przy jednoczesnym ich skasowaniu po wykonaniu backupu. a. rman target / b. BACKUP INCREMENTAL LEVEL 0 DATABASE PLUS ARCHIVELOG DELETE INPUT; 3. Wyświetlić wszystkie backupy. a. LIST BACKUP; b. LIST BACKUP SUMMARY; 4. Wykonać backup przyrostowy (incremental) na poziomie pierwszym (1) a. BACKUP INCREMENTAL LEVEL 1 DATABASE; 5. Wyświetlić listę backupów pełną i skróconą. a. LIST BACKUP; Strona: 6 Administracja bazą Oracle 11g Studia Podyplomowe SGGW Laboratorium nr 10
b. LIST BACKUP SUMMARY; 6. Wykonać raport niepotrzebnych backupów a. REPORT OBSOLETE; 7. Usunąć niepotrzebne backupy a. DELETE OBSOLETE; 8. Wykonać backup przyrostowy (incremental) kumulacyjny na poziomie pierwszym (1) a. BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE; 9. Wykonać ponownie backup przyrostowy (incremental) na poziomie zero (0) wraz z logami archiwalnymi przy jednoczesnym ich skasowaniu po wykonaniu backupu. a. BACKUP INCREMENTAL LEVEL 0 DATABASE PLUS ARCHIVELOG DELETE INPUT; 10. Wykonać raport niepotrzebnych backupów a. REPORT OBSOLETE; 11. Usunąć niepotrzebne backupy a. DELETE OBSOLETE; Strona: 7 Administracja bazą Oracle 11g Studia Podyplomowe SGGW Laboratorium nr 10