Tworzenie kopii zapasowej i odzyskiwanie bazy danych Oracle Database na maszynie wirtualnej z systemem Linux platformy Azure przy użyciu usługi Azure Backup

Dotyczy: ✔️ maszyny wirtualne z systemem Linux

W tym artykule przedstawiono użycie usługi Azure Backup do tworzenia migawek dysków maszyny wirtualnej, które obejmują pliki bazy danych Oracle i obszar szybkiego odzyskiwania Oracle. Za pomocą usługi Azure Backup można tworzyć pełne migawki dysków, które są odpowiednie jako kopie zapasowe i są przechowywane w magazynie usługi Recovery Services.

Usługa Azure Backup udostępnia również kopie zapasowe spójne na poziomie aplikacji, które zapewniają, że do przywrócenia danych nie są wymagane więcej poprawek. Kopie zapasowe spójne na poziomie aplikacji działają zarówno z bazami danych systemu plików, jak i z bazami danych programu Oracle Automatic Storage Management (ASM).

Przywracanie danych spójnych na poziomie aplikacji skraca czas przywracania, dzięki czemu można szybko powrócić do stanu działania. Odzyskiwanie bazy danych Oracle jest nadal konieczne po przywróceniu. Odzyskiwanie można ułatwić przy użyciu zarchiwizowanych plików dziennika zarchiwizowanych w programie Oracle, które są przechwytywane i przechowywane w osobnym udziale plików platformy Azure.

W tym artykule przedstawiono następujące zadania:

  • Utwórz kopię zapasową bazy danych przy użyciu kopii zapasowej spójnej na poziomie aplikacji.
  • Przywracanie i odzyskiwanie bazy danych z punktu odzyskiwania.
  • Przywróć maszynę wirtualną z punktu odzyskiwania.

Wymagania wstępne

Przygotowywanie środowiska

Aby przygotować środowisko, wykonaj następujące kroki:

  1. Połącz się z maszyną wirtualną.
  2. Konfigurowanie usługi Azure Files Storage.
  3. Przygotuj bazy danych.

Nawiązywanie połączenia z maszyną wirtualną

  1. Aby utworzyć sesję protokołu Secure Shell (SSH) z maszyną wirtualną, użyj następującego polecenia. Zastąp <publicIpAddress> ciąg wartością publicznego adresu maszyny wirtualnej.

    ssh azureuser@<publicIpAddress>
    
  2. Przejdź do użytkownika głównego:

    sudo su -
    
  3. oracle Dodaj użytkownika do pliku /etc/sudoers:

    echo "oracle   ALL=(ALL)      NOPASSWD: ALL" >> /etc/sudoers
    

Konfigurowanie magazynu usługi Azure Files dla zarchiwizowanych plików dziennika bazy danych Oracle

Zarchiwizowane pliki dziennika wystąpienia bazy danych Oracle odgrywają kluczową rolę w odzyskiwaniu bazy danych. Przechowują zatwierdzone transakcje potrzebne do wycofania z migawki bazy danych wykonanej w przeszłości.

Gdy baza danych jest w ARCHIVELOG trybie, zarchiwizuje zawartość plików dziennika ponownego uruchamiania online, gdy stają się pełne i przełączane. Wraz z kopią zapasową są one wymagane do osiągnięcia odzyskiwania do punktu w czasie, gdy baza danych zostanie utracona.

Firma Oracle umożliwia archiwizowanie plików dziennika ponownego tworzenia w różnych lokalizacjach. Najlepszym rozwiązaniem w branży jest to, że co najmniej jedno z tych miejsc docelowych powinno znajdować się w magazynie zdalnym, więc jest oddzielone od magazynu hosta i chronione przy użyciu niezależnych migawek. Usługa Azure Files spełnia te wymagania.

Udział plików platformy Azure to magazyn dołączany do maszyny wirtualnej z systemem Linux lub Windows jako zwykły składnik systemu plików przy użyciu protokołu SMB (Server Message Block) lub sieciowego systemu plików (NFS). Aby skonfigurować udział plików platformy Azure w systemie Linux (przy użyciu protokołu SMB 3.0) do użycia jako magazyn dzienników archiwum, zobacz Instalowanie udziału plików platformy Azure SMB w systemie Linux. Po zakończeniu instalacji wróć do tego przewodnika i wykonaj wszystkie pozostałe kroki.

Przygotowywanie baz danych

W tej części procesu przyjęto założenie, że wykonano kroki opisane w temacie Tworzenie wystąpienia bazy danych Oracle Database na maszynie wirtualnej platformy Azure. W efekcie:

  • Masz wystąpienie Oracle o nazwie oratest1 uruchomione na maszynie wirtualnej o nazwie vmoracle19c.
  • Używasz standardowego skryptu Oracle z zależnością od standardowego pliku konfiguracji Oracle oraenv /etc/oratab, aby skonfigurować zmienne środowiskowe w sesji powłoki.

