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

  • 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:

  1. Anslut till den virtuella datorn.
  2. Konfigurera Azure Files Storage.
  3. Förbered databaserna.

Ansluta till den virtuella datorn

  1. 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>
    
  2. Växla till rotanvändaren:

    sudo su -
    
  3. 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 namnet vmoracle19c.
  • 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:

  1. Växla till oracle användaren:

     sudo su - oracle
    
  2. Ange miljövariabeln ORACLE_SID genom att köra skriptet oraenv . Du uppmanas att ange ORACLE_SID namnet.

    . oraenv
    
  3. 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 är oratest1. Så du skapar underkatalogen /backup/oratest1 och ändrar ägarskapet till oracle användaren. Ersätt /backup/SID med monteringspunktens namn och databas-SID.

    sudo mkdir /backup/oratest1
    sudo chown oracle:oinstall /backup/oratest1
    
  4. Anslut till databasen:

    sqlplus / as sysdba
    
  5. Starta databasen om den inte redan körs:

    SQL> startup
    
  6. 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;
    
  7. 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ör ARCHIVE_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_TARGETkö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.

  8. 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;
    
  9. 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:

  1. Förstå Azure Backup-ramverket.
  2. Förbered miljön för en programkonsekvent säkerhetskopiering.
  3. Konfigurera programkonsekventa säkerhetskopior.
  4. 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.

  1. Växla till oracle användaren:

    sudo su - oracle
    
  2. Ange Oracle-miljön:

    export ORACLE_SID=oratest1
    export ORAENV_ASK=NO
    . oraenv
    
  3. 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 är backupdbadet . Anteckna det faktiska värdet.

  4. 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>
    
  5. 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 den oinstall kan öppna ASM-diskar.

    sudo useradd -g <group name> -G oinstall azbackup
    
  6. 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 via azbackup. 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:

    1. 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
      
    2. Skapa en databasanvändare med namnet ops$azbackup för extern autentisering till azbackup användaren och bevilja SYSBACKUP behörigheter:

      SQL> CREATE USER ops$azbackup IDENTIFIED EXTERNALLY;
      SQL> GRANT CREATE SESSION, ALTER SESSION, SYSBACKUP TO ops$azbackup;
      
  7. Om du får felet ORA-46953: The password file is not in the 12.2 format när du kör -instruktionen GRANT 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.

    1. Avsluta SQL Plus.

    2. Flytta lösenordsfilen med det gamla formatet till ett nytt namn.

    3. Migrera lösenordsfilen.

    4. Ta bort den gamla filen.

    5. 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
      
    6. Kör åtgärden igen GRANT i SQL Plus.

  8. 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

  1. Växla till rotanvändaren:

    sudo su -
    
  2. 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
    
  3. 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å att Oracle 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 instansen ORACLE_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.

Utlös en programkonsekvent säkerhetskopiering av den virtuella datorn

  1. I Azure Portal går du till resursgruppen rg-oracle och väljer den virtuella datorn vmoracle19c.

  2. I fönstret Säkerhetskopiering :

    1. Under Recovery Services-valv väljer du Skapa ny.
    2. Använd myVault som namn på valvet.
    3. För Resursgrupp väljer du rg-oracle.
    4. 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.

    Skärmbild som visar fönstret för att konfigurera ett nytt Recovery Services-valv.

  3. 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.

  4. 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.

  5. I fönstret myVault – Säkerhetskopieringsobjekt går du till ANTAL SÄKERHETSKOPIERADE OBJEKT och väljer antalet säkerhetskopierade objekt.

    Skärmbild som visar information om ett Recovery Services-valv.

  6. I fönstret Säkerhetskopieringsobjekt (Virtuell Azure-dator) väljer du knappen ellips (...) och väljer sedan Säkerhetskopiera nu.

    Skärmbild som visar kommandot för att säkerhetskopiera Recovery Services-valv nu.

  7. Acceptera standardvärdet Behåll säkerhetskopiering till och välj sedan OK. Vänta tills säkerhetskopieringen har slutförts.

  8. Om du vill visa status för säkerhetskopieringsjobbet väljer du Säkerhetskopieringsjobb.

    Skärmbild som visar fönstret som visar säkerhetskopieringsjobb för ett Recovery Services-valv.

    Välj säkerhetskopieringsjobbet för att se information om dess status.

    Skärmbild som visar detaljerad statusinformation för ett säkerhetskopieringsjobb.

    Ä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.

  9. 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:

  1. Stoppa och ta bort den virtuella datorn.
  2. Återställ den virtuella datorn.
  3. Ange den offentliga IP-adressen.
  4. Å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

  1. I Azure Portal går du till den virtuella datorn vmoracle19c och väljer sedan Stoppa.

  2. När den virtuella datorn inte längre körs väljer du Ta bort och sedan Ja.

    Skärmbild som visar bekräftelsemeddelandet för att ta bort en virtuell dator.

