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
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure przy pierwszym użyciu. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
Aby wykonać proces tworzenia kopii zapasowej i odzyskiwania, należy najpierw utworzyć maszynę wirtualną z systemem Linux z zainstalowanym wystąpieniem bazy danych Oracle Database 12.1 lub nowszym.
Utwórz wystąpienie bazy danych Oracle Database, wykonując kroki opisane w temacie Tworzenie wystąpienia bazy danych Oracle Database na maszynie wirtualnej platformy Azure.
Przygotowywanie środowiska
Aby przygotować środowisko, wykonaj następujące kroki:
Łączenie z maszyną wirtualną
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>
Przełącz się do użytkownika głównego:
sudo su -
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 nazwievmoracle19c
. - 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:
Przełącz się do
oracle
użytkownika:sudo su - oracle
Ustaw zmienną środowiskową
ORACLE_SID
, uruchamiającoraenv
skrypt. Zostanie wyświetlony monit o wprowadzenieORACLE_SID
nazwy.. oraenv
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 tooratest1
. Dlatego utworzysz podkatalog/backup/oratest1
i zmienisz własność naoracle
użytkownika. Zastąp/backup/SID
nazwę punktu instalacji i identyfikator SID bazy danych.sudo mkdir /backup/oratest1 sudo chown oracle:oinstall /backup/oratest1
Połącz się z bazą danych:
sqlplus / as sysdba
Uruchom bazę danych, jeśli nie jest jeszcze uruchomiona:
SQL> startup
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;
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.
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;
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:
- Omówienie platformy Azure Backup.
- Przygotowanie środowiska do tworzenia kopii zapasowej spójnej z aplikacją.
- Konfigurowanie kopii zapasowych spójnych na poziomie aplikacji.
- 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 OSBACKUPDBA
ogó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
.
Przełącz się do
oracle
użytkownika:sudo su - oracle
Ustaw środowisko Oracle:
export ORACLE_SID=oratest1 export ORAENV_ASK=NO . oraenv
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 jestbackupdba
to . Zanotuj rzeczywistą wartość.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>
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
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 programuazbackup
. 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:
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
Utwórz użytkownika bazy danych o nazwie
ops$azbackup
na potrzeby uwierzytelniania zewnętrznego dlaazbackup
użytkownika i przyznajSYSBACKUP
uprawnienia:SQL> CREATE USER ops$azbackup IDENTIFIED EXTERNALLY; SQL> GRANT CREATE SESSION, ALTER SESSION, SYSBACKUP TO ops$azbackup;
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.Zamknij program SQL Plus.
Przenieś plik hasła ze starym formatem na nową nazwę.
Migrowanie pliku hasła.
Usuń stary plik.
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
Uruchom ponownie operację
GRANT
w programie SQL Plus.
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
Przełącz się do użytkownika głównego:
sudo su -
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
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 parametruOracle
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śniejazbackup
. - 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
tegoORACLE_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.
- Plik jest plikiem tekstowym. Każde pole jest rozdzielane znakiem dwukropka (
- Parametr
Wyzwalanie spójnej z aplikacją kopii zapasowej maszyny wirtualnej
W Azure Portal przejdź do grupy zasobów rg-oracle i wybierz maszynę wirtualną vmoracle19c.
W okienku Kopia zapasowa :
- W obszarze Magazyn usługi Recovery Services wybierz pozycję Utwórz nowy.
- Jako nazwę magazynu użyj polecenia myVault.
- W obszarze Grupa zasobów wybierz pozycję rg-oracle.
- 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 .
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.
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ć.
W okienku myVault — elementy kopii zapasowej w obszarze LICZBA ELEMENTÓW KOPII ZAPASOWEJ wybierz liczbę elementów kopii zapasowej.
W okienku Elementy kopii zapasowej (Maszyna wirtualna platformy Azure) wybierz przycisk wielokropka (...), a następnie wybierz pozycję Utwórz kopię zapasową teraz.
Zaakceptuj domyślną wartość Zachowaj kopię zapasową do momentu, a następnie wybierz przycisk OK. Poczekaj na zakończenie procesu tworzenia kopii zapasowej.
Aby wyświetlić stan zadania tworzenia kopii zapasowej, wybierz pozycję Zadania kopii zapasowej.
Wybierz zadanie tworzenia kopii zapasowej, aby wyświetlić szczegółowe informacje o jego stanie.
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.
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:
- Zatrzymaj i usuń maszynę wirtualną.
- Odzyskiwanie maszyny wirtualnej.
- Ustaw publiczny adres IP.
- 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
W Azure Portal przejdź do maszyny wirtualnej vmoracle19c, a następnie wybierz pozycję Zatrzymaj.
Gdy maszyna wirtualna nie jest już uruchomiona, wybierz pozycję Usuń , a następnie pozycję Tak.
Odzyskiwanie maszyny wirtualnej
Utwórz konto magazynu do przemieszczania w Azure Portal:
W Azure Portal wybierz pozycję + Utwórz zasób, a następnie wyszukaj i wybierz pozycję Konto magazynu.
W okienku Tworzenie konta magazynu :
- W obszarze Grupa zasobów wybierz istniejącą grupę zasobów rg-oracle.
- W polu Nazwa konta magazynu wprowadź wartość oracrestore.
- Upewnij się, że lokalizacja jest ustawiona na ten sam region co wszystkie inne zasoby w grupie zasobów.
- Ustaw wartość Wydajność na Standardowa.
- W polu Rodzaj konta wybierz pozycję StorageV2 (ogólnego przeznaczenia w wersji 2).
- W obszarze Replikacja wybierz pozycję Magazyn lokalnie nadmiarowy (LRS).
Wybierz pozycję Przejrzyj i utwórz, a następnie wybierz pozycję Utwórz.
W Azure Portal wyszukaj magazyn myVault Recovery Services i wybierz go.
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.
W okienku Elementy kopii zapasowych (Maszyna wirtualna platformy Azure) wybierz maszynę wirtualną vmoracle19c .
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ą.
W okienku Przywracanie maszyny wirtualnej :
Wybierz pozycję Utwórz nowy.
W obszarze Typ przywracania wybierz pozycję Utwórz nową maszynę wirtualną.
W polu Nazwa maszyny wirtualnej wprowadź wartość vmoracle19c.
W obszarze Sieć wirtualna wybierz pozycję vmoracle19cVNET.
Podsieć jest wypełniana automatycznie w oparciu o wybór sieci wirtualnej.
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.
Aby przywrócić maszynę wirtualną, wybierz przycisk Przywróć .
Aby wyświetlić stan procesu przywracania, wybierz pozycję Zadania, a następnie wybierz pozycję Zadania kopii zapasowej.
Wybierz operację przywracania w toku , aby wyświetlić 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.
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.
Zatrzymaj maszynę wirtualną.
Przejdź do pozycji Sieć.
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.
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.
Utworzona ponownie maszyna wirtualna ma teraz oryginalną kartę sieciową, która jest skojarzona z oryginalnym adresem IP i regułami sieciowej grupy zabezpieczeń.
Wstecz do okienka Przegląd i wybierz pozycję Uruchom.
Odzyskiwanie bazy danych
Aby odzyskać bazę danych po zakończeniu przywracania maszyny wirtualnej:
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.
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
Wykonaj odzyskiwanie bazy danych.
Ważne jest, aby określić składnię
USING BACKUP CONTROLFILE
RECOVER 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;
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.
Otwórz bazę danych.
Opcja jest wymagana
RESETLOGS
, gdyRECOVER
polecenie używaUSING 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;
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:
- Wykonywanie kopii zapasowych całej bazy danych zarządzanych przez użytkownika oracle
- Wykonywanie pełnego odzyskiwania bazy danych zarządzanej przez użytkownika
- Oracle STARTUP, polecenie
- Oracle RECOVER, polecenie
- Oracle ALTER DATABASE, polecenie
- Parametr oracle LOG_ARCHIVE_DEST_n
- Parametr oracle ARCHIVE_LAG_TARGET
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:
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
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
Usuń grupę zasobów, w tym wszystkie zasoby:
az group delete --name rg-oracle