Migrera till Innovate Summit:
Lär dig hur migrering och modernisering till Azure kan öka företagets prestanda, motståndskraft och säkerhet, så att du kan använda AI fullt ut.Registrera dig nu
Den här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
Säkerhetskopiera och återställa Oracle Database på en virtuell Azure Linux-dator med hjälp av Azure Files
Artikel
Gäller för: ✔️ Virtuella Linux-datorer
Den här artikeln visar användningen av Azure Files som medium för att säkerhetskopiera och återställa en Oracle-databas som körs på en virtuell Azure-dator (VM). Stegen i den här artikeln har testats mot Oracle 12.1 och senare.
I den här artikeln använder du Oracle Recovery Manager (RMAN) för att säkerhetskopiera databasen till en Azure-filresurs som monterats på en virtuell dator via SMB-protokollet (Server Message Block). Att använda Azure Files för säkerhetskopieringsmedia är kostnadseffektivt och högpresterande. För stora databaser ger Azure Backup dock en bättre lösning.
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. Vi rekommenderar att du använder Oracle 12.x eller senare.
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.
Det här steget förutsätter att du har en Oracle-instans (test) som körs på en virtuell dator med namnet vmoracle19c.
Växla till oracle användaren:
Bash
sudo su - oracle
Innan du ansluter anger du miljövariabeln ORACLE_SID:
Bash
export ORACLE_SID=test;
Du bör också lägga till variabeln ORACLE_SID i oracle användarens .bashrc-fil för framtida inloggningar med hjälp av följande kommando:
Bash
echo"export ORACLE_SID=test" >> ~oracle/.bashrc
Starta Oracle-lyssnaren om den inte redan körs:
Bash
lsnrctl start
Utdata bör se ut ungefär som följande exempel:
Bash
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 18-SEP-2020 03:23:49
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Starting /u01/app/oracle/product/19.0.0/dbhome_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/vmoracle19c/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vmoracle19c.eastus.cloudapp.azure.com)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=vmoracle19c.eastus.cloudapp.azure.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 18-SEP-2020 03:23:49
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/vmoracle19c/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vmoracle19c.eastus.cloudapp.azure.com)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully
Skapa platsen för det snabba återställningsområdet:
Bash
mkdir /u02/fast_recovery_area
Anslut till databasen:
Bash
sqlplus / as sysdba
Starta databasen om den inte redan körs:
Bash
SQL> startup
Ange databasmiljövariabler för det snabba återställningsområdet:
Bash
SQL> alter system set db_recovery_file_dest_size=4096M scope=both;
SQL> alter system set db_recovery_file_dest='/u02/fast_recovery_area' scope=both;
Kontrollera att databasen är i ARCHIVELOG läge för att aktivera onlinesäkerhetskopior.
Kontrollera loggarkivets status:
Bash
SQL> SELECT log_mode FROM v$database;
LOG_MODE
------------
NOARCHIVELOG
Om loggarkivet är i NOARCHIVELOG läge kör du följande kommandon i SQL Plus:
Bash
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:
Bash
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 till Azure Files
Utför följande steg för att säkerhetskopiera till Azure Files:
I det här avsnittet säkerhetskopierar du Oracle-databasen till Azure Files med hjälp av Oracle RMAN. Azure-filresurser är fullständigt hanterade filresurser som finns kvar i molnet. Du kan komma åt dem med hjälp av antingen SMB-protokollet eller NFS-protokollet (Network File System).
Följande procedurer beskriver hur du skapar en filresurs som använder SMB-protokollet för att montera till den virtuella datorn. Information om hur du monterar med hjälp av NFS finns i Skapa en NFS-resurs.
När du monterar Azure-filresursen cache=none använder du alternativet för att inaktivera cachelagring av filresursdata. Ange alternativen och gid=oinstall för att säkerställa att användaren oracle äger filerna som skapats i resursenuid=oracle.
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 oracbkup1.
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 fliken Avancerat . Under Azure Files anger du Stora filresurser till Aktiverad. Välj Granska + skapaoch välj sedan Skapa.
När lagringskontot har skapats går du till resursen och väljer Filresurser.
Välj + Filresurs och sedan på panelen Ny filresurs :
Som Namn anger du orabkup1.
Ange kvot till 1 0240 gibibyte (GiB).
Kvoten återspeglar en övre gräns som filresursen kan växa till. Eftersom du använder standardlagring i det här exemplet är resurserna betala per användning och etableras inte. Att ange kvoten till 10 tebibyte (TiB) medför inte kostnader utöver det du använder. Om säkerhetskopieringsstrategin kräver mer lagringsutrymme anger du kvoten till en lämplig nivå för att lagra alla säkerhetskopior.
Under Nivåer väljer du Transaktionsoptimerad.
Välj Skapa.
När filresursen skapas väljer du orabkup1 i fönstret Inställningar för filresurs.
Välj fliken Anslut för att öppna panelen Anslut och välj sedan fliken Linux . Kopiera de angivna kommandona för att montera filresursen med hjälp av SMB-protokollet.
Kör följande kommandon för att konfigurera lagringskontot och filresursen:
Skapa lagringskontot i samma resursgrupp och plats som den virtuella datorn:
Kör kommandona för att montera Azure-filresursen med hjälp av SMB-protokollet:
Bash
sudo mount -t cifs //orabackup1.file.core.windows.net/orabackup /mnt/orabackup -o vers=3.0,credentials=/etc/smbcredentials/orabackup1.cred,dir_mode=0777,file_mode=0777,serverino,cache=none,uid=oracle,gid=oinstall
Om du får ett fel som liknar följande exempel kanske CIFS-paketet (Common Internet File System) inte är installerat på Linux-värden:
Output
mount: wrong fs type, bad option, bad superblock on //orabackup1.file.core.windows.net/orabackup
Kontrollera om CIFS-paketet är installerat genom att köra följande kommando:
Bash
sudo rpm -qa|grep cifs-utils
Om kommandot inte returnerar några utdata installerar du CIFS-paketet med hjälp av följande kommando. Kör sedan kommandot igen mount för att montera Azure-filresursen.
Bash
sudo yum install cifs-utils
Kontrollera att filresursen är korrekt monterad med hjälp av följande kommando:
I det här avsnittet använder du Oracle RMAN för att göra en fullständig säkerhetskopia av databas- och arkivloggarna. Sedan skriver du säkerhetskopian som en säkerhetskopia till den Azure-filresurs som du monterade tidigare.
Konfigurera RMAN för att säkerhetskopiera till Monteringspunkten för Azure Files:
Bash
rman target /
RMAN> configure snapshot controlfile name to '/mnt/orabkup/snapcf_ev.f';
RMAN> configure channel 1 device type disk format '/mnt/orabkup/%d/Full_%d_%U_%T_%s';
RMAN> configure channel 2 device type disk format '/mnt/orabkup/%d/Full_%d_%U_%T_%s';
I det här exemplet begränsar du storleken på RMAN-säkerhetskopieringsdelar till 4 GiB. RMAN-säkerhetskopieringsvärdet maxpiecesize kan dock gå upp till 4 TiB, vilket är filstorleksgränsen för Azures standardfilresurser och premiumfilresurser. Mer information finns i Skalbarhets- och prestandamål för Azure Files.
Bash
RMAN> configure channel device type disk maxpiecesize 4000G;
Bekräfta konfigurationsändringsinformationen:
Bash
RMAN> show all;
Kör säkerhetskopian. Följande kommando tar en fullständig databassäkerhetskopia, inklusive arkivloggfiler, som en säkerhetskopia i komprimerat format:
Bash
RMAN> backup as compressed backupset database plus archivelog;
Du säkerhetskopierade databasen online med hjälp av Oracle RMAN med säkerhetskopian i Azure Files. Eftersom du lagrar säkerhetskopiorna i Azure Files kan du komma åt dem från andra virtuella datorer om du behöver klona databasen.
Det finns många fördelar med att använda RMAN och Azure Files för databassäkerhetskopiering. Säkerhetskopierings- och återställningstiden är länkad till databasens storlek. För stora databaser kan dessa åtgärder ta lång tid.
Ett alternativ är att använda programkonsekventa säkerhetskopieringar av virtuella datorer via Azure Backup. Den här mekanismen använder teknik för ögonblicksbilder för att utföra snabba säkerhetskopieringar oavsett databasstorlek. Integrering med ett Recovery Services-valv ger molnlagring av dina Oracle Database-säkerhetskopior, så att du kan komma åt dem från andra virtuella datorer och andra Azure-regioner.
Kontrollera att databasinnehållet är helt återställt:
Bash
RMAN> SELECT * FROM scott.scott_table;
Säkerhetskopieringen och återställningen av Oracle Database 19c-databasen på en virtuell Azure Linux-dator är nu klar.
Ta bort den virtuella datorn
När du inte längre behöver den virtuella datorn kan du använda följande kommando för att ta bort resursgruppen, den virtuella datorn och alla relaterade resurser:
Den här modulen utforskar säkerhetskopiering och återställning av virtuella Azure-datorer och undersöker de steg och viktiga överväganden som ingår i säkerhetskopiering och återställning av SAP-arbetsbelastningar i Azure. Förbered dig för att planera och administrera Microsoft Azure för SAP-arbetsbelastningar i Exam AZ-120.
Administrera en SQL Server-databasinfrastruktur för molndatabaser, lokala databaser och hybridrelationsdatabaser med hjälp av microsoft PaaS-relationsdatabaserbjudanden.