Wykonaj następujące kroki dla każdej bazy danych na maszynie wirtualnej:

  1. Przełącz się do oracle użytkownika:

     sudo su - oracle
    
  2. Ustaw zmienną środowiskową ORACLE_SID , uruchamiając oraenv skrypt. Zostanie wyświetlony monit o wprowadzenie ORACLE_SID nazwy.

    . oraenv
    
  3. Dodaj udział plików platformy Azure jako inne miejsce docelowe dla plików dziennika archiwum bazy danych.

    W tym kroku przyjęto założenie, że na maszynie wirtualnej z systemem Linux skonfigurowano i zainstalowany udział plików platformy Azure. Dla każdej bazy danych zainstalowanej na maszynie wirtualnej utwórz podkatalog o nazwie po identyfikatorze zabezpieczeń bazy danych (SID).

    W tym przykładzie nazwa punktu instalacji to /backup , a identyfikator SID to oratest1. Dlatego utworzysz podkatalog /backup/oratest1 i zmienisz własność na oracle użytkownika. Zastąp /backup/SID wartość nazwą punktu instalacji i identyfikatorem SID bazy danych.

    sudo mkdir /backup/oratest1
    sudo chown oracle:oinstall /backup/oratest1
    
  4. Połącz się z bazą danych:

    sqlplus / as sysdba
    
  5. Uruchom bazę danych, jeśli nie jest jeszcze uruchomiona:

    SQL> startup
    
  6. Ustaw pierwsze miejsce docelowe dziennika archiwum bazy danych na utworzony wcześniej katalog udziału plików:

    SQL> alter system set log_archive_dest_1='LOCATION=/backup/oratest1' scope=both;
    
  7. Zdefiniuj cel punktu odzyskiwania dla bazy danych.

    Aby osiągnąć spójny cel punktu odzyskiwania, należy wziąć pod uwagę częstotliwość, z jaką pliki dziennika ponownego tworzenia online są archiwizowane. Te czynniki kontrolują częstotliwość:

    • Rozmiar plików dziennika ponownego w trybie online. Gdy plik dziennika online staje się pełny, zostaje przełączony i zarchiwizowany. Większy plik dziennika online, tym dłużej trwa wypełnianie. Dodany czas zmniejsza częstotliwość generowania archiwum.
    • Ustawienie parametru ARCHIVE_LAG_TARGET określa maksymalną dozwoloną liczbę sekund, zanim bieżący plik dziennika online musi zostać przełączony i zarchiwizowany.

    Aby zminimalizować częstotliwość przełączania i archiwizowania, wraz z towarzyszącą operacją punktu kontrolnego, pliki dziennika ponownego wykonania online oracle zwykle mają duży rozmiar (na przykład 1024M, 4096M lub 8192M). W zajętym środowisku bazy danych dzienniki nadal mogą przełączać się i archiwizować co kilka sekund lub minut. W mniej aktywnej bazie danych mogą one zarchiwizować godziny lub dni przed zarchiwizowanym ostatnimi transakcjami, co znacznie zmniejszy częstotliwość archiwizacji.

    Zalecamy ustawienie, ARCHIVE_LAG_TARGET aby zapewnić spójny cel punktu odzyskiwania. Ustawienie 5 minut (300 sekund) jest rozsądną wartością dla wartości ARCHIVE_LAG_TARGET. Gwarantuje to, że każda operacja odzyskiwania bazy danych może odzyskać sprawność do czasu niepowodzenia w ciągu 5 minut.

    Aby ustawić ARCHIVE_LAG_TARGETpolecenie , uruchom następujące polecenie:

    SQL> alter system set archive_lag_target=300 scope=both;
    

    Aby lepiej zrozumieć sposób wdrażania wystąpień bazy danych Oracle Database o wysokiej dostępności na platformie Azure z zerowym celem punktu odzyskiwania, zobacz Architektury referencyjne dla bazy danych Oracle Database.

  8. Upewnij się, że baza danych jest w trybie dziennika archiwum, aby włączyć kopie zapasowe online.

    Najpierw sprawdź stan archiwum dziennika:

    SQL> SELECT log_mode FROM v$database;
    
    LOG_MODE
    ------------
    NOARCHIVELOG
    

    Jeśli jest w NOARCHIVELOG trybie, uruchom następujące polecenia:

    SQL> SHUTDOWN IMMEDIATE;
    SQL> STARTUP MOUNT;
    SQL> ALTER DATABASE ARCHIVELOG;
    SQL> ALTER DATABASE OPEN;
    SQL> ALTER SYSTEM SWITCH LOGFILE;
    
  9. Utwórz tabelę, aby przetestować operacje tworzenia kopii zapasowej i przywracania:

    SQL> create user scott identified by tiger quota 100M on users;
    SQL> grant create session, create table to scott;
    SQL> connect scott/tiger
    SQL> create table scott_table(col1 number, col2 varchar2(50));
    SQL> insert into scott_table VALUES(1,'Line 1');
    SQL> commit;
    SQL> quit
    

Tworzenie kopii zapasowej danych przy użyciu usługi Azure Backup

