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
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 podczas pierwszego użycia. 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, 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:
Nawiązywanie połączenia 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ą publicznego adresu maszyny wirtualnej.ssh azureuser@<publicIpAddress>
Przejdź 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 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 nazwievmoracle19c
. - 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:
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 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 tooratest1
. Dlatego utworzysz podkatalog/backup/oratest1
i zmienisz własność naoracle
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
Połącz się z bazą danych:
sqlplus / as sysdba
Uruchom bazę danych, jeśli nie jest jeszcze uruchomiona:
SQL> startup
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;
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ściARCHIVE_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_TARGET
polecenie , 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.
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;
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:
- Omówienie struktury usługi Azure Backup.
- Przygotuj środowisko do tworzenia kopii zapasowej spójnej z aplikacją.
- Konfigurowanie kopii zapasowych spójnych na poziomie aplikacji.
- 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 OSBACKUPDBA
ogó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
.
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 jest tobackupdba
. 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 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>
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 dooinstall
grupy, 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 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 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ętrznegoazbackup
dla 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 instrukcji wystąpi błąd
ORA-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.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ą 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
Przejdź 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, 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 parametruOracle
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żytkownikazbackup
został 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 tegoORACLE_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.
- Plik jest plikiem tekstowym. Każde pole jest rozdzielane znakiem dwukropka (
- Parametr
Wyzwalanie kopii zapasowej maszyny wirtualnej spójnej z aplikacją
W witrynie 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ę, dopóki nie wygaśnie zaplanowany czas. Aby skonfigurować natychmiastową kopię zapasową, wykonaj następny krok.
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ć.
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 tworzenia kopii zapasowej.
Wybierz zadanie tworzenia kopii zapasowej, aby wyświetlić szczegółowe informacje o jego stanie.
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.
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:
- Zatrzymaj i usuń maszynę wirtualną.
- Odzyskiwanie maszyny wirtualnej.
- Ustaw publiczny adres IP.
- 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
W witrynie 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 na potrzeby przemieszczania w witrynie Azure Portal:
W witrynie 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 opcja 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 witrynie 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 mieć liczbę niezerową dla LICZBY ELEMENTÓW KOPII ZAPASOWEJ.
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ójność 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 na podstawie wybranej 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 tworzenia 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 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.
Zatrzymaj maszynę wirtualną.
Przejdź do obszaru Sieć.
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.
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ń.
Wróć do okienka Przegląd i wybierz pozycję Uruchom.
Odzyskiwanie bazy danych
Aby odzyskać bazę danych po zakończeniu przywracania maszyny wirtualnej:
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.
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
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;
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.
Otwórz bazę danych.
Opcja jest wymagana
RESETLOGS
, gdyRECOVER
polecenie używaUSING 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;
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:
- Wykonywanie kopii zapasowych całej bazy danych zarządzanej przez użytkownika firmy 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
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:
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