eBooks.PL.Leksykon.Kieszonkowy.-.Oracle.RMAN.doc

(325 KB) Pobierz

Zadaniem niniejszego Leksykonu jest umożliwienie szybkiego odnalezienia opisu składni i odpowiedniego przykładu zastosowania potrzebnego polecenia pakietu RMAN w celu archiwizacji, odtworzenia lub odzyskania danych. Autorzy założyli, że Czytelnik jest zaznajomiony z podstawami obsługi baz danych Oracle oraz z zagadnieniami związanymi z tworzeniem kopii zapasowej i odzyskiwaniem danych. Wszystkie zamieszczone w niniejszej książce przykłady skryptów trybu wsadowego zostały utworzone w języku skryptowym systemu Unix.

Tytuł oryginału: Oracle RMAN Pocket Reference Tłumaczenie: Bartłomiej Garbacz

 

 

Oracle RMAN

Leksykon kieszonkowy

 


Wstęp

Niniejsza książka jest leksykonem kieszonkowym pakietu Recovery Manager (RMAN) - narzędzia służącego do przeprowadzania wszelkich czynności związanych z archiwizowaniem i odzyskiwaniem danych w bazach danych Oracle. Nie stanowi ona jednak wyczerpującego kompendium wiedzy na temat archiwizowania i odzyskiwania danych. Zawarto tu natomiast przegląd architektury pakietu RMAN, w skrócie opisano metody archiwizowania i odzyskiwania danych za pomocą tego pakietu, przedstawiono zagadnienia związane z obsługą katalogu odzyskiwania (recovery catalog), a także zamieszczono diagramy składniowe poleceń pakietu RMAN.

Zadaniem niniejszego Leksykonu jest umożliwienie szybkiego odnalezienia opisu składni i odpowiedniego przykładu zastosowania potrzebnego polecenia pakietu RMAN w celu archiwizacji, odtworzenia lub odzyskania danych. Autorzy założyli, że Czytelnik jest zaznajomiony z podstawami obsługi baz danych Oracle oraz z zagadnieniami związanymi z tworzeniem kopii zapasowej i odzyskiwaniem danych. Wszystkie zamieszczone w niniejszej książce przykłady skryptów trybu wsadowego zostały utworzone w języku skryptowym systemu Unix. Wiele z tych przykładów zawiera ścieżki dostępu odpowiadające środowisku pracy stosowanemu przez Autorów. Jeśli Czytelnik będzie opracowywał własne skrypty, musi je dostosować do środowiska pracy swojej aplikacji.

Podziękowania

Autorzy składają gorące podziękowania swojemu sprzymierzeńcowi, wydawcy Jonathanowi Gennick. Jego komentarze i sugestie w ogromnym stopniu wpłynęły na jakość i czytelność tej książki. Autorzy dziękują także recenzentom, wśród których znaleźli się: Jeff Cox, Tim Gorman, Dick Goulet, Mark Hampton, Steve Orr, Walt Weaver oraz JeremiahWilton.

Uwagi

Pisząc niniejszą książkę Autorzy starali się stosować do prawa Pareto* - dlatego położono szczególny nacisk na opisanie tych zagadnień, z którymi użytkownik najprawdopodobniej zetknie się podczas wykorzystywania pakietu RMAN. Nie omówiono tu wszystkich rodzajów środowiska pracy ani wszystkich scenariuszy archiwizowania i odzyskiwania danych, jakie stosować może administrator baz danych Oracle.

W niniejszej książce opisano niektóre z najczęściej spotykanych scenariuszy, jednakże trzeba pamiętać, że sprawą o fundamentalnym znaczeniu jest dogłębne poznanie własnej implementacji pakietu RMAN. Jest to warunek zapewnienia sobie możliwości odzyskania każdej bazy danych, bez względu na rodzaj ewentualnej awarii. Nie można przecenić ważności regularnego testowania pakietu jako formy przygotowania do usuwania skutków nieprzewidywalnych awarii.

Dzięki poprawnie skonfigurowanej implementacji pakietu oraz jego regularnemu testowaniu administrator bazy danych zyskuje pewność, że niezależnie od okoliczności zdoła on opanować sytuację.

 

