Archiwizowanie i odtwarzanie bazy danych z wykorzystaniem programu Recovery Manager(część III)

Niniejszy artykuł stanowi kontynuację artykułów zamieszczonych w
poprzednich numerach PLOUG’tek. Część pierwsza dotyczyła ogólnej
architektury systemu wykorzystującego RMANa, sposobów pracy w środowisku
programu RMAN, rodzajów kopii bezpieczeństwa bazy danych, jakie oferuje Recovery
Manager oraz kanałom komunikacyjnym i skryptom składowanym. W części drugiej zostały
omówione techniki sporządzania kopii archiwalnych bazy danych, katalog odtwarzania i
sposoby wyszukiwania informacji z tego katalogu. Natomiast część trzecia artykułu jest
poświęcona sposobom odtwarzania bazy danych z wykorzystaniem poleceń Recovery
Managera
(punkty dziesiąty i jedenasty) oraz obiektom bazy danych przechowującym
informacje dla RMANa (punkty dwunasty i trzynasty).

10. Polecenia Recovery Managera służące do odtwarzania danych

Proces odtwarzania całej bazy danych lub jej fragmentu za pomocą Recovery
Managera
przebiega w dwóch fazach. W fazie pierwszej pliki ze zbiorów archiwalnych
lub kopie plików są odzyskiwane i wgrywane na dysk. Służy do tego celu polecenie restore.
W fazie drugiej do wgranych plików są aplikowane zmiany zapisane w zarchiwizowanych i
aktywnych plikach dziennika powtórzeń. Do tego celu służy polecenie recover.

10.1. Polecenie restore

Przed odtworzeniem danych należy odzyskać (ang. restore) odpowiednie
pliki ze zbioru archiwalnego lub kopii plików. Służy do tego celu polecenie restore,
którego podstawową składnię przedstawiono poniżej.

restore controlfile |
( database [from tag
nazwa_opisowa]
[skip tablespace przestrzeń1, …, przestrzeńn] ) |
( tablespace
przestrzeń1, …, przestrzeńn
[from tag
nazwa_opisowa]) |
( datafile
plik1, …, plikn
[from tag
nazwa_opisowa]) |
( archivelog
parametry
[from tag
nazwa_opisowa])
[from backupset | datafilecopy]
[channel
kanał];

gdzie:

  • controlfile odzyskuje plik kontrolny;
  • database odzyskuje wszystkie pliki danych należące do bazy danych;
  • from tag nazwa_opisowa domyślnie RMAN odzyskuje pliki z
    najnowszego zbioru archiwalnego lub kopii pliku, można jednak wskazać inny zbiór lub
    kopię za pomocą nazwy opisowej;
  • skip tablespace umożliwia wskazanie tych przestrzeni tabel, które nie
    mają być odzyskiwane; przestrzenie wskazuje się nazwą lub numerem;
  • tablespace odzyskuje wszystkie pliki należące do wskazanej nazwą lub
    numerem przestrzeni tabel;
  • datafile odzyskuje wskazany nazwą lub numerem plik danych;
  • archivelog parametry odzyskuje wskazane parametrami zarchiwizowane pliki
    dziennika powtórzeń; pliki te wskazuje się za pomocą takich samych parametrów, jakie
    specyfikuje się w poleceniu backup archivelog (por. punkt 7.6, części drugiej
    artykułu);
  • from backupset|datafilecopy wskazuje, czy pliki mają być odzyskane ze
    zbioru archiwalnego (backupset), czy kopii pliku (datafilecopy);
    domyślnie wszystkie plik są odzyskiwane ze zbioru archiwalnego;
  • channel wskazuje kanał, który zostanie wykorzystany do odzyskiwania
    danych; jeżeli parametr ten nie zostanie wyspecyfikowany, wówczas RMAN wykorzysta
    jeden z zaalokowanych wcześniej kanałów.

10.2. Polecenie recover

Kolejnym krokiem po odzyskaniu wymaganych plików ze zbioru
archiwalnego lub kopii jest odtworzenie danych. Służy do tego celu polecenie recover
o następującej składni:

recover database [skip tablespace przestrzeń1, …, przestrzeńn] |
tablespace
przestrzeń1, …, przestrzeńn |
datafile
plik1, … plikn;

gdzie:

  • database odtwarza całą bazę danych;
  • skip tablespace umożliwia określenie nazw tych przestrzeni tabel, które
    nie mają być odtwarzane;
  • tablespace odtwarza wskazane nazwą przestrzenie tabel;
  • datafile odtwarza wskazane nazwą lub numerem pliki danych.

Robert Wrembel
Instytut Informatyki Politechniki Poznańskiej
e-mail: Robert.Wrembel@cs.put.poznan.pl