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 du använder Azure Backup för att ta ögonblicksbilder av virtuella diskar (VM), bland annat Oracle Database-filerna och området för snabb återställning av Oracle. Med hjälp av Azure Backup kan du ta fullständiga diskögonblicksbilder som är lämpliga som säkerhetskopior och lagras i ett Recovery Services-valv.

Azure Backup tillhandahåller även programkonsekventa säkerhetskopior, vilket 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-databaser för automatisk lagringshantering (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 redo-loggfiler som samlas in och lagras i en separat Azure-filresurs.

Den här artikeln vägleder dig genom 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

  • Om du vill 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

Förbered miljön genom att utföra följande steg:

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

Anslut till VM:en

  1. Använd följande kommando för att skapa en SSH-session (Secure Shell) med den virtuella datorn. 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 redo-loggfiler

Oracle Database-instansens arkiverade redo-loggfiler spelar en viktig roll vid databasåterställning. De lagrar de bekräftade transaktioner som behövs för att vidarebefordra från en ögonblicksbild av databasen som tagits tidigare.

När databasen är i ARCHIVELOG läge arkiveras innehållet i online-redo-loggfiler när de blir fulla och växlar. Tillsammans med en säkerhetskopia måste de uppnå återställning till tidpunkt när databasen går förlorad.

Oracle tillhandahåller möjligheten att arkivera redo-loggfiler till olika platser. Branschens bästa praxis är att minst ett av dessa mål ska finnas på fjärrlagring, så det är separat 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 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 Standard Oracle-skriptet oraenv med dess beroende av Oracle-standardkonfigurationsfilen /etc/oratab för att konfigurera miljövariabler i en shell-session.

Utför följande steg för varje databas på den virtuella datorn:

  1. Växla till användaren oracle :

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

    . 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 som namnges 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 användaren oracle . 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.

    Om du vill uppnå ett konsekvent återställningspunktpunktobjekt bör du överväga hur ofta loggfilerna för onlineåterställning ska arkiveras. Dessa faktorer styr frekvensen:

    • Storleken på onlinefilerna för att göra om loggfilerna. 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 växlings- och arkiveringsfrekvensen, tillsammans med den tillhörande kontrollpunktsåtgärden, har Oracle online redo-loggfiler vanligtvis 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 sekunders eller minuts mellanrum. 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 ställer in ARCHIVE_LAG_TARGET för att säkerställa ett konsekvent återställningspunktpunktobjekt. Inställningen 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 feltiden.

    Om du vill ange ARCHIVE_LAG_TARGETkör du det här kommandot:

    SQL> alter system set archive_lag_target=300 scope=both;
    

    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äkerhetskopieringar.

    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

Tjänsten Azure Backup 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 den 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 utföras medan Azure Backup tar en ögonblicksbild av de virtuella datordiskarna. Ögonblicksbilden är en fullständig kopia av lagringen och inte en inkrementell eller kopiering vid skrivning. Det är ett effektivt medium att återställa databasen från.

Fördelen med att använda Azure Backup programkonsekventa ögonblicksbilder ä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 överförs 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äkerhetskopieringar.
  4. Utlös en programkonsekvent säkerhetskopiering av den virtuella datorn.

Förstå det Azure Backup ramverket

Tjänsten Azure Backup 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 ett förskript för att kvitta programmen innan du tar en ögonblicksbild av diskar. Den anropar ett efterskript för att låsa upp programmen när ögonblicksbilden har slutförts.

Microsoft har förbättrat ramverket så att Azure Backup-tjänsten tillhandahåller paketerade förskript och efterskript för valda program. Dessa förskript och efterskript 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 förskript och efterskript, 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 säkerhetskopierar kör det förbättrade ramverket förskript och efterskript 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äkerhetskopieringar.

Azure Backup kör förskript och efterskript 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).

