Zadania Oracle RMAN Monitoring Recovery Manager

  • Cornelius Paul
  • 0
  • 2545
  • 606

Czasami przydatne jest określenie, co robi sesja serwera wykonująca operację tworzenia kopii zapasowej lub kopiowania. Masz dostęp do kilku widoków, które mogą pomóc w monitorowaniu postępu lub uzyskiwaniu informacji o zadaniach RMAN:

Widok Opis
PROCES V $ Identyfikuje aktualnie aktywne procesy.
SESJA V Identyfikuje aktualnie aktywne sesje. Ten widok służy do określania, które sesje serwera bazy danych Oracle odpowiadają kanałom przydzielonym przez RMAN.
V $ SESSION_LONGOPS Zapewnia raporty postępu długotrwałych operacji.
V $ SESSION_WAIT Wyświetla zdarzenia lub zasoby, na które czekają sesje.

Korelowanie sesji serwera z kanałami

Aby określić, które sesje serwera odpowiadają którym kanałom RMAN, użyj polecenia set z parametrem polecenia id. Parametr id polecenia wprowadza określony ciąg do kolumny CLIENT_INFO dynamicznego widoku wydajności V $ SESSION. Połącz V $ SESSION z V $ PROCESS, aby skorelować sesję serwera z kanałem.

Kolumna CLIENT_INFO w V $ SESSION zawiera informacje o każdej sesji serwera Recovery Manager. Dane pojawiają się w jednym z następujących formatów:

  • id = ciąg - Ten formularz pojawia się przy pierwszym połączeniu z docelową bazą danych ustanowionym przez RMAN.
  • id = string, ch = channel_id - Ten formularz pojawia się dla wszystkich przydzielonych kanałów.

Plik SPID kolumna PROCES V $ identyfikuje numer procesu systemu operacyjnego.

Aby skorelować proces z kanałem podczas tworzenia kopii zapasowej:

1. Uruchom RMAN i połącz się z docelową bazą danych oraz, opcjonalnie, bazą danych katalogu odtwarzania. Na przykład wprowadź:

% rman cel / katalog rman / rman @ rcat

2. Ustaw parametr id polecenia po przydzieleniu kanałów, a następnie wykonaj kopię zapasową żądanego obiektu. Na przykład wprowadź:

RMAN> uruchom alokuj kanał typu t1 dysk; przydziel dysk typu t2 kanału; ustaw identyfikator polecenia na „rman”; kopia zapasowa przyrostowa poziomu 0 zestaw plików 5 obszar tabel 'SYSTEM'; # opcjonalnie wydaj polecenie hosta, aby uzyskać dostęp do hosta z monitem systemu operacyjnego; sql 'ALTER SYSTEM ARCHIVE LOG ALL'; 

3. Uruchom sesję SQL * Plus, a następnie wykonaj zapytanie dotyczące połączonych widoków V $ SESSION i V $ PROCESS podczas wykonywania zadania RMAN. Na przykład wprowadź:

SQL> SELECT sid, spid, client_info FROM v $ proces p, v $ sesja s WHERE p.addr = s.paddr AND client_info LIKE '% id = rman%'; SID SPID CLIENT_INFO ---------- --------- --------------- 8 21973 id = rman 16 22057 id = rman 17 22068 id = rman, ch = t1 18 22070 id = rman, ch = t2

Monitorowanie postępu pracy

Monitoruj postęp tworzenia kopii zapasowych, kopiowania i przywracania, wysyłając zapytania do widoku V $ SESSION_LONGOPS.

Każda sesja serwera wykonująca kopię zapasową, przywracanie lub kopiowanie raportuje swój postęp w porównaniu z całkowitą ilością pracy wymaganą dla tej określonej części przywracania. Na przykład, jeśli wykonujesz przywracanie przy użyciu dwóch kanałów, a każdy kanał ma dwa zestawy kopii zapasowych do przywrócenia (łącznie 4 zestawy), każda sesja serwera zgłasza swój postęp za pomocą jednego zestawu. Po całkowitym przywróceniu tego zestawu RMAN rozpoczyna raportowanie postępu w następnym zestawie do przywrócenia.

1. Uruchom RMAN i połącz się z docelową bazą danych i, opcjonalnie, bazą danych katalogu odtwarzania. Na przykład wprowadź:

% rman cel / katalog rman / rman @ rcat

2. Rozpocznij zadanie RMAN. Na przykład wprowadź:

RMAN> uruchom alokuj kanał typu t1 dysk; zapasowa baza danych; 

3. Podczas wykonywania zadania wykonaj skrypt zawierający następującą instrukcję SQL:

SQL> SELECT sid, serial #, context, sofar, totalwork, round (sofar / totalwork * 100,2) "% Complete" FROM v $ session_longops WHERE opname LIKE 'RMAN%' AND opname NOT LIKE '% aggregate%' AND totalwork ! = 0 AND sofar <> totalwork /

