Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Mechanizm stosowany przez Oracle podczas wykonywania kopii zapasowych na gorąco

Kopia zapasowa na gorąco oznacza, że ​​system działa, a aktualizacje przebiegają normalnie

Chciałbym tutaj wyjaśnić mechanizm podążania przez Oracle podczas wykonywania kopii zapasowej na gorąco

Ręczna kopia zapasowa

Ręczne uruchamianie gorącej kopii zapasowej za pomocą poniższego polecenia dla obszaru tabel

zmień przestrzeń tabel UŻYTKOWNICY rozpoczynają tworzenie kopii zapasowej;

W tym czasie dzieje się niewiele rzeczy
1) DBWn sprawdza obszar tabel (wypisuje wszystkie brudne bloki z danego SCN)

2) CKPT przestaje aktualizować pole SCN punktu kontrolnego w nagłówkach plików danych i zamiast tego rozpoczyna aktualizowanie pola SCN punktu kontrolnego Hot Backup.
Nagłówki plików danych, które zawierają SCN ostatniego zakończonego punktu kontrolnego nie są aktualizowane, gdy plik jest w trybie kopii zapasowej na gorąco . Dzięki temu proces odzyskiwania może zrozumieć, jakie pliki dziennika przeróbek archiwum mogą być potrzebne do pełnego odzyskania tego pliku.

3) LGWR rozpoczyna rejestrowanie pełnych obrazów zmienionych bloków przy pierwszej zmianie bloku po zapisaniu przez DBWn
Przy pierwszej zmianie bloku w pliku danych, który jest w trybie gorącej kopii zapasowej, cały blok jest zapisywany w przerobić pliki dziennika, a nie tylko zmienione bajty. Zwykle zapisywane są tylko zmienione bajty (wektor ponawiania). W trybie kopii zapasowej na gorąco cały blok jest rejestrowany za pierwszym razem. Dzieje się tak, ponieważ możesz znaleźć się w sytuacji, w której proces kopiujący plik danych i DBWR pracują jednocześnie na tym samym bloku.
Powiedzmy, że tak, a współczynnik blokowania odczytu systemu operacyjnego wynosi 2K . Program do tworzenia kopii zapasowych odczytuje 8k bloku Oracle. System operacyjny daje 4k. Tymczasem — DBWR poprosił o przepisanie tego bloku. system operacyjny planuje, że zapis DBWR ma nastąpić teraz. Cały blok 8k zostaje przepisany. Program do tworzenia kopii zapasowych uruchamia się ponownie (tutaj wielozadaniowy system operacyjny) i odczytuje ostatnie 4k bloku. Program do tworzenia kopii zapasowych ma teraz pęknięty blok — głowa i ogon pochodzą z dwóch punktów w czasie.
Oracle nie może sobie z tym poradzić podczas odzyskiwania. W związku z tym rejestrujemy cały obraz bloku, aby podczas odzyskiwania ten blok został całkowicie przepisany z ponownego wykonania i był przynajmniej zgodny ze sobą. Możemy go stamtąd odzyskać.

Ważny punkt w kopii zapasowej na gorąco

1)Aby ograniczyć efekt tego dodatkowego rejestrowania, należy upewnić się, że w trybie kopii zapasowej umieszcza się tylko jeden obszar tabel naraz i wyprowadzać obszar tabel z trybu kopii zapasowej natychmiast po utworzeniu kopii zapasowej. Zmniejszy to do minimum liczbę bloków, które mogą wymagać zarejestrowania.

2) Jeśli obszar tabel jest w trybie hotbackup i baza danych zostanie przerwana. A potem spróbujesz zacząć, będzie narzekać na odzyskiwanie, ponieważ plik danych SCN tego obszaru tabel będzie starszy, a następnie, aby uruchomić bazę danych, musimy najpierw zakończyć tworzenie kopii zapasowej tego obszaru tabel. Po prostu aktualizuje punkt kontrolny SCN za pomocą Hot Backup Checkpoint SCN
Kopia zapasowa menedżera odzyskiwania
Nie musimy przełączać obszaru tabel w tryb hotbackup, aby wykonać kopię zapasową za pomocą trybu hotbackmode
Ponieważ RMAN to narzędzie Oracle, wiedzą, jak radzić sobie ze złamanymi blokami, więc nie zapisuje fragmentów bloków ani częściowe bloki do kopii zapasowej, zapisuje pełny spójny obraz bloku na nośniku kopii zapasowej. Tak więc menedżer odzyskiwania nie musi rejestrować całego bloku w pliku dziennika ponownych operacji. Oznacza to więc ogromne oszczędności w ponownym logowaniu w przypadku ręcznego wykonywania kopii zapasowej

Ponadto rman nie zamraża nagłówka pliku danych, kontynuuje sprawdzanie punktu kontrolnego tak samo normalnie, ale wykonuje punkt kontrolny w przestrzeni tabel.

Kopia zapasowa RMAN zapisuje początkowy SCN, Absolute Fuzzy SCN (co jest tym samym, co początkowy SCN) po rozpoczęciu tworzenia kopii zapasowej i gdy bloki są tworzone w pliku danych, sprawdzany jest blok pod kątem SCN, jeśli jest wyższy niż początkowy SCN, Absolute Fuzzy SCN jest aktualizowany o ten numer. To samo dotyczy wszystkich bloków, gdy cały plik danych jest kopią zapasową, obie liczby są przechowywane w nagłówku kopii zapasowej.

Więc za każdym razem, gdy RMAN przywracał te kopie zapasowe, wiedzą, że wie od początku SCN do końca SCN, na pewno musi odzyskać plik danych

Więc w zasadzie nie ma żadnych dodatkowych kosztów, takich jak zwiększone logowanie w gorącej kopii zapasowej RMAN.

To samo dotyczy kopii zapasowej obrazu za pomocą RMAN


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TRUNC(liczba) Funkcja w Oracle

  2. Znajdowanie luk w sekwencji w tabeli w Oracle

  3. Połącz się w Oracle SQL

  4. tabela przestawna Oracle - jak zamienić pozycje wierszy na kolumny

  5. Czy możemy redystrybuować plik tools.jar Oracle?