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

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux

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

Azure Backup udostępnia również kopie zapasowe spójne na poziomie aplikacji, co zapewnia, ż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 bazami danych automatycznego zarządzania magazynem (ASM) Oracle.

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 redo oracle, które są przechwytywane i przechowywane w osobnym udziale plików platformy Azure.

W tym artykule przedstawiono następujące zadania:

  • Tworzenie kopii zapasowej bazy danych przy użyciu kopii zapasowej spójnej z aplikacją.
  • 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 magazynu Azure Files.
  3. Przygotowywanie baz danych.

Łączenie 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ą adresu publicznego maszyny wirtualnej.

    ssh azureuser@<publicIpAddress>
    
  2. Przełącz się 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 Azure Files dla zarchiwizowanych plików dziennika bazy danych Oracle

Zarchiwizowane pliki dziennika ponownego tworzenia wystąpienia bazy danych Oracle odgrywają kluczową rolę w odzyskiwaniu bazy danych. Przechowują zatwierdzone transakcje potrzebne do przesyłania dalej 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 staną się pełne i przełączone. Wraz z kopią zapasową są one wymagane do osiągnięcia odzyskiwania do punktu w czasie, gdy baza danych zostanie utracona.

Oracle umożliwia archiwizowanie ponownie plików dziennika 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 za pomocą niezależnych migawek. 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 Bloku komunikatów serwera (SMB) 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 na maszynie wirtualnej platformy Azure wykonano kroki opisane w temacie Create an Oracle Database instance in an Oracle Database (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 ze swoją 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 miejsce docelowe dla plików dziennika archiwum bazy danych.

    W tym kroku założono, że skonfigurowano i zamontowano udział plików platformy Azure na maszynie wirtualnej z systemem Linux. 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 nazwę punktu instalacji i identyfikator 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 pierwszą lokalizację docelową 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 (RPO) dla bazy danych.

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

    • Rozmiar plików dziennika ponownego w trybie online. Gdy plik dziennika online staje się pełny, jest przełączany i archiwizowany. 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 online Oracle mają zazwyczaj 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ą zarchiwizować godziny lub kilka dni, zanim ostatnie transakcje zostaną zarchiwizowane, co znacznie zmniejszy częstotliwość archiwizacji.

    Zalecamy ustawienie w ARCHIVE_LAG_TARGET celu zapewnienia spójnego celu punktu odzyskiwania. Ustawienie 5 minut (300 sekund) jest ostrożną wartością .ARCHIVE_LAG_TARGET Gwarantuje to, że każda operacja odzyskiwania bazy danych może odzyskać sprawność w ciągu 5 minut od czasu awarii.

    Aby ustawić polecenie ARCHIVE_LAG_TARGET, 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 obiektem punktu odzyskiwania, zobacz Architektura referencyjna dla bazy danych Oracle Database.

  8. Upewnij się, że baza danych jest w trybie archiwum dziennika, 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 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 Azure Backup do tworzenia migawek spójnych na poziomie aplikacji uruchomionych wystąpień maszyny wirtualnej i bazy danych Oracle Database. Bazy danych są umieszczane w trybie tworzenia kopii zapasowej, co umożliwia transakcyjnie spójne tworzenie kopii zapasowej online podczas Azure Backup tworzy migawkę dysków maszyn wirtualnych. Migawka jest pełną kopią magazynu, a nie przyrostową lub kopiową migawką zapisu. Jest to skuteczne medium do przywrócenia bazy danych.

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

Aby utworzyć kopię zapasową bazy danych za pomocą Azure Backup, wykonaj następujące kroki:

  1. Omówienie platformy Azure Backup.
  2. Przygotowanie środowiska do tworzenia kopii zapasowej spójnej z aplikacją.
  3. Konfigurowanie kopii zapasowych spójnych na poziomie aplikacji.
  4. Wyzwalanie spójnej z aplikacją kopii zapasowej maszyny wirtualnej.

Omówienie struktury 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łanie skryptu wstępnego w celu spoczynku aplikacji przed utworzeniem migawki dysków. Wywołuje on skrypt post-script, aby odmrozić aplikacje po zakończeniu migawki.

Firma Microsoft zwiększyła strukturę tak, aby usługa Azure Backup udostępniała spakowane skrypty wstępne i skrypty post-script dla wybranych aplikacji. Te skrypty wstępne i skrypty po nim są już ładowane na obrazie systemu Linux, więc nie ma nic do zainstalowania. Po prostu nadasz aplikacji nazwę, a następnie Azure Backup automatycznie wywołuje odpowiednie skrypty. Firma Microsoft zarządza spakowanym skryptami wstępnymi i po skryptach, dzięki czemu możesz mieć pewność o obsłudze, własności i ważności tych skryptów.

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

Możesz tworzyć własne skrypty dla Azure Backup do użycia 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 skrypty po skryptach we wszystkich wystąpieniach bazy danych Oracle Database zainstalowanych na maszynie wirtualnej. Parametr configuration_path w pliku workload.conf wskazuje lokalizację pliku Oracle /etc/oratab (lub plik zdefiniowany 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.

Azure Backup uruchamia skrypty wstępne i skrypty podrzędne dla każdej bazy danych wymienionej w pliku wskazującymconfiguration_path. Wyjątki to wiersze rozpoczynające się # (traktowane jako komentarz) lub +ASM (wystąpienie oracle ASM).

Struktura rozszerzona Azure Backup wykonuje kopie zapasowe w trybie online wystąpień bazy danych Oracle Database, które działają w ARCHIVELOG trybie. Skrypty wstępne i skrypty po skryptach używają ALTER DATABASE BEGIN poleceń i END BACKUP , aby uzyskać spójność aplikacji.

Aby kopia zapasowa bazy danych była spójna, bazy danych w NOARCHIVELOG trybie muszą zostać całkowicie zamknięte przed rozpoczęciem migawki.

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.

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

Podczas instalacji oracle zalecamy użycie backupdba jako nazwy grupy systemu operacyjnego do skojarzenia z rolą SYSBACKUP . Można jednak użyć dowolnej nazwy, dlatego należy 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 backupdbato . 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 odpowiadają wartości grupy systemu operacyjnego Oracle pobranej w kroku 3, użyj następującego polecenia, aby utworzyć grupę systemu operacyjnego reprezentującą rolę Oracle SYSBACKUP . Zastąp <group name> ciąg 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> ciąg nazwą zweryfikowanej grupy. Użytkownik jest również dodawany do grupy, oinstall 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 hasłem. 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 dla azbackup 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 GRANT instrukcji zostanie wyświetlony 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. Wykonaj te kroki dla każdego wystąpienia bazy danych Oracle Database 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ą, aby rejestrować komunikaty 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. Przełącz się 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, po prostu edytuj pola, 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 Azure Backup uruchamianie poprawnych skryptów wstępnych i poleceń po skryptach (poleceniach spójności) dla wystąpień bazy danych Oracle Database.
    • Parametr timeout wskazuje maksymalny czas ( w sekundach), że każda baza danych musi ukończyć migawki magazynu.
    • Parametr linux_user wskazuje konto użytkownika systemu Linux, które Azure Backup używa do uruchamiania operacji spoczynku bazy danych. Ten użytkownik został utworzony wcześniej azbackup.
    • 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 oracle podczas instalacji bazy danych, ale może to być dowolny plik o dowolnej wybranej nazwie. Musi ona być zgodna z następującymi regułami formatu:
      • Plik jest plikiem tekstowym. Każde pole jest rozdzielane znakiem dwukropka (:).
      • Pierwsze pole w każdym wierszu jest nazwą ORACLE_SID wystąpienia.
      • Drugie pole w każdym wierszu jest bezwzględną nazwą ścieżki dla ORACLE_HOME tego ORACLE_SID wystąpienia.
      • Cały tekst po dwóch pierwszych polach jest ignorowany.
      • Jeśli wiersz zaczyna się znakiem funta (#), cała linia jest ignorowana jako komentarz.
      • Jeśli pierwsze pole ma wartość +ASM, oznaczając wystąpienie oracle ASM, jest ignorowane.

Wyzwalanie spójnej z aplikacją kopii zapasowej maszyny wirtualnej

  1. W 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 służące do konfigurowania nowego magazynu usługi Recovery Services.

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

    Proces tworzenia kopii zapasowej nie rozpoczyna się do momentu wygaśnięcia zaplanowanego czasu. Aby skonfigurować natychmiastową kopię zapasową, wykonaj następny krok.

  4. W okienku grupa 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 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 kopii zapasowej.

    Zrzut ekranu przedstawiający okienko zawierające listę zadań tworzenia kopii zapasowych 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 tylko kilka sekund, przeniesienie jej do magazynu może zająć trochę czasu. Zadanie tworzenia kopii zapasowej nie zostanie ukończone, dopóki transfer nie zostanie ukończony.

  9. Aby utworzyć kopię zapasową spójną na poziomie aplikacji, 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 dostępne są dwie główne opcje:

  • Przywróć maszynę wirtualną, z której pierwotnie zostały wykonane kopie zapasowe.
  • Przywracanie (klonowanie) nowej maszyny wirtualnej bez wpływu na maszynę wirtualną, z której zostały pierwotnie wykonane 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 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 potwierdzający usunięcie maszyny wirtualnej.

Odzyskiwanie maszyny wirtualnej

  1. Utwórz konto magazynu do przemieszczania w Azure Portal:

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

      Zrzut ekranu przedstawiający miejsce utworzenia zasobu.

    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 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 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 zawierać niezerową liczbę elementów kopii zapasowych.

    Zrzut ekranu przedstawiający wybór 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ójnego 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 w oparciu o wybór 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 kopii zapasowej.

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

    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 Azure Portal przejdź do maszyny wirtualnej o nazwie vmoracle19c. Przypisano nowy publiczny adres IP i kartę sieciową podobną 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 pozycji Sieć.

    Zrzut ekranu przedstawiający informacje o sieci.

  4. Wybierz pozycję Dołącz interfejs sieciowy. Wybierz oryginalną kartę sieciową vmoracle19cVMNic, z którą nadal jest skojarzony oryginalny publiczny adres IP. Następnie wybierz przycisk 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 umożliwiające odłączenie 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. Wstecz do okienka Przegląd i wybierz pozycję Uruchom.

Odzyskiwanie bazy danych

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

  1. Ponownie połącz się 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ż próbowano uruchomić bazę danych podczas uruchamiania maszyny wirtualnej. Jednak baza danych wymaga odzyskiwania i prawdopodobnie będzie dostępna tylko na etapie instalacji. Przed rozpoczęciem etapu instalacji uruchom zamknięcie przygotowawcze:

    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 CONTROLFILERECOVER AUTOMATIC DATABASE , aby poinformować polecenie, że odzyskiwanie nie powinno zatrzymać się w numerze zmiany systemu Oracle (SCN) zarejestrowanym w przywróconym pliku kontroli bazy danych.

    Przywrócony plik kontroli bazy danych był migawką wraz z resztą bazy danych. Nazwa SCN przechowywana w nim jest od punktu w czasie migawki. Po tym punkcie mogą istnieć transakcje zarejestrowane 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ź w CANCEL celu zakończenia odzyskiwania.

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

    Jednak w przypadku korzystania z klauzuli BACKUP CONTROLFILE polecenie recover ignoruje pliki dziennika online. Istnieje możliwość, że zmiany w bieżącym dzienniku ponownego uruchomienia online są wymagane do ukończenia odzyskiwania do punktu w czasie. W takiej sytuacji mogą pojawić się komunikaty podobne do tych przykładów:

    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 ponownej instalacji 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 ponownego przywracania do początku, ponieważ nie ma możliwości określenia, ile poprzedniego wcielenia 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 ukończone.

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

Usuwanie maszyny wirtualnej

Gdy 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 maszyny wirtualnej