Jeśli powtórzysz zapytanie w trakcie tworzenia kopii zapasowej, zobaczysz takie dane wyjściowe:

SQL> @longops SID SERIAL # KONTEKST SOFAR TOTALWORK% Ukończono ---------- ---------- ---------- -------- - ---------- ---------- 8 19 1 10377 36617 28,34 SQL> @longops SID SERIAL # CONTEXT SOFAR TOTALWORK% Ukończono ---------- ---------- ---------- ---------- ---------- ---------- 8 19 1 21513 36617 58,75 SQL> @longops SID SERIAL # CONTEXT SOFAR TOTALWORK% Ukończono ---------- ---------- ---------- - -------- ---------- ---------- 8 19 1 29641 36617 80,95 SQL> @longops SID SERIAL # CONTEXT SOFAR TOTALWORK% Ukończono ---- ------ ---------- ---------- ---------- ---------- ---- ------ 8 19 1 35849 36617 97,9 SQL> @longops - brak wybranych wierszy

4. Jeśli uruchamiasz skrypt w odstępach co najmniej dwóch minut, a kolumna% ukończenia nie zwiększa się, oznacza to, że RMAN napotkał problem. Pytanie V $ SESSION_WAIT aby określić, na które wydarzenia czekamy. Na przykład wprowadź:

SQL> SELECT sid, sekundy_in_wait AS sec_wait, zdarzenie OD v $ session_wait WHERE wait_time = 0 ORDER BY sid; SID SEC_WAIT EVENT ---------- ---------- --------------------------- -------------------- 1 368383335 zegar pmon 2 1097 rdbms komunikat ipc 3 387928 rdbms komunikat ipc 4 0 rdbms komunikat ipc 5 1408 smon timer 6 386114 rdbms komunikat ipc 7 387626 rdbms wiadomość ipc 8 1060 SQL * Wiadomość sieciowa od klienta 9 1060 SQL * Wiadomość sieciowa od klienta 12 1060 SQL * Wiadomość sieciowa od klienta 13 2366 SQL * Wiadomość sieciowa od klienta 14 2757 SQL * Wiadomość sieciowa od klienta Wybrano 12 wierszy.
Uwaga: Widok V $ SESSION_WAIT pokazuje tylko zdarzenia Oracle, a nie zdarzenia menedżera mediów.

5. Jeśli nie chcesz uruchamiać zapytań sqlplus i chcesz zobaczyć procent ukończenia w trakcie wykonywania zadania, możesz dodać „debug io” do kopii zapasowej lub skryptu. Spowoduje to wyświetlenie danych wyjściowych na stdio, aby pokazać postęp zadania.

RMAN> uruchom alokuj kanał typu t1 dysk; debug io; zapasowa baza danych; debugowanie; 

Możesz zmienić opcję na „debuguj”, która jest równoważna z „debuguj wszystko”, aby uzyskać jeszcze więcej szczegółów na temat SQL i PL / SQL wykonywanych przez RMAN.

Monitorowanie wydajności pracy

Monitoruj wydajność tworzenia kopii zapasowych i przywracania za pomocą zapytań V $ BACKUP_SYNC i V $ BACKUP_ASYNC_IO. Na potrzeby tworzenia kopii zapasowych lub przywracania będą istnieć następujące wiersze:

  • Jeden wiersz na każdy plik danych.
  • Jeden wiersz zagregowanego pliku danych.
  • Jeden rząd na każdy element zapasowy.

To, czy I / O jest synchroniczne, zależy od tego, jak jest postrzegane przez proces sterujący. Asynchroniczne operacje we / wy mogą być dostarczane przez rodzime usługi platformy lub przez slave we / wy.

W przypadku synchronicznych operacji we / wy trudno jest zidentyfikować określone wąskie gardła, ponieważ wszystkie synchroniczne operacje we / wy stanowią wąskie gardło procesu. Porównaj szybkość transmisji bajtów na sekundę z maksymalną przepustowością urządzenia. Jeśli szybkość w bajtach na sekundę jest niższa niż określa to urządzenie, rozważ dostrojenie tej części procesu tworzenia / przywracania kopii zapasowej.

1. Mb / s = Min (dysk Mb / s, taśma Mb / s)

2. Szybkość tworzenia kopii zapasowych jest kosztem przywrócenia szybkości. Im szybsza kopia zapasowa, tym wolniejsze może być przywracanie. Gdy nie wszystkie pliki danych zostaną przywrócone.