Usługa Azure Backup udostępnia rozwiązania do tworzenia kopii zapasowych danych i odzyskiwania ich z chmury platformy Microsoft Azure. usługa Azure Backup umożliwia wykonywanie niezależnych i odizolowanych kopii zapasowych, co chroni przed przypadkowym zniszczeniem oryginalnych danych. Kopie zapasowe są przechowywane w magazynie usługi Recovery Services z wbudowanym zarządzaniem punktami odzyskiwania, dzięki czemu można je przywrócić w razie potrzeby.

W tej sekcji użyjesz usługi Azure Backup do tworzenia migawek spójnych na poziomie aplikacji działających maszyn wirtualnych i wystąpień bazy danych Oracle. Bazy danych są umieszczane w trybie tworzenia kopii zapasowych, co umożliwia transakcyjnie spójne tworzenie kopii zapasowej online, gdy usługa Azure Backup tworzy migawkę dysków maszyn wirtualnych. Migawka jest pełną kopią magazynu, a nie przyrostową lub kopiową migawką zapisu. Jest to efektywne medium, z których można przywrócić bazę danych.

Zaletą korzystania z migawek spójnych na poziomie aplikacji usługi Azure Backup jest szybkie wykonywanie, bez względu na to, jak duża jest baza danych. Migawkę można użyć do operacji przywracania, gdy tylko go wykonasz, bez konieczności oczekiwania na jego przeniesienie do magazynu usługi Recovery Services.

Aby utworzyć kopię zapasową bazy danych przy użyciu usługi Azure Backup, wykonaj następujące kroki:

  1. Omówienie struktury usługi Azure Backup.
  2. Przygotuj środowisko do tworzenia kopii zapasowej spójnej z aplikacją.
  3. Konfigurowanie kopii zapasowych spójnych na poziomie aplikacji.
  4. Wyzwalanie kopii zapasowej maszyny wirtualnej spójnej z aplikacją.

Omówienie struktury usługi Azure Backup

Usługa Azure Backup zapewnia strukturę umożliwiającą osiągnięcie spójności aplikacji podczas tworzenia kopii zapasowych maszyn wirtualnych z systemem Windows i Linux dla różnych aplikacji. Ta struktura obejmuje wywoływanie skryptu w celu spoczynku aplikacji przed utworzeniem migawki dysków. Wywołuje on skrypt postscript w celu odblokowania aplikacji po zakończeniu tworzenia migawki.

Firma Microsoft zwiększyła strukturę, dzięki czemu usługa Azure Backup udostępnia spakowane indeksy i skrypty pocztowe dla wybranych aplikacji. Te indeksy i postscripty są już ładowane na obrazie systemu Linux, więc nie ma nic do zainstalowania. Wystarczy podać nazwę aplikacji, a następnie usługa Azure Backup automatycznie wywołuje odpowiednie skrypty. Firma Microsoft zarządza spakowanym prescripts i postscripts, dzięki czemu możesz mieć pewność, że będziesz mieć pewność, że są one obsługiwane, własności i ważności.

Obecnie obsługiwane aplikacje dla platformy rozszerzonej to Oracle 12.x lub nowszy i MySQL. Aby uzyskać szczegółowe informacje, zobacz Macierz obsługi dla zarządzanych kopii zapasowych maszyn wirtualnych platformy Azure.

Możesz tworzyć własne skrypty dla usługi Azure Backup, aby używać ich z bazami danych przed 12.x. Przykładowe skrypty są dostępne w witrynie GitHub.

Za każdym razem, gdy wykonujesz kopię zapasową, rozszerzona struktura uruchamia skrypty wstępne i postscripty we wszystkich wystąpieniach bazy danych Oracle zainstalowanych na maszynie wirtualnej. Parametr configuration_path w pliku workload.conf wskazuje lokalizację pliku Oracle /etc/oratab (lub pliku zdefiniowanego przez użytkownika, który jest zgodny ze składnią oratab). Aby uzyskać szczegółowe informacje, zobacz Konfigurowanie kopii zapasowych spójnych na poziomie aplikacji.

Usługa Azure Backup uruchamia prekrypcje i skrypty pocztowe dla każdej bazy danych wymienionej w pliku wskazującym configuration_path . Wyjątki to wiersze rozpoczynające się # (traktowane jako komentarz) lub +ASM (wystąpienie oracle ASM).

Rozszerzona struktura usługi Azure Backup wykonuje kopie zapasowe online wystąpień bazy danych Oracle, które działają w ARCHIVELOG trybie. Indeksy i skrypty pocztowe używają ALTER DATABASE BEGIN poleceń i END BACKUP , aby osiągnąć spójność aplikacji.

Aby kopia zapasowa bazy danych była spójna, bazy danych w NOARCHIVELOG trybie muszą być w trybie czyste, zanim zostanie uruchomiona migawka.

Przygotowywanie środowiska do tworzenia kopii zapasowej spójnej z aplikacją

Usługa Oracle Database stosuje separację ról zadań, aby zapewnić rozdzielenie obowiązków przy użyciu najniższych uprawnień. Kojarzy oddzielne grupy systemu operacyjnego z oddzielnymi rolami administracyjnymi bazy danych. Użytkownicy mogą mieć przyznane im różne uprawnienia bazy danych, w zależności od członkostwa w grupach systemu operacyjnego.