*Prawo Pareto (ang. Pareto's Law) nazywane jest także Zasadą 80:20 i mówi, że w każdej grupie pewnych elementów istotne elementy stanowią relatywnie mały podzbiór całości. W tym przypadku można sformułować je następująco: „do rozwiązania 80% problemów związanych z wykorzystaniem pakietu RMAN wystarczy znać 20% jego możliwości" -przyp. tłum.

Przyjęte konwencje

WERSALIKI

Wskazuje słowo kluczowe pakietu RMAN, słowo kluczowe języka SQL lub nazwę obiektu bazy danych.

kursywa

Stosowana dla nazw plików, nazw katalogów oraz adresów URL, w celu wyróżnienia fragmentu tekstu oraz przy pierwszym użyciu terminu technicznego, a także dla terminów w języku angielskim.

czcionka o stałej szerokości

Stosowana w przykładowych kodach programów.

czcionka pogrubiona o stałej szerokości

Wskazuje tekst wpisywany przez użytkownika w przykładach interakcji z systemem.

kursywa o stałej szerokości

Stosowana przy opisie składni poleceń lub w celu wskazania terminów definiowanych przez użytkownika.

[ ]    - oznacza opis składni poleceń; stosowane w celu wskazania elementu opcjonalnego.

{ }    - oznacza opis składni poleceń; stosowane w celu wskazania konieczności wyboru elementu.

|      - oznacza opis składni poleceń, stosowane w celu oddzielenia od siebie elementów wymaganego wyboru.

_     - oznacza opis składni poleceń, stosowane w celu określenia podkreślonej opcji jako domyślnej.

S.O. - skrót od: „system operacyjny”.

 

Architektura pakietu RMAN

 

Recovery Manager (RMAN) jest programem narzędziowym, który umożliwia zarządzanie procesami tworzenia kopii zapasowych i odzyskiwania danych w bazach danych Oracle. Administratorzy często są niechętni i nie wykorzystują pakietu RMAN. Wynika to z jego zauważalnej złożoności oraz faktu, że przejmuje on kontrolę nad wykonywaniem zadań o krytycznym znaczeniu. Starsze metody archiwizowania i odzyskiwania danych są sprawdzone i godne zaufania, jednak stosowanie technologii RMAN umożliwia wykorzystywanie pewnych udogodnień.

•    Tworzenie przyrostowych kopii zapasowych, w przypadku których kopiuje się tylko te bloki danych, które zmieniły się od czasu ostatniej archiwizacji.

•   Przestrzenie tabel nie są przełączane w tryb backup, dlatego też nie tworzy się żadnych dodatkowych plików dziennika powtórzeń w czasie tworzenia kopii zapasowej otwartych plików danych (online backup).

•   Wykrywanie uszkodzonych bloków danych podczas archiwizacji danych.

•    Równoległe wykonywanie operacji wejścia-wyjścia.

•    Automatyczne rejestrowanie wszystkich operacji związanych z archiwizacją i odzyskiwaniem danych.

•   Wbudowane polecenia tworzenia raportów i list.

Cechą szczególną architektury pakietu RMAN jest połączenie głównego programu wykonywalnego (narzędzia rman) oraz procesów działających w tle, które komunikują się z jedną lub większą ilością baz danych i z urządzeniami wejścia-wyjścia. Podstawowymi komponentami architektury pakietu RMAN są:

• program wykonywalny RMAN;

• procesy serwera;

• kanały;

• docelowa baza danych;

• baza danych katalogu odzyskiwania (opcjonalnie);

• warstwa obsługi nośników danych (media management layer) (opcjonalnie);

• kopie zapasowe (backups), zbiory kopii zapasowych (backup sets) i elementy kopii zapasowych (backup pieces).

Poniżej zamieszczono opis każdego z tych komponentów.

 

Program wykonywalny RMAN

 

Program wykonywalny pakietu RMAN, zwykle nazywany rman, nadzoruje wszelkie operacje archiwizacji i odzyskiwania danych.

UWAGA

Wykorzystywanie pakietu RMAN nie wymaga posiadania żadnych dodatkowych licencji -jest on standardowym narzędziem dostarczanym wraz z wersją instalacyjną Oracle 8.0.x, Oracle8i lub Oracle9i.

 

Użytkownik podaje informacje o operacjach archiwizacji i odzyskiwania, które należy przeprowadzić. Następnie program wykonywalny łączy się z docelową bazą danych, wywołuje potrzebne procesy serwera, a potem wykonuje żądane operacje. W końcu program wykonywamy RMAN zapisuje te operacje w plikach kontrolnych docelowej bazy danych oraz w bazie danych katalogu odzyskiwania (jeśli ta opcja jest wykorzystywana):.

 

Procesy serwera

Procesy serwera pakietu RMAN (server processes) są procesami pracującymi w tle, uruchamianymi na serwerze i umożliwiającymi komunikację programu RMAN z bazami danych, a także z urządzeniami dyskowymi, taśmowymi lub innymi urządzeniami wejścia-wyjścia. Procesy serwera wykonują całą pracę związaną z tworzeniem kopii zapasowej lub odzyskiwaniem danych. Wykonywanie typowych operacji powoduje uruchomienie kilku procesów serwera.

Procesy serwera są uruchamiane w następujących sytuacjach:

•   uruchomienie programu RMAN i łączenie się z docelową bazą danych;

•    łączenie się z bazą danych katalogu odzyskiwania (jeśli ta opcja jest wykorzystywana);

•   przydzielenie i otwarcie kanału wejścia-wyjścia podczas archiwizacji lub odzyskiwania danych.

Kanały

Kanał (channel) jest procesem serwera pakietu RMAN uruchamianym w razie zaistnienia konieczności komunikacji z urządzeniem wejścia-wyjścia takim, jak napęd dyskowy lub taśmowy.

Kanał odczytuje i zapisuje pliki kopii zapasowej utworzonej przez program RMAN. Każde wydanie polecenia przydziału kanału (allocate channel) powoduje uruchomienie się odpowiedniego procesu na serwerze docelowej bazy danych. Podczas przydzielania kanałów możliwe jest zmienianie charakterystyk urządzeń wejścia-wyjścia, takich jak:

•   typ urządzenia wejścia-wyjścia, z którym związany jest odczyt lub zapis danych - zarówno dysku, jak i taśmy;

•    liczba procesów jednocześnie korzystających z urządzenia wejścia-wyjścia;

•   maksymalny rozmiar plików tworzonych na nośniku urządzenia wejścia-wyjścia;

  maksymalna szybkość, z jaką czytane są pliki bazy- danych;

•   maksymalna liczba jednocześnie otwartych plików.

 

Docelowa baza danych

Docelowa baza danych (target database) jest bazą danych, na której program wykonywalny RMAN przeprowadza operacje tworzenia kopii zapasowych, odtwarzania i odzyskiwania danych. Baza ta zawiera pliki danych (datafiles), pliki kontrolne (control fileś) oraz archiwalne pliki dziennika powtórzeń (archived redo files), które są archiwizowane,- odtwarzane lub odzyskiwane. Warto pamiętać, że program RMAN nie tworzy kopii zapasowej aktywnych plików dziennika powtórzeń (online redo logs) docelowej bazy danych.

 

Baza danych katalogu odzyskiwania

Baza danych katalogu odzyskiwania (recovery catalog database) stanowi opcjonalne, wykorzystywane przez pakiet RMAN repozytorium informacji dotyczących operacji tworzenia kopii i odzyskiwania danych przeprowadzanych na docelowej bazie danych. Katalog odzyskiwania stanowią trzy elementy:

•    Oddzielna baza danych, określana jako baza danych katalogu (z poziomu docelowej bazy danych).

•    Schemat w bazie danych katalogu.

•   Tabele (wraz z obiektami pomocniczymi) w schemacie. Tabele te zawierają dane odnoszące się do operacji archiwizacją i odzyskiwania danych przeprowadzonych przez pakiet RMAN na bazie docelowej.

Katalog jest bazą danych, którą zazwyczaj tworzy się na serwerze nie będącym serwerem bazy docelowej. Dzieje się tak ze względów bezpieczeństwa - dzięki temu ewentualna awaria serwera docelowej bazy danych nie przekreśla możliwości wykorzystania bazy danych katalogu odzyskiwania. Umieszczenie katalogu i docelowej bazy danych na tym samym serwerze może spowodować, że nawet pojedyncza awaria nośnika danych uniemożliwi odtworzenie docelowej bazy danych.

Wewnątrz bazy danych katalogu znajduje się specjalny schemat zawierający tabele, gdzie przechowywane są informacje o operacjach wykonywanych przez pakiet RMAN związanych z archiwizowaniem i odzyskiwaniem danych. Informacje te dotyczą między innymi:

•    szczegółów odnoszących się do fizycznej struktury docelowej bazy danych;

•    dziennika operacji tworzenia kopii zapasowej plików danych, plików kontrolnych oraz archiwalnych plików dziennika powtórzeń docelowej bazy danych;

•    skryptów składowanych, w których są zawarte często wykonywane sekwencje poleceń pakietu RMAN.

Stosowanie katalogu odzyskiwania jest opcjonalne. Kiedy program RMAN wykonuje pewne operacje związane z archiwizacją, informacje o tych operacjach są zapisywane w plikach kontrolnych docelowej bazy danych. Dlatego też stosowanie katalogu nie jest koniecznym warunkiem poprawnego działania pakietu RMAN. Jeśli jednak użytkownik wykorzystuje katalog odzyskiwania, program RMAN przechowuje tu dodatkowe informacje (nazywane często metadanymi - metadata) dotyczące zarchiwizowanych danych.

 

UWAGA

Częstym nieporozumieniem jest uważanie katalogu za miejsce przechowywania fizycznych plików kopii zapasowej docelowej bazy danych. W rzeczywistości katalog zawiera jedynie informacje o kopiach zapasowych docelowej bazy danych, a nie fizyczne pliki tej kopii.

 

Wykorzystywanie katalogu daje największe możliwości stosowania różnych scenariuszy archiwizacji i odzyskiwania danych. Opcja ta pozwala na uzyskanie dostępu do sięgającej daleko wstecz historii archiwizacji oraz umożliwia zarządzanie wszystkimi operacjami archiwizowania i odzyskiwania danych z poziomu jednego repozytorium. Zastosowanie katalogu jest warunkiem wykorzystania wszystkich możliwości pakietu RMAN. Z tego też względu zaleca się uruchomienie tej opcji.

 

UWAGA

Baza danych katalogu odzyskiwania jest często określana jako katalog lub baza danych katalogu. W niniejszej książce wykorzystano obydwa terminy.

 

Warstwa obsługi nośników danych

Warstwa obsługi nośników danych (Media Management Layer, MML) jest oprogramowaniem pochodzącym od innych dostawców. Oprogramowanie to zarządza procesami odczytu i zapisu plików na taśmach. MML służy także do śledzenia rozdziału zapisywanych plików pomiędzy odpowiednie taśmy. Jeśli zachodzi potrzeba tworzenia kopii zapasowych bazy danych na taśmie, konieczne jest zastosowanie MML. Wykorzystanie pakietu do archiwizacji danych tylko na dysku pozwala na zrezygnowanie z MML.

Narzędzia MML często stosuje się do archiwizacji plików systemowych serwera, na którym znajduje się system zarządzania bazą danych. Jeśli w danym środowisku pracy oprogramowanie MML już istnieje, możliwe jest tworzenie kopii zapasowych danych na taśmach. Wykorzystanie taśm do archiwizacji danych, do czego niezbędne jest oprogramowanie MML, daje następujące korzyści:

•   niższy koszt składowania dużych archiwów;

•    mniejsze ryzyko utraty danych zarówno z bazy, jak i plików archiwalnych. Wynika to z faktu, że utworzone kopie zapasowe nie są przechowywane na serwerze, na którym znajduje się docelowa baza danych.

Podczas zapisywania plików kopii zapasowych na taśmach MML zapamiętuje rozdział tych plików pomiędzy odpowiednie taśmy. W przypadku konieczności odtworzenia danego pliku bazy danych program RMAN przekazuje do MML listę potrzebnych plików archiwalnych. Następnie MML określa, które taśmy zawierają wymagane pliki archiwalne, odtwarza je i przekazuje z powrotem do programu RMAN. W tym momencie możliwe jest odtworzenie wymaganego pliku bazy danych.

Odpowiednie przygotowanie pakietu RMAN do współpracy z MML może okazać się najtrudniejszą i najbardziej skomplikowaną częścią całego procesu implementacji pakietu RMAN. Spowodowane jest to faktem, że stosowane oprogramowanie może pochodzić od kilku różnych dostawców. W takiej sytuacji znalezienie przyczyny zaistniałych problemów i ich rozwiązanie często sprawia duże trudności.

 

Kopie zapasowe, zbiory kopii zapasowych i elementy kopii zapasowych

Polecenie backup pakietu RMAN powoduje tworzenie zbiorów kopii zapasowych (backup sets), które są logicznie powiązanymi grupami fizycznie istniejących plików. Te fizycznie istniejące pliki, które program RMAN tworzy na nośniku danych, są z kolei nazywane elementami kopii zapasowej (backup pieces). Użytkownik pakietu RMAN musi poznać prawidłowe znaczenie tych terminów.

 

Kopia zapasowa RMAN (RMAN backup)

Jest to kopia zapasowa całości lub części odpowiedniej bazy danych. Powstaje ona w rezultacie wywołania polecenia backup pakietu RMAN. Kopia zapasowa składa się z jednego lub większej ilości zbiorów kopii zapasowych (backup sets).

Zbiór kopii zapasowej (Backup set)

Jest to logicznie powiązana grupa plików kopii zapasowej - stanowiących elementy kopii zapasowej (backup pieces} - które są tworzone w rezultacie wywołania polecenia backup pakietu RMAN. Zbiór kopii zapasowych jest wewnętrzną nazwą kolekcji plików związanych z utworzonym archiwum. Zbiór kopii zapasowych składa się z jednego lub więcej elementów kopii zapasowej.

 

Element kopii zapasowej (Backup piece)

Jest to fizycznie istniejący plik binarny tworzony przez pakiet RMAN w czasie archiwizacji danych. Elementy kopii zapa sowej są zapisywane na odpowiednim nośniku - dysku lub taśmie. Zawierają one bloki plików docelowej bazy danych, archiwalne pliki dziennika powtórzeń oraz pliki kontrolne.

Tworzenie elementu kopii zapasowej z plików danych przez pakiet RMAN odpowiada następującym warunkom:

•   plik danych nie może być rozdzielony pomiędzy wiele* zbiorów kopii zapasowej;

•   plik danych może być rozdzielony pomiędzy elementy kopii zapasowej, o ile pozostaje w jednym zbiorze kopii zapasowej;

•    pliki danych i pliki kontrolne mogą być umieszczone w tym samym zbiorze kopii zapasowej;

•   archiwalne pliki dziennika powtórzeń nigdy nie są przechowywane w tych samych zbiorach kopii zapasowej, co pliki danych lub pliki kontrolne.

RMAN jest jedynym narzędziem obsługującym elementy kopii zapasowej. Odtworzenie pliku z kopii zapasowej utworzonej przez pakiet RMAN jest możliwe jedynie za pomocą tego pakietu. Nie można samodzielnie zrekonstruować pliku bazy danych z elementów kopii zapasowej.

 

Uruchamianie pakietu RMAN

W niniejszym rozdziale przedstawiono wymagania, które trzeba spełnić przed zaimplementowaniem pakietu RMAN. Omówiono także sposób jego uruchamiania, a także sposób łączenia się z docelową bazą danych. Uwzględniono opis aplikacji z wykorzystaniem i bez wykorzystania katalogu odzyskiwania.

 

Wymagania dotyczące docelowej bazy danych

Jeżeli środowisko pracy bazy danych jest skonfigurowane poprawnie, Czytelnik może pominąć studiowanie tego podrozdziału.

Połączenie się programu RMAN z docelową bazą danych jest możliwe po spełnieniu następujących warunków:

•   zdefiniowanie odpowiednich zmiennych systemowych;

•   posiadanie dostępu do konta użytkownika S.O. lub schematu użytkownika o uprawnieniach SYSDBA.

Przed połączeniem się z bazą danych należy upewnić się, że zdefiniowano standardowe zmienne systemu Unix. Zmiennymi tymi są: ORACLE_SID, ORACLE_HOME, PATH, NLS_LANG oraz NLS_DATE_FORMAT. Określają one nazwę instancji bazy danych, ścieżkę dostępu do programu wykonywalnego pakietu RMAN oraz opisują zachowanie poleceń archiwizacji, odzyskiwania i raportowania.

 

UWAGA

Przed zaimplementowaniem pakietu RMAN trzeba zadbać o to, aby zmienna NLS_LANG wskazywała na zestaw znaków, w jakim utworzono docelową bazę danych. W przeciwnym wypadku mogą zaistnieć problemy podczas stosowania poleceń BACKUP, RESTORE oraz RECOVER.

 

Oprócz odpowiedniego zdefiniowania zmiennych systemowych konieczne jest także posiadanie dostępu do konta użytkownika S.O. lub schematu użytkownika bazy danych o uprawnieniach SYSDBA. Jest to konieczny warunek uzyskania połączenia z docelową bazą danych, jeśli połączenie następuje za pomocą pakietu RMAN. Istnieją dwie metody udostępniania uprawnień SYSDBA:

...

Zgłoś jeśli naruszono regulamin