Återställa den virtuella datorn

  1. Skapa ett lagringskonto för mellanlagring i Azure Portal:

    1. I Azure Portal väljer du + Skapa en resurs och söker sedan efter och väljer Lagringskonto.

      Skärmbild som visar var du skapar en resurs.

    2. I fönstret Skapa lagringskonto :

      1. För Resursgrupp väljer du din befintliga resursgrupp, rg-oracle.
      2. För Lagringskontonamn anger du oracrestore.
      3. Kontrollera att Plats är inställd på samma region som alla andra resurser i resursgruppen.
      4. Ange Prestanda till Standard.
      5. För Typ av konto väljer du StorageV2 (generell användning v2).
      6. För Replikering väljer du Lokalt redundant lagring (LRS).

      Skärmbild som visar grundläggande information för att skapa ett lagringskonto.

    3. Välj Granska + skapaoch välj sedan Skapa.

  2. I Azure Portal söker du efter valvet myVault Recovery Services och väljer det.

    Skärmbild som visar hur du väljer ett Recovery Services-valv.

  3. 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.

    Skärmbild som visar val för ett säkerhetskopieringsobjekt för en virtuell dator för ett Recovery Services-valv.

  4. I fönstret Säkerhetskopieringsobjekt (Virtuell Azure-dator) väljer du den virtuella datorn vmoracle19c .

    Skärmbild som visar fönstret för säkerhetskopieringsobjekt för virtuella datorer.

  5. I fönstret vmoracle19c väljer du en återställningspunkt med konsekvenstypen Programkonsekvent. Välj ellipsen (...) och välj sedan Återställ virtuell dator.

    Skärmbild som visar kommandot för att återställa en virtuell dator.

  6. I fönstret Återställ virtuell dator :

    1. Välj Skapa ny.

    2. Som Återställningstyp väljer du Skapa ny virtuell dator.

    3. Som Namn på virtuell dator anger du vmoracle19c.

    4. För Virtuellt nätverk väljer du vmoracle19cVNET.

      Undernätet fylls i automatiskt baserat på ditt val för det virtuella nätverket.

    5. 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.

    Skärmbild som visar värden för att återställa en virtuell dator.

  7. Om du vill återställa den virtuella datorn väljer du knappen Återställ .

  8. Om du vill visa status för återställningsprocessen väljer du Jobb och sedan Säkerhetskopieringsjobb.

    Skärmbild som visar en lista över säkerhetskopieringsjobb.

    Välj återställningsåtgärden Pågår för att visa information om status för återställningsprocessen.

    Skärmbild som visar detaljerad statusinformation om en återställningsprocess.

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.

  1. 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.

    Skärmbild som visar en lista över offentliga IP-adresser.

  2. Stoppa den virtuella datorn.

    Skärmbild som visar val för att stoppa en virtuell dator.

  3. Gå till Nätverk.

    Skärmbild som visar nätverksinformation.

  4. 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.

    Skärmbild som visar hur du väljer resurstyp och NIC-värden.

  5. 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.

    Skärmbild som visar fönstret för att koppla från ett nätverksgränssnitt.

    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.

    Skärmbild som visar ett IP-adressvärde.

  6. 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:

  1. Å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.

  2. 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
    
  3. Utför databasåterställning.

    Det är viktigt att ange syntaxen USING BACKUP CONTROLFILE för att informera kommandot om RECOVER 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;
    
  4. 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.

  5. Öppna databasen.

    Alternativet RESETLOGS krävs när RECOVER kommandot använder alternativet USING 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;
    
  6. 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:

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:

  1. 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
    
  2. 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
    
  3. 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