Det Azure Backup förbättrade ramverket tar onlinesäkerhetskopieringar av Oracle Database-instanser som körs i ARCHIVELOG läge. Förskripten och efterskripten använder kommandona ALTER DATABASE BEGIN 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 jobbrollsavgränsning för att tillhandahålla uppdelning av uppgifter med minsta möjliga behörighet. Den associerar separata operativsystemgrupper (OS) med separata administrativa databasroller. Användare kan sedan ha olika databasprivilegier, beroende på deras medlemskap i OS-grupper.

Databasrollen SYSBACKUP (allmänt namn OSBACKUPDBA) ger begränsade behörigheter för 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 os-gruppnamn för att associera med SYSBACKUP rollen. Men du kan använda valfritt namn, så du måste bestämma namnet på os-gruppen som representerar Oracle-rollen SYSBACKUP först.

  1. Växla till användaren oracle :

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

    export ORACLE_SID=oratest1
    export ORAENV_ASK=NO
    . oraenv
    
  3. Fastställ 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 autentiseras till externt. 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 det värde 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 värdet för Oracle OS-gruppen 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 oinstall gruppen så att den 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 för 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 dessa steg för att migrera orapwd-filen till 12.2-format. Utför de här stegen 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äkerhetskopieringar

  1. Växla till rotanvändaren:

    sudo su -
    
  2. Sök efter mappen /etc/azure . Om den inte finns skapar du arbetskatalogen för den programkonsekventa säkerhetskopieringen:

    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. Annars 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. Om du i det här fallet anger parametern till Oracle kan Azure Backup köra rätt förskript och efterskript (konsekvenskommandon) för Oracle Database-instanser.
    • Parametern timeout anger den maximala tiden 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 quiesce-åtgärder för databasen. 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 ORACLE_SID instansen.
      • 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ösa 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äkerhetskopieringen startar inte förrän den schemalagda tiden går ut. Om du vill konfigurera en omedelbar säkerhetskopiering slutför du nästa steg.

  4. I resursgruppsfönstret väljer du det nyligen skapade Recovery Services-valvet 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ÄKERHETSKOPIERINGSOBJEKT 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 ellipsknappen (...) 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 bara tar några sekunder att köra ögonblicksbilden kan det ta lite tid att överföra den till valvet. Säkerhetskopieringsjobbet slutförs inte 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 även 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älla 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 gjordes 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ÄKERHETSKOPIERINGSOBJEKT.

    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 som har 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 återställning av 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 återställningsprocessens status.

    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 tilldela om den ursprungliga IP-adressen till den nya virtuella datorn.

  1. I Azure Portal går du till den virtuella datorn med namnet vmoracle19c. Den har tilldelats 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 bevarades dess offentliga IP-adress och nätverkskort. Nästa steg är att koppla dem till den nya virtuella datorn.

    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 val av 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änssnitt, 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äkerhetsgrupper.

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

  6. Gå tillbaka till fönstret Översikt och välj Starta.

Å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 har återställts ä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 autostarten försökte starta databasen vid start av den virtuella datorn. Databasen kräver dock återställning och kommer troligen endast att vara i monteringsfasen. Kör en förberedande avstängning innan du startar monteringssteget:

    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 stoppa vid oracle-systemets ändringsnummer (SCN) som registrerats i den återställde databaskontrollfilen.

    Den återställde databaskontrollfilen var en ögonblicksbild, tillsammans med resten av databasen. 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 tidpunkten för den senaste transaktionen som checkats in i databasen.

    SQL> recover automatic database using backup controlfile until cancel;
    
  4. När den senast tillgängliga arkivloggfilen har tillämpats anger du CANCEL för att avsluta återställningen.

    När återställningen har slutförts visas meddelandet Media recovery complete .

    Men när du använder BACKUP CONTROLFILE -satsen ignorerar återställningskommandot 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 online-redo-loggen förloras eller skadas och du inte kan använda den kan du avbryta återställningen nu.

    För att åtgärda det här problemet 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 USING BACKUP CONTROLFILE alternativet . RESETLOGS skapar en ny inkarnation av databasen genom att återställa redo-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