Säkerhetskopiera och återställa Oracle Database på en virtuell Azure Linux-dator med hjälp av Azure Backup
Gäller för: ✔️ Virtuella Linux-datorer
Den här artikeln visar hur Azure Backup används för att ta diskögonblicksbilder av virtuella datordiskar (VM), som omfattar Oracle Database-filerna och Området för snabb återställning av Oracle. Genom att använda Azure Backup kan du ta fullständiga diskögonblicksbilder som är lämpliga som säkerhetskopior och som lagras i ett Recovery Services-valv.
Azure Backup tillhandahåller även programkonsekventa säkerhetskopior som säkerställer att fler korrigeringar inte krävs för att återställa data. Programkonsekventa säkerhetskopieringar fungerar med både filsystem- och Oracle Automatic Storage Management-databaser (ASM).
Återställning av programkonsekventa data minskar återställningstiden, så att du snabbt kan återgå till ett körningstillstånd. Oracle Database-återställning är fortfarande nödvändigt efter återställningen. Du underlättar återställningen med hjälp av Oracle-arkiverade omloggfiler som samlas in och lagras i en separat Azure-filresurs.
Den här artikeln beskriver följande uppgifter:
- Säkerhetskopiera databasen med programkonsekvent säkerhetskopiering.
- Återställa och återställa databasen från en återställningspunkt.
- Återställ den virtuella datorn från en återställningspunkt.
Förutsättningar
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
För att kunna utföra säkerhetskopierings- och återställningsprocessen måste du först skapa en virtuell Linux-dator som har en installerad instans av Oracle Database 12.1 eller senare.
Skapa en Oracle Database-instans genom att följa stegen i Skapa en Oracle Database-instans på en virtuell Azure-dator.
Förbereda miljön
Utför följande steg för att förbereda miljön:
Ansluta till den virtuella datorn
Om du vill skapa en SSH-session (Secure Shell) med den virtuella datorn använder du följande kommando. Ersätt
<publicIpAddress>
med det offentliga adressvärdet för den virtuella datorn.ssh azureuser@<publicIpAddress>
Växla till rotanvändaren:
sudo su -
Lägg till användaren i
oracle
filen /etc/sudoers :echo "oracle ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
Konfigurera Azure Files-lagring för Oracle-arkiverade omloggfiler
Oracle Database-instansens arkiverade redo-loggfiler spelar en avgörande roll vid databasåterställning. De lagrar de incheckade transaktioner som behövs för att rulla framåt från en ögonblicksbild av databasen som tagits tidigare.
När databasen är i ARCHIVELOG
läge arkiveras innehållet i onlineloggfilerna när de blir fulla och växlar. Tillsammans med en säkerhetskopia krävs de för att uppnå återställning till tidpunkt när databasen går förlorad.
Oracle har möjlighet att arkivera omgjorda loggfiler till olika platser. Branschens bästa praxis är att minst en av dessa mål ska finnas på fjärrlagring, så den är skild från värdlagringen och skyddas med oberoende ögonblicksbilder. Azure Files uppfyller dessa krav.
En Azure-filresurs är lagring som du ansluter till en virtuell Linux- eller Windows-dator som en vanlig filsystemkomponent med hjälp av protokollet Server Message Block (SMB) eller NFS (Network File System). Information om hur du konfigurerar en Azure-filresurs i Linux (med hjälp av SMB 3.0-protokollet) för användning som arkivlogglagring finns i Montera en SMB Azure-filresurs i Linux. När du har slutfört installationen går du tillbaka till den här guiden och slutför alla återstående steg.
Förbereda databaserna
Den här delen av processen förutsätter att du har följt Skapa en Oracle Database-instans på en virtuell Azure-dator. Som ett resultat:
- Du har en Oracle-instans med namnet
oratest1
som körs på en virtuell dator med namnetvmoracle19c
. - Du använder oracle-standardskriptet
oraenv
med dess beroende av oracle-standardkonfigurationsfilen /etc/oratab för att konfigurera miljövariabler i en gränssnittssession.
Utför följande steg för varje databas på den virtuella datorn:
Växla till
oracle
användaren:sudo su - oracle
Ange miljövariabeln
ORACLE_SID
genom att köra skriptetoraenv
. Du uppmanas att angeORACLE_SID
namnet.. oraenv
Lägg till Azure-filresursen som ett annat mål för databasarkivloggfiler.
Det här steget förutsätter att du har konfigurerat och monterat en Azure-filresurs på den virtuella Linux-datorn. För varje databas som är installerad på den virtuella datorn skapar du en underkatalog med namnet efter din databassäkerhetsidentifierare (SID).
I det här exemplet är
/backup
monteringspunktens namn och SID äroratest1
. Så du skapar underkatalogen/backup/oratest1
och ändrar ägarskapet tilloracle
användaren. Ersätt/backup/SID
med monteringspunktens namn och databas-SID.sudo mkdir /backup/oratest1 sudo chown oracle:oinstall /backup/oratest1
Anslut till databasen:
sqlplus / as sysdba
Starta databasen om den inte redan körs:
SQL> startup
Ange databasens första arkivloggmål till den filresurskatalog som du skapade tidigare:
SQL> alter system set log_archive_dest_1='LOCATION=/backup/oratest1' scope=both;
Definiera mål för återställningspunkt (RPO) för databasen.
För att uppnå ett konsekvent RPO bör du överväga hur ofta loggfilerna online ska arkiveras. Dessa faktorer styr frekvensen:
- Storleken på online-omloggfilerna. När en onlineloggfil blir full växlas den och arkiveras. Ju större onlineloggfil, desto längre tid tar det att fylla upp. Den extra tiden minskar frekvensen för arkivgenerering.
- Inställningen för parametern
ARCHIVE_LAG_TARGET
styr det maximala antalet sekunder som tillåts innan den aktuella onlineloggfilen måste växlas och arkiveras.
För att minimera frekvensen för växling och arkivering, tillsammans med den tillhörande kontrollpunktsåtgärden, har Oracle online omloggfiler i allmänhet en stor storlek (till exempel 1 024 M, 4 096 M eller 8 192 M). I en upptagen databasmiljö är det fortfarande troligt att loggarna växlar och arkiverar med några sekunder eller minuter. I en mindre aktiv databas kan de gå timmar eller dagar innan de senaste transaktionerna arkiveras, vilket avsevärt skulle minska arkiveringsfrekvensen.
Vi rekommenderar att du anger
ARCHIVE_LAG_TARGET
för att säkerställa ett konsekvent RPO. En inställning på 5 minuter (300 sekunder) är ett försiktigt värde förARCHIVE_LAG_TARGET
. Det säkerställer att alla databasåterställningsåtgärder kan återställas till inom 5 minuter efter tidpunkten för felet.Om du vill ange
ARCHIVE_LAG_TARGET
kör du det här kommandot:SQL> alter system set archive_lag_target=300 scope=both;
Mer information om hur du distribuerar Oracle Database-instanser med hög tillgänglighet i Azure utan RPO finns i Referensarkitekturer för Oracle Database.
Kontrollera att databasen är i arkivloggläge för att aktivera onlinesäkerhetskopior.
Kontrollera loggarkivets status först:
SQL> SELECT log_mode FROM v$database; LOG_MODE ------------ NOARCHIVELOG
Om den är i
NOARCHIVELOG
läge kör du följande kommandon:SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT; SQL> ALTER DATABASE ARCHIVELOG; SQL> ALTER DATABASE OPEN; SQL> ALTER SYSTEM SWITCH LOGFILE;
Skapa en tabell för att testa säkerhetskopierings- och återställningsåtgärderna:
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
Säkerhetskopiera dina data med hjälp av Azure Backup
Azure Backup-tjänsten tillhandahåller lösningar för att säkerhetskopiera dina data och återställa dem från Microsoft Azure-molnet. Med Azure Backup får du oberoende och isolerade säkerhetskopior, vilket skyddar originaldata från att förstöras oavsiktligt. Säkerhetskopior lagras i ett Recovery Services-valv med inbyggd hantering av återställningspunkter, så att du kan återställa efter behov.
I det här avsnittet använder du Azure Backup för att ta programkonsekventa ögonblicksbilder av din virtuella dator som körs och Oracle Database-instanser. Databaserna placeras i säkerhetskopieringsläge, vilket gör att en transaktionsmässigt konsekvent onlinesäkerhetskopiering kan ske medan Azure Backup tar en ögonblicksbild av de virtuella datordiskarna. Ögonblicksbilden är en fullständig kopia av lagringen och inte en ögonblicksbild av inkrementell eller kopiering vid skrivning. Det är ett effektivt medium att återställa databasen från.
Fördelen med att använda programkonsekventa ögonblicksbilder i Azure Backup är att de är snabba att ta, oavsett hur stor din databas är. Du kan använda en ögonblicksbild för återställningsåtgärder så fort du tar den, utan att behöva vänta tills den har överförts till Recovery Services-valvet.
Utför följande steg om du vill använda Azure Backup för att säkerhetskopiera databasen:
- Förstå Azure Backup-ramverket.
- Förbered miljön för en programkonsekvent säkerhetskopiering.
- Konfigurera programkonsekventa säkerhetskopior.
- Utlös en programkonsekvent säkerhetskopiering av den virtuella datorn.
Förstå Azure Backup-ramverket
Azure Backup-tjänsten tillhandahåller ett ramverk för att uppnå programkonsekvens vid säkerhetskopiering av virtuella Windows- och Linux-datorer för olika program. Det här ramverket omfattar att anropa en prescript för att quiesce programmen innan du tar en ögonblicksbild av diskar. Den anropar ett postscript för att frigöra program när ögonblicksbilden har slutförts.
Microsoft har förbättrat ramverket så att Azure Backup-tjänsten tillhandahåller paketerade prescripts och postscripts för valda program. Dessa prescripts och postscripts har redan lästs in på Linux-avbildningen, så det finns inget att installera. Du namnger bara programmet och sedan anropar Azure Backup automatiskt relevanta skript. Microsoft hanterar paketerade prescripts och postscripts, så att du kan vara säker på support, ägarskap och giltighet för dem.
För närvarande är de program som stöds för det förbättrade ramverket Oracle 12.x eller senare och MySQL. Mer information finns i Supportmatris för hanterade säkerhetskopieringar av virtuella Azure-datorer.
Du kan skapa egna skript för Azure Backup som ska användas med databaser före 12.x. Exempelskript är tillgängliga på GitHub.
Varje gång du gör en säkerhetskopia kör det förbättrade ramverket prescripts och postscripts på alla Oracle Database-instanser som är installerade på den virtuella datorn. Parametern configuration_path
i filen workload.conf pekar på platsen för oracle-filen /etc/oratab (eller en användardefinierad fil som följer oratab-syntaxen). Mer information finns i Konfigurera programkonsekventa säkerhetskopior.
Azure Backup kör prescripts och postscripts för varje databas som anges i filen som configuration_path
pekar på. Undantag är rader som börjar med #
(behandlas som kommentarer) eller +ASM
(en Oracle ASM-instans).
Azure Backup-det förbättrade ramverket tar onlinesäkerhetskopior av Oracle Database-instanser som fungerar i ARCHIVELOG
läge. Prescripts och postscripts använder ALTER DATABASE BEGIN
kommandona och END BACKUP
för att uppnå programkonsekvens.
För att databassäkerhetskopian ska vara konsekvent måste databaser i NOARCHIVELOG
läge stängas av helt innan ögonblicksbilden startar.
Förbereda miljön för en programkonsekvent säkerhetskopiering
Oracle Database använder jobbrollseparation för att ge uppdelning av uppgifter med hjälp av minsta möjliga behörighet. Den associerar separata operativsystemgrupper (OS) med separata administrativa databasroller. Användare kan sedan ha olika databasbehörigheter som beviljas dem, beroende på deras medlemskap i OS-grupper.
Databasrollen SYSBACKUP
(generiskt namn OSBACKUPDBA
) ger begränsad behörighet att utföra säkerhetskopieringsåtgärder i databasen. Azure Backup kräver det.
Under Oracle-installationen rekommenderar vi att du använder backupdba
som operativsystemgruppnamn för att associera med SYSBACKUP
rollen. Men du kan använda valfritt namn, så du måste fastställa namnet på den OS-grupp som representerar Oracle-rollen SYSBACKUP
först.
Växla till
oracle
användaren:sudo su - oracle
Ange Oracle-miljön:
export ORACLE_SID=oratest1 export ORAENV_ASK=NO . oraenv
Fastställa namnet på den OS-grupp som representerar Oracle-rollen
SYSBACKUP
:grep "define SS_BKP" $ORACLE_HOME/rdbms/lib/config.c
Utdata ser ut ungefär som i följande exempel:
#define SS_BKP_GRP "backupdba"
I utdata är värdet inom dubbla citattecken namnet på den Linux OS-grupp som Oracle-rollen
SYSBACKUP
är externt autentiserad till. I det här exemplet ärbackupdba
det . Anteckna det faktiska värdet.Kontrollera att OS-gruppen finns genom att köra följande kommando. Ersätt
<group name>
med värdet som föregående kommando returnerade (utan citattecken).grep <group name> /etc/group
Utdata ser ut ungefär som i följande exempel:
backupdba:x:54324:oracle
Viktigt!
Om utdata inte matchar det Oracle OS-gruppvärde som du hämtade i steg 3 använder du följande kommando för att skapa den OS-grupp som representerar Oracle-rollen
SYSBACKUP
. Ersätt<group name>
med det gruppnamn som du hämtade i steg 3.sudo groupadd <group name>
Skapa en ny säkerhetskopieringsanvändare med namnet
azbackup
som tillhör den OS-grupp som du verifierade eller skapade i föregående steg. Ersätt<group name>
med namnet på den verifierade gruppen. Användaren läggs också till i gruppen så att denoinstall
kan öppna ASM-diskar.sudo useradd -g <group name> -G oinstall azbackup
Konfigurera extern autentisering för den nya säkerhetskopieringsanvändaren.
Säkerhetskopieringsanvändaren
azbackup
måste kunna komma åt databasen med hjälp av extern autentisering, så att den inte utmanas av ett lösenord. Om du vill aktivera den här åtkomsten måste du skapa en databasanvändare som autentiserar externt viaazbackup
. Databasen använder ett prefix för användarnamnet som du behöver hitta.Utför följande steg för varje databas som är installerad på den virtuella datorn:
Logga in på databasen med hjälp av SQL Plus och kontrollera standardinställningarna för extern autentisering:
sqlplus / as sysdba SQL> show parameter os_authent_prefix SQL> show parameter remote_os_authent
Utdata bör se ut som i det här exemplet, som visas
ops$
som databasens användarnamnprefix:NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ os_authent_prefix string ops$ remote_os_authent boolean FALSE
Skapa en databasanvändare med namnet
ops$azbackup
för extern autentisering tillazbackup
användaren och beviljaSYSBACKUP
behörigheter:SQL> CREATE USER ops$azbackup IDENTIFIED EXTERNALLY; SQL> GRANT CREATE SESSION, ALTER SESSION, SYSBACKUP TO ops$azbackup;
Om du får felet
ORA-46953: The password file is not in the 12.2 format
när du kör -instruktionenGRANT
följer du de här stegen för att migrera orapwd-filen till formatet 12.2. Utför dessa steg för varje Oracle Database-instans på den virtuella datorn.Avsluta SQL Plus.
Flytta lösenordsfilen med det gamla formatet till ett nytt namn.
Migrera lösenordsfilen.
Ta bort den gamla filen.
Kör följande kommandon:
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
Kör åtgärden igen
GRANT
i SQL Plus.
Skapa en lagrad procedur för att logga säkerhetskopieringsmeddelanden till databasens aviseringslogg. Använd följande kod för varje databas som är installerad på den virtuella datorn:
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
Konfigurera programkonsekventa säkerhetskopior
Växla till rotanvändaren:
sudo su -
Sök efter mappen /etc/azure. Om den inte finns skapar du arbetskatalogen för programkonsekvent säkerhetskopiering:
if [ ! -d "/etc/azure" ]; then mkdir /etc/azure fi
Sök efter filen workload.conf i mappen. Om den inte finns skapar du den i katalogen /etc/azure och ger den följande innehåll. Kommentarerna måste börja med
[workload]
. Om filen redan finns redigerar du bara fälten så att de matchar följande innehåll. I annat fall skapar följande kommando filen och fyller i innehållet:echo "[workload] workload_name = oracle configuration_path = /etc/oratab timeout = 90 linux_user = azbackup" > /etc/azure/workload.conf
Filen workload.conf använder följande format:
- Parametern
workload_name
anger databasens arbetsbelastningstyp. I det här fallet anger du parametern till så attOracle
Azure Backup kan köra rätt prescripts och postscripts (konsekvenskommandon) för Oracle Database-instanser. - Parametern
timeout
anger den maximala tid i sekunder som varje databas måste slutföra ögonblicksbilder av lagringen. - Parametern
linux_user
anger det Linux-användarkonto som Azure Backup använder för att köra databasåtgärder. Du skapade den här användaren,azbackup
, tidigare. - Parametern
configuration_path
anger det absoluta sökvägsnamnet för en textfil på den virtuella datorn. Varje rad visar en databasinstans som körs på den virtuella datorn. Detta är vanligtvis den /etc/oratab-fil som Oracle genererar under databasinstallationen, men det kan vara vilken fil som helst med valfritt namn som du väljer. Den måste följa dessa formatregler:- Filen är en textfil. Varje fält avgränsas med kolontecknet (
:
). - Det första fältet på varje rad är namnet på en
ORACLE_SID
instans. - Det andra fältet på varje rad är det absoluta sökvägsnamnet för
ORACLE_HOME
den instansenORACLE_SID
. - All text efter de två första fälten ignoreras.
- Om raden börjar med ett pundtecken (
#
) ignoreras hela raden som en kommentar. - Om det första fältet har värdet
+ASM
, som anger en Oracle ASM-instans, ignoreras det.
- Filen är en textfil. Varje fält avgränsas med kolontecknet (
- Parametern
Utlös en programkonsekvent säkerhetskopiering av den virtuella datorn
I Azure Portal går du till resursgruppen rg-oracle och väljer den virtuella datorn vmoracle19c.
I fönstret Säkerhetskopiering :
- Under Recovery Services-valv väljer du Skapa ny.
- Använd myVault som namn på valvet.
- För Resursgrupp väljer du rg-oracle.
- För Välj säkerhetskopieringsprincip använder du (ny) DailyPolicy. Om du vill ändra säkerhetskopieringsfrekvensen eller kvarhållningsintervallet väljer du Skapa en ny princip i stället.
Välj Aktivera säkerhetskopiering.
Säkerhetskopieringsprocessen startar inte förrän den schemalagda tiden upphör att gälla. Slutför nästa steg för att konfigurera en omedelbar säkerhetskopia.
I resursgruppsfönstret väljer du det nyligen skapade Recovery Services-valvet med namnet myVault. Du kan behöva uppdatera sidan för att se den.
I fönstret myVault – Säkerhetskopieringsobjekt går du till ANTAL SÄKERHETSKOPIERADE OBJEKT och väljer antalet säkerhetskopierade objekt.
I fönstret Säkerhetskopieringsobjekt (Virtuell Azure-dator) väljer du knappen ellips (...) och väljer sedan Säkerhetskopiera nu.
Acceptera standardvärdet Behåll säkerhetskopiering till och välj sedan OK. Vänta tills säkerhetskopieringen har slutförts.
Om du vill visa status för säkerhetskopieringsjobbet väljer du Säkerhetskopieringsjobb.
Välj säkerhetskopieringsjobbet för att se information om dess status.
Även om det tar några sekunder att köra ögonblicksbilden kan det ta längre tid att överföra den till valvet. Säkerhetskopieringsjobbet har inte slutförts förrän överföringen är klar.
För en programkonsekvent säkerhetskopiering kan du åtgärda eventuella fel i loggfilen på /var/log/azure/Microsoft.Azure.RecoveryServices.VMSnapshotLinux/extension.log.
Återställa den virtuella datorn
Om du återställer en hel virtuell dator innebär det att du återställer den virtuella datorn och dess anslutna diskar till en ny virtuell dator från en vald återställningspunkt. Den här åtgärden återställer också alla databaser som körs på den virtuella datorn. Efteråt måste du återställa varje databas.
Utför följande steg för att återställa en hel virtuell dator:
- Stoppa och ta bort den virtuella datorn.
- Återställ den virtuella datorn.
- Ange den offentliga IP-adressen.
- Återställ databasen.
Det finns två huvudsakliga alternativ när du återställer en virtuell dator:
- Återställ den virtuella dator som säkerhetskopiorna ursprungligen togs från.
- Återställ (klona) en ny virtuell dator utan att påverka den virtuella dator som säkerhetskopiorna ursprungligen togs från.
De första stegen i den här övningen (stoppa, ta bort och sedan återställa den virtuella datorn) simulerar det första användningsfallet.
Stoppa och ta bort den virtuella datorn
I Azure Portal går du till den virtuella datorn vmoracle19c och väljer sedan Stoppa.
När den virtuella datorn inte längre körs väljer du Ta bort och sedan Ja.
Återställa den virtuella datorn
Skapa ett lagringskonto för mellanlagring i Azure Portal:
I Azure Portal väljer du + Skapa en resurs och söker sedan efter och väljer Lagringskonto.
I fönstret Skapa lagringskonto :
- För Resursgrupp väljer du din befintliga resursgrupp, rg-oracle.
- För Lagringskontonamn anger du oracrestore.
- Kontrollera att Plats är inställd på samma region som alla andra resurser i resursgruppen.
- Ange Prestanda till Standard.
- För Typ av konto väljer du StorageV2 (generell användning v2).
- För Replikering väljer du Lokalt redundant lagring (LRS).
Välj Granska + skapaoch välj sedan Skapa.
I Azure Portal söker du efter valvet myVault Recovery Services och väljer det.
I fönstret Översikt väljer du Säkerhetskopieringsobjekt. Välj sedan Azure Virtual Machine, som ska ha ett icke-nollnummer för ANTAL SÄKERHETSKOPIERADE OBJEKT.
I fönstret Säkerhetskopieringsobjekt (Virtuell Azure-dator) väljer du den virtuella datorn vmoracle19c .
I fönstret vmoracle19c väljer du en återställningspunkt med konsekvenstypen Programkonsekvent. Välj ellipsen (...) och välj sedan Återställ virtuell dator.
I fönstret Återställ virtuell dator :
Välj Skapa ny.
Som Återställningstyp väljer du Skapa ny virtuell dator.
Som Namn på virtuell dator anger du vmoracle19c.
För Virtuellt nätverk väljer du vmoracle19cVNET.
Undernätet fylls i automatiskt baserat på ditt val för det virtuella nätverket.
För mellanlagringsplats kräver processen för att återställa en virtuell dator ett Azure-lagringskonto i samma resursgrupp och region. Du kan välja ett lagringskonto eller en återställningsaktivitet som du konfigurerade tidigare.
Om du vill återställa den virtuella datorn väljer du knappen Återställ .
Om du vill visa status för återställningsprocessen väljer du Jobb och sedan Säkerhetskopieringsjobb.
Välj återställningsåtgärden Pågår för att visa information om status för återställningsprocessen.
Ange den offentliga IP-adressen
När den virtuella datorn har återställts bör du omtilldela den ursprungliga IP-adressen till den nya virtuella datorn.
I Azure Portal går du till den virtuella datorn med namnet vmoracle19c. Den tilldelas en ny offentlig IP- och nätverkskort som liknar vmoracle19c-nic-XXXXXXXXXXXXXX, men den har ingen DNS-adress. När den ursprungliga virtuella datorn togs bort behölls den offentliga IP-adressen och nätverkskortet. Nästa steg är att koppla dem till den nya virtuella datorn igen.
Stoppa den virtuella datorn.
Gå till Nätverk.
Välj Anslut nätverksgränssnitt. Välj det ursprungliga NIC vmoracle19cVMNic, som den ursprungliga offentliga IP-adressen fortfarande är associerad med. Välj sedan OK.
Koppla från nätverkskortet som du skapade med återställningsåtgärden för den virtuella datorn eftersom det är konfigurerat som det primära gränssnittet. Välj Koppla från nätverksgränssnittet, välj det nätverkskort som liknar vmoracle19c-nic-XXXXXXXXXXXX OCH välj sedan OK.
Den återskapade virtuella datorn har nu det ursprungliga nätverkskortet, som är associerat med den ursprungliga IP-adressen och reglerna för nätverkssäkerhetsgruppen.
Gå tillbaka till Översiktsfönster och välj Start.
Återställa databasen
Så här återställer du en databas efter en fullständig återställning av den virtuella datorn:
Återanslut till den virtuella datorn:
ssh azureuser@<publicIpAddress>
När hela den virtuella datorn återställs är det viktigt att återställa databaserna på den virtuella datorn genom att utföra följande steg på varje databas.
Du kanske upptäcker att instansen körs eftersom den automatiska starten försökte starta databasen vid start av den virtuella datorn. Databasen kräver dock återställning och kommer sannolikt endast att vara i monteringsfasen. Kör en förberedande avstängning innan monteringssteget startas:
sudo su - oracle sqlplus / as sysdba SQL> shutdown immediate SQL> startup mount
Utför databasåterställning.
Det är viktigt att ange syntaxen
USING BACKUP CONTROLFILE
för att informera kommandot omRECOVER AUTOMATIC DATABASE
att återställningen inte ska stoppas vid Oracle-systemets ändringsnummer (SCN) som registrerats i den återställde databaskontrollfilen.Den återställde databaskontrollfilen var en ögonblicksbild, tillsammans med resten av databasen. Det SCN som lagras i det är från tidpunkten för ögonblicksbilden. Det kan finnas transaktioner som registrerats efter den här punkten och du vill återställa till den tidpunkt då den senaste transaktionen checkas in i databasen.
SQL> recover automatic database using backup controlfile until cancel;
När den senast tillgängliga arkivloggfilen tillämpas anger du
CANCEL
för att avsluta återställningen.När återställningen är klar visas meddelandet
Media recovery complete
.När du använder
BACKUP CONTROLFILE
-satsen ignorerar återställningskommandot dock onlineloggfiler. Det är möjligt att ändringar i den aktuella online-redo-loggen krävs för att slutföra återställning till tidpunkt. I den här situationen kan du se meddelanden som liknar dessa exempel: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}
Viktigt!
Om den aktuella onlineloggen är förlorad eller skadad och du inte kan använda den kan du avbryta återställningen just nu.
För att åtgärda den här situationen kan du identifiera vilken onlinelogg som inte arkiverades och ange det fullständigt kvalificerade filnamnet i prompten.
Öppna databasen.
Alternativet
RESETLOGS
krävs närRECOVER
kommandot använder alternativetUSING BACKUP CONTROLFILE
.RESETLOGS
skapar en ny inkarnation av databasen genom att återställa historiken till början, eftersom det inte finns något sätt att avgöra hur mycket av den tidigare databas-inkarnationen som hoppades över i återställningen.SQL> alter database open resetlogs;
Kontrollera att databasinnehållet har återställts:
SQL> select * from scott.scott_table;
Säkerhetskopieringen och återställningen av Oracle Database på en virtuell Azure Linux-dator är nu klar.
Du hittar mer information om Oracle-kommandon och -begrepp i Oracle-dokumentationen, inklusive:
- Utföra användarhanterade Oracle-säkerhetskopior av hela databasen
- Utföra fullständig användarhanterad databasåterställning
- Oracle STARTUP-kommando
- Oracle RECOVER-kommando
- Oracle ALTER DATABASE-kommando
- Oracle LOG_ARCHIVE_DEST_n parameter
- Oracle ARCHIVE_LAG_TARGET parameter
Ta bort den virtuella datorn
När du inte längre behöver den virtuella datorn kan du använda följande kommandon för att ta bort resursgruppen, den virtuella datorn och alla relaterade resurser:
Inaktivera mjuk borttagning av säkerhetskopior i valvet:
az backup vault backup-properties set --name myVault --resource-group rg-oracle --soft-delete-feature-state disable
Stoppa skyddet för den virtuella datorn och ta bort säkerhetskopior:
az backup protection disable --resource-group rg-oracle --vault-name myVault --container-name vmoracle19c --item-name vmoracle19c --delete-backup-data true --yes
Ta bort resursgruppen, inklusive alla resurser:
az group delete --name rg-oracle
Nästa steg
Skapa virtuella datorer med hög tillgänglighet
Utforska Azure CLI-exempel för distribution av virtuella datorer