SYSBACKUP Rola bazy danych (nazwa OSBACKUPDBAogólna ) zapewnia ograniczone uprawnienia do wykonywania operacji tworzenia kopii zapasowych w bazie danych. Usługa Azure Backup wymaga jej.

Podczas instalacji programu Oracle zalecamy użycie backupdba nazwy grupy systemu operacyjnego do skojarzenia z rolą SYSBACKUP . Można jednak użyć dowolnej nazwy, więc musisz najpierw określić nazwę grupy systemu operacyjnego reprezentującej rolę Oracle SYSBACKUP .

  1. Przełącz się do oracle użytkownika:

    sudo su - oracle
    
  2. Ustaw środowisko Oracle:

    export ORACLE_SID=oratest1
    export ORAENV_ASK=NO
    . oraenv
    
  3. Określ nazwę grupy systemu operacyjnego reprezentującej rolę Oracle SYSBACKUP :

    grep "define SS_BKP" $ORACLE_HOME/rdbms/lib/config.c
    

    Dane wyjściowe wyglądają podobnie do następującego przykładu:

    #define SS_BKP_GRP "backupdba"
    

    W danych wyjściowych wartość ujęta w podwójny cudzysłów jest nazwą grupy systemu operacyjnego Linux, do której rola Oracle SYSBACKUP jest uwierzytelniana zewnętrznie. W tym przykładzie jest to backupdba. Zanotuj rzeczywistą wartość.

  4. Sprawdź, czy grupa systemu operacyjnego istnieje, uruchamiając następujące polecenie. Zastąp <group name> wartość zwróconą przez poprzednie polecenie (bez cudzysłowu).

    grep <group name> /etc/group
    

    Dane wyjściowe wyglądają podobnie do następującego przykładu:

    backupdba:x:54324:oracle
    

    Ważne

    Jeśli dane wyjściowe nie są zgodne z wartością grupy systemu operacyjnego Oracle pobraną w kroku 3, użyj następującego polecenia, aby utworzyć grupę systemu operacyjnego reprezentującą rolę Oracle SYSBACKUP . Zastąp <group name> element nazwą grupy pobraną w kroku 3.

    sudo groupadd <group name>
    
  5. Utwórz nowego użytkownika kopii zapasowej o nazwie azbackup należącego do grupy systemu operacyjnego, która została zweryfikowana lub utworzona w poprzednich krokach. Zastąp <group name> element nazwą zweryfikowanej grupy. Użytkownik jest również dodawany do oinstall grupy, aby umożliwić mu otwieranie dysków ASM.

    sudo useradd -g <group name> -G oinstall azbackup
    
  6. Skonfiguruj uwierzytelnianie zewnętrzne dla nowego użytkownika kopii zapasowej.

    Użytkownik azbackup kopii zapasowej musi mieć możliwość uzyskania dostępu do bazy danych przy użyciu uwierzytelniania zewnętrznego, więc nie jest kwestionowany przez hasło. Aby włączyć ten dostęp, należy utworzyć użytkownika bazy danych, który uwierzytelnia się zewnętrznie za pośrednictwem programu azbackup. Baza danych używa prefiksu nazwy użytkownika, który należy znaleźć.

    Wykonaj następujące kroki dla każdej bazy danych zainstalowanej na maszynie wirtualnej:

    1. Zaloguj się do bazy danych przy użyciu programu SQL Plus i sprawdź ustawienia domyślne uwierzytelniania zewnętrznego:

      sqlplus / as sysdba
      SQL> show parameter os_authent_prefix
      SQL> show parameter remote_os_authent
      

      Dane wyjściowe powinny wyglądać podobnie do tego przykładu, który jest wyświetlany ops$ jako prefiks nazwy użytkownika bazy danych:

      NAME                                 TYPE        VALUE
      ------------------------------------ ----------- ------------------------------
      os_authent_prefix                    string      ops$
      remote_os_authent                    boolean     FALSE
      
    2. Utwórz użytkownika bazy danych o nazwie ops$azbackup na potrzeby uwierzytelniania zewnętrznego azbackup dla użytkownika i przyznaj SYSBACKUP uprawnienia:

      SQL> CREATE USER ops$azbackup IDENTIFIED EXTERNALLY;
      SQL> GRANT CREATE SESSION, ALTER SESSION, SYSBACKUP TO ops$azbackup;
      
  7. Jeśli podczas uruchamiania instrukcji wystąpi błądORA-46953: The password file is not in the 12.2 format, wykonaj następujące kroki, aby przeprowadzić migrację pliku orapwd do formatu 12.2.GRANT Wykonaj te kroki dla każdego wystąpienia bazy danych Oracle Na maszynie wirtualnej.

    1. Zamknij program SQL Plus.

    2. Przenieś plik hasła ze starym formatem na nową nazwę.

    3. Migrowanie pliku hasła.

    4. Usuń stary plik.

    5. Uruchom następujące polecenia:

      mv $ORACLE_HOME/dbs/orapworatest1 $ORACLE_HOME/dbs/orapworatest1.tmp
      orapwd file=$ORACLE_HOME/dbs/orapworatest1 input_file=$ORACLE_HOME/dbs/orapworatest1.tmp
      rm $ORACLE_HOME/dbs/orapworatest1.tmp
      
    6. Uruchom ponownie operację GRANT w programie SQL Plus.

  8. Utwórz procedurę składowaną w celu rejestrowania komunikatów kopii zapasowej w dzienniku alertów bazy danych. Użyj następującego kodu dla każdej bazy danych zainstalowanej na maszynie wirtualnej:

    sqlplus / as sysdba
    SQL> GRANT EXECUTE ON DBMS_SYSTEM TO SYSBACKUP;
    SQL> CREATE PROCEDURE sysbackup.azmessage(in_msg IN VARCHAR2)
    AS
      v_timestamp     VARCHAR2(32);
    BEGIN
      SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
      INTO v_timestamp FROM DUAL;
      DBMS_OUTPUT.PUT_LINE(v_timestamp || ' - ' || in_msg);
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.ALERT_FILE, in_msg);
    END azmessage;
    /
    SQL> SHOW ERRORS
    SQL> QUIT
    