3. Mb / s dysku - odczyt z dysków fizycznych podczas tworzenia kopii zapasowej do momentu zapełnienia wszystkich kontrolerów. Kontroler nasyca się w miarę odczytywania większej liczby dysków: 1 dysk 3 Mb / s, 2 dyski 5 Mb / s, 3 dyski 6 Mb / s, 4 dyski 6,2 Mb / s, 5 dysków 6,2 Mb / s, 6 dysków 6,2 Mb / s ; nic nie zyskujesz używając więcej niż 5 dysków.

Zasady wydajności

Dwa sposoby na obrócenie więcej niż jednego dysku.

za. Multipleksowanie wielu plików danych do zestawu kopii zapasowych (FILESPERSET) Najgorszy scenariusz: przywrócenie jednego pliku danych z N. Konieczne będzie odczytanie całego zestawu kopii zapasowych. Przykład: zestaw kopii zapasowych 10 Gb jest tworzony w ciągu godziny (10 Gb / godzinę) z 10 plikami danych. W przypadku przywracania tylko jednego pliku danych postrzegana wydajność przywracania wyniosłaby 1 Gb / godzinę.

b. Użyj dysków logicznych, które są połączone z kilkoma dyskami fizycznymi. Jeden odczyt / zapis z jednego dysku logicznego obraca wiele dysków fizycznych. Jeśli podczas przywracania dyski logiczne nie obracają tej samej liczby dysków, dysk może być wąskim gardłem podczas przywracania.

4. Mb / s taśmy - im więcej taśm, tym szybsze tworzenie kopii zapasowych i przywracanie, więc kup więcej taśm. Im szybsze napędy taśmowe (Redwood: 20 Mb / s, DLT7000: 3 Mb / s), tym szybsze tworzenie kopii zapasowych. Przydziel JEDEN kanał na urządzenie fizyczne. Jeśli używanych jest więcej kanałów niż dysków fizycznych, zestawy kopii zapasowych będą przeplatane (podobnie jak w przypadku multipleksowania plików danych).

Wąskie gardła z Async IO

Korzystając z synchronicznych operacji we / wy, można łatwo określić, ile czasu wymagają zadania tworzenia kopii zapasowych, ponieważ urządzenia wykonują tylko jedno zadanie we / wy na raz. Podczas korzystania z asynchronicznych operacji we / wy trudniej jest zmierzyć szybkość transmisji bajtów na sekundę z następujących powodów:

  • Przetwarzanie asynchroniczne oznacza, że ​​jednocześnie występuje więcej niż jedno zadanie.
  • Oracle I / O używa odpytywania zamiast mechanizmu przerwań w celu określenia, kiedy każde żądanie we / wy zakończy się.
  • Ponieważ proces tworzenia kopii zapasowej lub przywracania nie jest natychmiast powiadamiany o zakończeniu operacji we / wy przez system operacyjny, nie można określić czasu trwania każdego we / wy.

Jeśli LONG_WAITS + SHORT_WAITS to znaczący ułamek IO_COUNT, to prawdopodobnie plik jest wąskim gardłem.

Niektóre platformy implementacji AIO mogą powodować, że wywołujący będzie czekał na zakończenie operacji we / wy podczas wykonywania nieblokującego odpytywania we / wy. Czas oczekiwania powinien wynosić zero, aby uniknąć wąskich gardeł.

1. LONG_WAITS = liczba razy, gdy proces tworzenia kopii zapasowej / przywracania nakazał systemowi operacyjnemu czekać do zakończenia operacji we / wy.
2. SHORT_WAITS = liczba razy, gdy proces tworzenia kopii zapasowej / przywracania wykonał wywołanie O / S w celu odpytania o zakończenie operacji we / wy w trybie nieblokującym.

Uwaga: Jeśli SHORT_WAIT_TIME_TOTAL jest niski w porównaniu z całkowitym czasem dla tego pliku, to opóźnienie jest najprawdopodobniej spowodowane innymi czynnikami, takimi jak zamiana procesów. Jeśli to możliwe, dostrój system operacyjny, aby czas oczekiwania I / O był wyświetlany w kolumnie LONG_WAIT_TIME_TOTAL.

Używanie stałych widoków do monitorowania operacji tworzenia kopii zapasowych

Posługiwać się V $ BACKUP_SYNC_IO i V $ BACKUP_ASYNC_IO do określenia źródła wąskich gardeł tworzenia kopii zapasowych lub przywracania oraz do określenia postępu zadań tworzenia kopii zapasowych. V $ BACKUP_SYNC_IO zawiera wiersze, gdy I / O jest synchroniczne z procesem (lub wątkiem na niektórych platformach) wykonującym kopię zapasową. V $ BACKUP_ASYNC_IO zawiera wiersze, gdy we / wy jest asynchroniczne. Asynchroniczne operacje we / wy są uzyskiwane za pomocą procesów we / wy lub są obsługiwane przez podstawowy system operacyjny.




Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux