Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.
Förutsättningar
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Kom igång med 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 Autentisera till Azure 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 och hantera 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.
Skapa en Oracle Database-instans genom att följa stegen i Skapa en Oracle Database-instans på en virtuell Azure-dator.
Förbereda databasmiljön
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
oraclefilen /etc/sudoers :echo "oracle ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoersDet 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
oracleanvändaren:sudo su - oracleInnan du ansluter anger du miljövariabeln
ORACLE_SID:export ORACLE_SID=test;Du bör också lägga till variabeln
ORACLE_SIDioracleanvändarens .bashrc-fil för framtida inloggningar med hjälp av följande kommando:echo "export ORACLE_SID=test" >> ~oracle/.bashrcStarta Oracle-lyssnaren om den inte redan körs:
lsnrctl startUtdata bör se ut ungefär som följande exempel:
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 successfullySkapa platsen för det snabba återställningsområdet:
mkdir /u02/fast_recovery_areaAnslut till databasen:
sqlplus / as sysdbaStarta databasen om den inte redan körs:
SQL> startupAnge databasmiljövariabler för det snabba återställningsområdet:
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
ARCHIVELOGläge för att aktivera onlinesäkerhetskopior.Kontrollera loggarkivets status:
SQL> SELECT log_mode FROM v$database; LOG_MODE ------------ NOARCHIVELOGOm loggarkivet är i
NOARCHIVELOGläge kör du följande kommandon i SQL Plus: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 till Azure Files
Utför följande steg för att säkerhetskopiera till Azure Files:
- Konfigurera Azure Files.
- Montera Azure-filresursen på den virtuella datorn.
- Säkerhetskopiera databasen.
- Återställa och återställa databasen.
Konfigurera 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.
Konfigurera ditt lagringskonto:
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 och väljer ett 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).
Skärmbild som visar grundläggande information för att skapa ett lagringskonto.Välj fliken Avancerat . Under Azure Files anger du Stora filresurser till Aktiverad. Välj Granska + skapaoch välj sedan Skapa.
Skärmbild som visar fliken för att aktivera stora filresurser.När lagringskontot har skapats går du till resursen och väljer Filresurser.
Skärmbild som visar var du väljer filresurser för en resurs.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.
Skärmbild som visar val för att lägga till en ny filresurs.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.
Skärmbild som visar panelen för åtkomst till kommandon för att ansluta en filresurs till en Linux-dator.
Montera Azure-filresursen på den virtuella datorn
Skapa monteringspunkten:
sudo mkdir /mnt/orabackupKonfigurera autentiseringsuppgifter:
if [ ! -d "/etc/smbcredentials" ]; then sudo mkdir /etc/smbcredentials fiKör följande kommando. Ersätt
<Your Storage Account Key1>med lagringskontonyckeln som du hämtade tidigare.if [ ! -f "/etc/smbcredentials/orabackup1.cred" ]; then sudo bash -c 'echo "username=orabackup1" >> /etc/smbcredentials/orabackup1.cred' sudo bash -c 'echo "password=<Your Storage Account Key1>" >> /etc/smbcredentials/orabackup1.cred' fiÄndra behörigheter för filen med autentiseringsuppgifter:
sudo chmod 600 /etc/smbcredentials/orabackup1.credLägg till monteringen i /etc/fstab-filen :
sudo bash -c 'echo "//orabackup1.file.core.windows.net/orabackup /mnt/orabackup cifs nofail,vers=3.0,credentials=/etc/smbcredentials/orabackup1.cred,dir_mode=0777,file_mode=0777,serverino,cache=none,uid=oracle,gid=oinstall" >> /etc/fstab'Kör kommandona för att montera Azure-filresursen med hjälp av SMB-protokollet:
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=oinstallOm du får ett fel som liknar följande exempel kanske CIFS-paketet (Common Internet File System) inte är installerat på Linux-värden:
mount: wrong fs type, bad option, bad superblock on //orabackup1.file.core.windows.net/orabackupKontrollera om CIFS-paketet är installerat genom att köra följande kommando:
sudo rpm -qa|grep cifs-utilsOm kommandot inte returnerar några utdata installerar du CIFS-paketet med hjälp av följande kommando. Kör sedan kommandot igen
mountför att montera Azure-filresursen.sudo yum install cifs-utilsKontrollera att filresursen är korrekt monterad med hjälp av följande kommando:
df -hUtdata bör se ut ungefär som i det här exemplet:
$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 3.3G 0 3.3G 0% /dev tmpfs 3.3G 0 3.3G 0% /dev/shm tmpfs 3.3G 17M 3.3G 1% /run tmpfs 3.3G 0 3.3G 0% /sys/fs/cgroup /dev/sda2 30G 9.1G 19G 34% / /dev/sdc1 59G 2.7G 53G 5% /u02 /dev/sda1 497M 199M 298M 41% /boot /dev/sda15 495M 9.7M 486M 2% /boot/efi tmpfs 671M 0 671M 0% /run/user/54321 /dev/sdb1 14G 2.1G 11G 16% /mnt/resource tmpfs 671M 0 671M 0% /run/user/54322 //orabackup1.file.core.windows.net/orabackup 10T 0 10T 0% /mnt/orabackup
Säkerhetskopiera databasen
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:
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
maxpiecesizekan 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.RMAN> configure channel device type disk maxpiecesize 4000G;Bekräfta konfigurationsändringsinformationen:
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:
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.
Återställa och återställa databasen
Stäng av Oracle-instansen:
sqlplus / as sysdba SQL> shutdown abort ORACLE instance shut down.Ta bort databasdatafilerna:
cd /u02/oradata/TEST rm -f *.dbfFöljande kommandon använder RMAN för att återställa saknade datafiler och återställa databasen:
rman target / RMAN> startup mount; RMAN> restore database; RMAN> recover database; RMAN> alter database open;Kontrollera att databasinnehållet är helt återställt:
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:
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