Konfigurowanie kopii zapasowych spójnych na poziomie aplikacji

  1. Przejdź do użytkownika głównego:

    sudo su -
    
  2. Sprawdź folder /etc/azure. Jeśli nie istnieje, utwórz katalog roboczy dla kopii zapasowej spójnej z aplikacją:

    if [ ! -d "/etc/azure" ]; then
       mkdir /etc/azure
    fi
    
  3. Sprawdź plik workload.conf w folderze. Jeśli nie jest obecny, utwórz go w katalogu /etc/azure i nadaj mu następującą zawartość. Komentarze muszą zaczynać się od [workload]. Jeśli plik jest już obecny, wystarczy edytować pola tak, aby były zgodne z następującą zawartością. W przeciwnym razie następujące polecenie tworzy plik i wypełnia zawartość:

    echo "[workload]
    workload_name = oracle
    configuration_path = /etc/oratab
    timeout = 90
    linux_user = azbackup" > /etc/azure/workload.conf
    

    Plik workload.conf używa następującego formatu:

    • Parametr workload_name wskazuje typ obciążenia bazy danych. W takim przypadku ustawienie parametru Oracle umożliwia usłudze Azure Backup uruchamianie poprawnych skryptów prescript i postscripts (poleceń spójności) dla wystąpień bazy danych Oracle Database.
    • Parametr timeout wskazuje maksymalny czas (w sekundach), przez który każda baza danych musi ukończyć migawki magazynu.
    • Parametr linux_user wskazuje konto użytkownika systemu Linux używane przez usługę Azure Backup do uruchamiania operacji spoczynku bazy danych. Ten użytkownik azbackupzostał utworzony wcześniej.
    • Parametr configuration_path wskazuje bezwzględną nazwę ścieżki dla pliku tekstowego na maszynie wirtualnej. Każdy wiersz zawiera listę wystąpienia bazy danych uruchomionego na maszynie wirtualnej. Jest to zazwyczaj plik /etc/oratab generowany przez firmę Oracle podczas instalacji bazy danych, ale może to być dowolny plik o dowolnej wybranej nazwie. Muszą one być zgodne z następującymi regułami formatowania:
      • Plik jest plikiem tekstowym. Każde pole jest rozdzielane znakiem dwukropka (:).
      • Pierwsze pole w każdym wierszu to nazwa ORACLE_SID wystąpienia.
      • Drugie pole w każdym wierszu to bezwzględna nazwa ORACLE_HOME ścieżki dla tego ORACLE_SID wystąpienia.
      • Cały tekst po dwóch pierwszych polach jest ignorowany.
      • Jeśli wiersz zaczyna się od znaku funta (#), cała linia jest ignorowana jako komentarz.
      • Jeśli pierwsze pole ma wartość +ASM, oznaczając wystąpienie programu Oracle ASM, jest ono ignorowane.

Wyzwalanie kopii zapasowej maszyny wirtualnej spójnej z aplikacją

  1. W witrynie Azure Portal przejdź do grupy zasobów rg-oracle i wybierz maszynę wirtualną vmoracle19c .

  2. W okienku Kopia zapasowa:

    1. W obszarze Magazyn usługi Recovery Services wybierz pozycję Utwórz nowy.
    2. Jako nazwę magazynu użyj polecenia myVault.
    3. W obszarze Grupa zasobów wybierz pozycję rg-oracle.
    4. W obszarze Wybierz zasady tworzenia kopii zapasowych użyj ( nowy) DailyPolicy. Jeśli chcesz zmienić częstotliwość tworzenia kopii zapasowych lub zakres przechowywania, zamiast tego wybierz pozycję Utwórz nowe zasady .

    Zrzut ekranu przedstawiający okienko konfigurowania nowego magazynu usługi Recovery Services.

  3. Wybierz pozycję Włącz kopię zapasową.

    Proces tworzenia kopii zapasowej nie rozpoczyna się, dopóki nie wygaśnie zaplanowany czas. Aby skonfigurować natychmiastową kopię zapasową, wykonaj następny krok.

  4. W okienku grupy zasobów wybierz nowo utworzony magazyn usługi Recovery Services o nazwie myVault. Może być konieczne odświeżenie strony, aby ją wyświetlić.

  5. W okienku myVault — elementy kopii zapasowej w obszarze LICZBA ELEMENTÓW KOPII ZAPASOWEJ wybierz liczbę elementów kopii zapasowej.

    Zrzut ekranu przedstawiający szczegóły magazynu usługi Recovery Services.

  6. W okienku Elementy kopii zapasowej (Maszyna wirtualna platformy Azure) wybierz przycisk wielokropka (...), a następnie wybierz pozycję Utwórz kopię zapasową teraz.

    Zrzut ekranu przedstawiający polecenie służące do tworzenia kopii zapasowych magazynów usługi Recovery Services.

  7. Zaakceptuj domyślną wartość Zachowaj kopię zapasową do momentu , a następnie wybierz przycisk OK. Poczekaj na zakończenie procesu tworzenia kopii zapasowej.

  8. Aby wyświetlić stan zadania tworzenia kopii zapasowej, wybierz pozycję Zadania tworzenia kopii zapasowej.

    Zrzut ekranu przedstawiający okienko z listą zadań tworzenia kopii zapasowej dla magazynu usługi Recovery Services.

    Wybierz zadanie tworzenia kopii zapasowej, aby wyświetlić szczegółowe informacje o jego stanie.

    Zrzut ekranu przedstawiający szczegółowe informacje o stanie zadania tworzenia kopii zapasowej.

    Chociaż wykonanie migawki trwa kilka sekund, przeniesienie jej do magazynu może zająć więcej czasu. Zadanie tworzenia kopii zapasowej nie zostanie ukończone do momentu zakończenia transferu.

  9. W przypadku kopii zapasowej spójnej z aplikacją rozwiąż wszelkie błędy w pliku dziennika pod adresem /var/log/azure/Microsoft.Azure.RecoveryServices.VMSnapshotLinux/extension.log.

Przywracanie maszyny wirtualnej

Przywrócenie całej maszyny wirtualnej oznacza przywrócenie maszyny wirtualnej i dołączonych dysków do nowej maszyny wirtualnej z wybranego punktu przywracania. Ta akcja powoduje również przywrócenie wszystkich baz danych uruchomionych na maszynie wirtualnej. Następnie należy odzyskać każdą bazę danych.

Aby przywrócić całą maszynę wirtualną, wykonaj następujące kroki:

  1. Zatrzymaj i usuń maszynę wirtualną.
  2. Odzyskiwanie maszyny wirtualnej.
  3. Ustaw publiczny adres IP.
  4. Odzyskaj bazę danych.

Podczas przywracania maszyny wirtualnej są dostępne dwie główne opcje:

  • Przywróć maszynę wirtualną, z której pierwotnie wykonano kopie zapasowe.
  • Przywracanie (klonowanie) nowej maszyny wirtualnej bez wpływu na maszynę wirtualną, z której pierwotnie wykonano kopie zapasowe.

Pierwsze kroki w tym ćwiczeniu (zatrzymywanie, usuwanie, a następnie odzyskiwanie maszyny wirtualnej) symulują pierwszy przypadek użycia.

Zatrzymywanie i usuwanie maszyny wirtualnej

  1. W witrynie Azure Portal przejdź do maszyny wirtualnej vmoracle19c , a następnie wybierz pozycję Zatrzymaj.

  2. Gdy maszyna wirtualna nie jest już uruchomiona, wybierz pozycję Usuń, a następnie pozycję Tak.

    Zrzut ekranu przedstawiający komunikat z potwierdzeniem usunięcia maszyny wirtualnej.

Odzyskiwanie maszyny wirtualnej

  1. Utwórz konto magazynu na potrzeby przemieszczania w witrynie Azure Portal:

    1. W witrynie Azure Portal wybierz pozycję + Utwórz zasób, a następnie wyszukaj i wybierz pozycję Konto magazynu.

      Zrzut ekranu pokazujący, gdzie utworzyć zasób.

    2. W okienku Tworzenie konta magazynu:

      1. W obszarze Grupa zasobów wybierz istniejącą grupę zasobów rg-oracle.
      2. W polu Nazwa konta magazynu wprowadź wartość oracrestore.
      3. Upewnij się, że opcja Lokalizacja jest ustawiona na ten sam region co wszystkie inne zasoby w grupie zasobów.
      4. Ustaw wartość Wydajność na Standardowa.
      5. W polu Rodzaj konta wybierz pozycję StorageV2 (ogólnego przeznaczenia w wersji 2).
      6. W obszarze Replikacja wybierz pozycję Magazyn lokalnie nadmiarowy (LRS).

      Zrzut ekranu przedstawiający podstawowe informacje dotyczące tworzenia konta magazynu.

    3. Wybierz pozycję Przejrzyj i utwórz, a następnie wybierz pozycję Utwórz.

  2. W witrynie Azure Portal wyszukaj magazyn myVault Recovery Services i wybierz go.

    Zrzut ekranu przedstawiający wybieranie magazynu usługi Recovery Services.

  3. W okienku Przegląd wybierz pozycję Elementy kopii zapasowej. Następnie wybierz pozycję Maszyna wirtualna platformy Azure, która powinna mieć liczbę niezerową dla LICZBY ELEMENTÓW KOPII ZAPASOWEJ.

    Zrzut ekranu przedstawiający opcje elementu kopii zapasowej maszyny wirtualnej dla magazynu usługi Recovery Services.

  4. W okienku Elementy kopii zapasowych (maszyna wirtualna platformy Azure) wybierz maszynę wirtualną vmoracle19c .

    Zrzut ekranu przedstawiający okienko elementów kopii zapasowej maszyny wirtualnej.

  5. W okienku vmoracle19c wybierz punkt przywracania, który ma typ spójności Spójność aplikacji. Wybierz wielokropek (...), a następnie wybierz pozycję Przywróć maszynę wirtualną.

    Zrzut ekranu przedstawiający polecenie przywracania maszyny wirtualnej.

  6. W okienku Przywracanie maszyny wirtualnej:

    1. Wybierz pozycję Utwórz nowy.

    2. W obszarze Typ przywracania wybierz pozycję Utwórz nową maszynę wirtualną.

    3. W polu Nazwa maszyny wirtualnej wprowadź wartość vmoracle19c.

    4. W obszarze Sieć wirtualna wybierz pozycję vmoracle19cVNET.

      Podsieć jest wypełniana automatycznie na podstawie wybranej sieci wirtualnej.

    5. W przypadku lokalizacji przejściowej proces przywracania maszyny wirtualnej wymaga konta usługi Azure Storage w tej samej grupie zasobów i regionie. Możesz wybrać konto magazynu lub zadanie przywracania skonfigurowane wcześniej.

    Zrzut ekranu przedstawiający wartości przywracania maszyny wirtualnej.

  7. Aby przywrócić maszynę wirtualną , wybierz przycisk Przywróć .

  8. Aby wyświetlić stan procesu przywracania, wybierz pozycję Zadania, a następnie wybierz pozycję Zadania tworzenia kopii zapasowej.

    Zrzut ekranu przedstawiający listę zadań tworzenia kopii zapasowej.

    Wybierz operację przywracania w toku , aby wyświetlić szczegółowe informacje o stanie procesu przywracania.

    Zrzut ekranu przedstawiający szczegółowe informacje o stanie procesu przywracania.

Ustawianie publicznego adresu IP

Po przywróceniu maszyny wirtualnej należy ponownie przypisać oryginalny adres IP do nowej maszyny wirtualnej.

  1. W witrynie Azure Portal przejdź do maszyny wirtualnej o nazwie vmoracle19c. Zostaje przypisany nowy publiczny adres IP i karta sieciowa podobna do vmoracle19c-nic-XXXXXXXXXXXXXX, ale nie ma adresu DNS. Po usunięciu oryginalnej maszyny wirtualnej jej publiczny adres IP i karta sieciowa zostały zachowane. Następne kroki ponownie dołącz je do nowej maszyny wirtualnej.

    Zrzut ekranu przedstawiający listę publicznych adresów IP.

  2. Zatrzymaj maszynę wirtualną.

    Zrzut ekranu przedstawiający opcje zatrzymywania maszyny wirtualnej.

  3. Przejdź do obszaru Sieć.

    Zrzut ekranu przedstawiający informacje o sieci.

  4. Wybierz pozycję Dołącz interfejs sieciowy. Wybierz oryginalną kartę sieciową vmoracle19cVMNic, z którą jest nadal skojarzony oryginalny publiczny adres IP. Następnie wybierz opcję OK.

    Zrzut ekranu przedstawiający wybieranie typu zasobu i wartości karty sieciowej.

  5. Odłącz kartę sieciową utworzoną za pomocą operacji przywracania maszyny wirtualnej, ponieważ jest ona skonfigurowana jako interfejs podstawowy. Wybierz pozycję Odłącz interfejs sieciowy, wybierz kartę sieciową podobną do vmoracle19c-nic-XXXXXXXXXXXXXX, a następnie wybierz przycisk OK.

    Zrzut ekranu przedstawiający okienko odłączania interfejsu sieciowego.

    Utworzona ponownie maszyna wirtualna ma teraz oryginalną kartę sieciową, która jest skojarzona z oryginalnym adresem IP i regułami sieciowej grupy zabezpieczeń.

    Zrzut ekranu przedstawiający wartość adresu IP.

  6. Wróć do okienka Przegląd i wybierz pozycję Uruchom.

Odzyskiwanie bazy danych

Aby odzyskać bazę danych po zakończeniu przywracania maszyny wirtualnej:

  1. Połącz się ponownie z maszyną wirtualną:

    ssh azureuser@<publicIpAddress>
    
    

    Po przywróceniu całej maszyny wirtualnej ważne jest odzyskanie baz danych na maszynie wirtualnej przez wykonanie następujących kroków w każdej bazie danych.

  2. Może się okazać, że wystąpienie jest uruchomione, ponieważ autostart próbował uruchomić bazę danych podczas uruchamiania maszyny wirtualnej. Jednak baza danych wymaga odzyskiwania i prawdopodobnie będzie wyłącznie na etapie instalacji. Uruchom zamknięcie przygotowawcze przed rozpoczęciem etapu instalacji:

    sudo su - oracle
    sqlplus / as sysdba
    SQL> shutdown immediate
    SQL> startup mount
    
  3. Wykonaj odzyskiwanie bazy danych.

    Ważne jest, aby określić składnię USING BACKUP CONTROLFILE , aby poinformować RECOVER AUTOMATIC DATABASE polecenie, że odzyskiwanie nie powinno zatrzymać się w numerze zmiany systemu Oracle (SCN) zarejestrowanym w przywróconym pliku kontroli bazy danych.

    Przywrócony plik kontrolki bazy danych był migawką wraz z pozostałą częścią bazy danych. Nazwa SCN przechowywana w nim jest z punktu w czasie migawki. Po tym punkcie mogą być rejestrowane transakcje i chcesz odzyskać dane do punktu ostatniej transakcji zatwierdzonej w bazie danych.

    SQL> recover automatic database using backup controlfile until cancel;
    
  4. Po zastosowaniu ostatniego dostępnego pliku dziennika archiwum wprowadź polecenie CANCEL w celu zakończenia odzyskiwania.

    Po pomyślnym zakończeniu odzyskiwania zostanie wyświetlony komunikat Media recovery complete .

    Jednak w przypadku używania klauzuli BACKUP CONTROLFILE polecenie recover ignoruje pliki dziennika online. Istnieje możliwość, że zmiany w bieżącym dzienniku ponownego wykonania online są wymagane do ukończenia odzyskiwania do punktu w czasie. W takiej sytuacji mogą zostać wyświetlone komunikaty podobne do następujących:

    SQL> recover automatic database until cancel using backup controlfile;
    ORA-00279: change 2172930 generated at 04/08/2021 12:27:06 needed for thread 1
    ORA-00289: suggestion :
    /u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc
    ORA-00280: change 2172930 for thread 1 is in sequence #13
    ORA-00278: log file
    '/u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc' no
    longer needed for this recovery
    ORA-00308: cannot open archived log
    '/u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc'
    ORA-27037: unable to obtain file status
    Linux-x86_64 Error: 2: No such file or directory
    Additional information: 7
    
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    

    Ważne

    Jeśli bieżący dziennik ponownego wdrażania online zostanie utracony lub uszkodzony i nie możesz go użyć, możesz anulować odzyskiwanie w tym momencie.

    Aby rozwiązać tę sytuację, możesz określić, który dziennik online nie został zarchiwizowany, i podać w pełni kwalifikowaną nazwę pliku do monitu.

  5. Otwórz bazę danych.

    Opcja jest wymagana RESETLOGS , gdy RECOVER polecenie używa USING BACKUP CONTROLFILE opcji . RESETLOGS tworzy nowe wcielenie bazy danych przez zresetowanie historii z powrotem do początku, ponieważ nie ma możliwości określenia, ile z poprzednich wcieleń bazy danych zostało pominięte w odzyskiwaniu.

    SQL> alter database open resetlogs;
    
  6. Sprawdź, czy zawartość bazy danych została odzyskana:

    SQL> select * from scott.scott_table;
    

Tworzenie kopii zapasowej i odzyskiwanie bazy danych Oracle Database na maszynie wirtualnej z systemem Linux platformy Azure zostało zakończone.

Więcej informacji na temat poleceń i pojęć oracle można znaleźć w dokumentacji oracle, w tym:

Usuwanie maszyny wirtualnej

Jeśli maszyna wirtualna nie jest już potrzebna, możesz użyć następujących poleceń, aby usunąć grupę zasobów, maszynę wirtualną i wszystkie powiązane zasoby:

  1. Wyłącz usuwanie nietrwałe kopii zapasowych w magazynie:

    az backup vault backup-properties set --name myVault --resource-group rg-oracle --soft-delete-feature-state disable
    
  2. Zatrzymaj ochronę maszyny wirtualnej i usuń kopie zapasowe:

    az backup protection disable --resource-group rg-oracle --vault-name myVault --container-name vmoracle19c --item-name vmoracle19c --delete-backup-data true --yes
    
  3. Usuń grupę zasobów, w tym wszystkie zasoby:

    az group delete --name rg-oracle
    

Następne kroki

Tworzenie maszyn wirtualnych o wysokiej dostępności

Eksplorowanie przykładów interfejsu wiersza polecenia platformy Azure na potrzeby wdrażania maszyn wirtualnych