Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: ✔️ Virtuele Linux-machines
In dit artikel wordt het gebruik van Azure Files gedemonstreert als medium om een back-up te maken van een Oracle-database die wordt uitgevoerd op een virtuele Azure-machine (VM). De stappen in dit artikel zijn getest op Oracle 12.1 en hoger.
In dit artikel gebruikt u Oracle Recovery Manager (RMAN) om een back-up van de database te maken naar een Azure-bestandsshare die is gekoppeld aan een virtuele machine via het SMB-protocol (Server Message Block). Het gebruik van Azure Files voor back-upmedia is rendabel en presterend. Voor grote databases biedt Azure Backup echter een betere oplossing.
Vereisten
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie Aan de slag met Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Zie Verifiëren bij Azure met behulp van Azure CLI voor andere aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Zie Extensies gebruiken en beheren met de Azure CLIvoor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
Als u het back-up- en herstelproces wilt uitvoeren, moet u eerst een Virtuele Linux-machine maken met een geïnstalleerd exemplaar van Oracle Database. We raden u aan Oracle 12.x of hoger te gebruiken.
Maak een Oracle Database-exemplaar door de stappen te volgen in Een Oracle Database-exemplaar maken in een Azure-VM.
De databaseomgeving voorbereiden
Gebruik de volgende opdracht om een SSH-sessie (Secure Shell) met de VIRTUELE machine te maken. Vervang
<publicIpAddress>door de waarde van het openbare adres voor uw VIRTUELE machine.ssh azureuser@<publicIpAddress>Overschakelen naar de hoofdgebruiker:
sudo su -Voeg de
oraclegebruiker toe aan het bestand /etc/sudoers :echo "oracle ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoersIn deze stap wordt ervan uitgegaan dat u een Oracle-exemplaar (test) hebt dat wordt uitgevoerd op een virtuele machine met de naam vmoracle19c.
Overschakelen naar de
oraclegebruiker:sudo su - oracleVoordat u verbinding maakt, stelt u de omgevingsvariabele
ORACLE_SIDin:export ORACLE_SID=test;U moet ook de
ORACLE_SIDvariabele toevoegen aan het bashrc-bestand van deoraclegebruiker voor toekomstige aanmeldingen met behulp van de volgende opdracht:echo "export ORACLE_SID=test" >> ~oracle/.bashrcStart de Oracle-listener als deze nog niet wordt uitgevoerd:
lsnrctl startDe uitvoer moet er als in het volgende voorbeeld uitzien:
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 successfullyMaak de locatie voor het snelle herstelgebied:
mkdir /u02/fast_recovery_areaVerbinding maken met de database:
sqlplus / as sysdbaStart de database als deze nog niet wordt uitgevoerd:
SQL> startupStel databaseomgevingsvariabelen in voor het snelle herstelgebied:
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;Controleer of de database in
ARCHIVELOGde modus is om online back-ups in te schakelen.Controleer de status van het logboekarchief:
SQL> SELECT log_mode FROM v$database; LOG_MODE ------------ NOARCHIVELOGAls het logboekarchief zich in
NOARCHIVELOGde modus bevindt, voert u de volgende opdrachten uit in SQL Plus:SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT; SQL> ALTER DATABASE ARCHIVELOG; SQL> ALTER DATABASE OPEN; SQL> ALTER SYSTEM SWITCH LOGFILE;Maak een tabel om de back-up- en herstelbewerkingen te testen:
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
Een back-up maken van Azure Files
Voer de volgende stappen uit om een back-up te maken van Azure Files:
- Azure Files instellen.
- Koppel de Azure-bestandsshare aan uw VIRTUELE machine.
- Maak een back-up van de database.
- Herstel en herstel de database.
Azure Files instellen
In deze sectie maakt u een back-up van de Oracle-database naar Azure Files met behulp van Oracle RMAN. Azure-bestandsshares zijn volledig beheerde bestandsshares die in de cloud blijven. U kunt ze openen met behulp van het SMB-protocol of het NFS-protocol (Network File System).
De volgende procedures hebben betrekking op het maken van een bestandsshare die gebruikmaakt van het SMB-protocol om te koppelen aan uw VIRTUELE machine. Zie Een NFS-share maken voor informatie over het koppelen met NFS.
Wanneer u de Azure-bestandsshare aan het koppelen bent, gebruikt u de cache=none optie om caching van bestandssharegegevens uit te schakelen. Om ervoor te zorgen dat de oracle gebruiker eigenaar is van de bestanden die in de share zijn gemaakt, stelt u de uid=oracle en gid=oinstall opties in.
Uw opslagaccount instellen:
Selecteer in Azure Portal + Een resource maken en zoek en selecteer opslagaccount.
Schermopname die laat zien waar u een resource maakt en een opslagaccount selecteert.In het deelvenster Opslagaccount maken:
- Selecteer voor resourcegroep uw bestaande resourcegroep, rg-oracle.
- Voer oracbkup1 in als opslagaccountnaam.
- Zorg ervoor dat Locatie is ingesteld op dezelfde regio als alle andere resources in de resourcegroep.
- Stel de prestaties in op Standard.
- Selecteer StorageV2 (algemeen gebruik v2) als soort account.
- Selecteer lokaal redundante opslag (LRS) voor replicatie.
Schermopname van basisinformatie voor het maken van een opslagaccount.Selecteer het tabblad Geavanceerd. Stel onder Azure Files grote bestandsshares in op Ingeschakeld. Selecteer Controleren + maken en selecteer vervolgens Maken.
Schermopname van het tabblad voor het inschakelen van grote bestandsshares.Wanneer het opslagaccount is gemaakt, gaat u naar de resource en selecteert u Bestandsshares.
Schermopname die laat zien waar u bestandsshares voor een resource kunt selecteren.Selecteer + Bestandsshare en klik vervolgens in het deelvenster Nieuwe bestandsshare :
Voer orabkup1 in bij Naam.
Stel quotum in op 10240 gibibytes (GiB).
Het quotum weerspiegelt een bovengrens waartoe de bestandsshare kan groeien. Omdat u in dit voorbeeld standaardopslag gebruikt, worden resources betalen per gebruik en niet ingericht. Als u het quotum instelt op 10 tebibytes (TiB), worden er geen kosten in rekening gebracht buiten wat u gebruikt. Als voor uw back-upstrategie meer opslag is vereist, stelt u het quotum in op een geschikt niveau om alle back-ups op te slaan.
Selecteer onder Lagen de optie Geoptimaliseerd voor transactie.
Selecteer Maken.
Schermopname van selecties voor het toevoegen van een nieuwe bestandsshare.Wanneer de bestandsshare is gemaakt, selecteert u orabkup1 in het deelvenster Instellingen voor bestandsshares.
Selecteer het tabblad Verbinding maken om het deelvenster Verbinding maken te openen en selecteer vervolgens het tabblad Linux. Kopieer de opgegeven opdrachten om de bestandsshare te koppelen met behulp van het SMB-protocol.
Schermopname van het deelvenster voor toegang tot de opdrachten om een bestandsshare te verbinden met een Linux-computer.
De Azure-bestandsshare koppelen aan uw VIRTUELE machine
Maak het koppelpunt:
sudo mkdir /mnt/orabackupReferenties instellen:
if [ ! -d "/etc/smbcredentials" ]; then sudo mkdir /etc/smbcredentials fiVoer de volgende opdracht uit. Vervang
<Your Storage Account Key1>deze door de opslagaccountsleutel die u eerder hebt opgehaald.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' fiMachtigingen voor het referentiesbestand wijzigen:
sudo chmod 600 /etc/smbcredentials/orabackup1.credVoeg de koppeling toe aan het /etc/fstab-bestand :
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'Voer de opdrachten uit om de Azure-bestandsshare te koppelen met behulp van het SMB-protocol:
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=oinstallAls er een fout optreedt die lijkt op het volgende voorbeeld, is het CIFS-pakket (Common Internet File System) mogelijk niet geïnstalleerd op uw Linux-host:
mount: wrong fs type, bad option, bad superblock on //orabackup1.file.core.windows.net/orabackupVoer de volgende opdracht uit om te controleren of het CIFS-pakket is geïnstalleerd:
sudo rpm -qa|grep cifs-utilsAls de opdracht geen uitvoer retourneert, installeert u het CIFS-pakket met behulp van de volgende opdracht. Voer vervolgens de
mountopdracht opnieuw uit om de Azure-bestandsshare te koppelen.sudo yum install cifs-utilsControleer of de bestandsshare correct is gekoppeld met behulp van de volgende opdracht:
df -hDe uitvoer moet er ongeveer uitzien als in dit voorbeeld:
$ 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
Een back-up maken van de database
In deze sectie gebruikt u Oracle RMAN om een volledige back-up van de database te maken en logboeken te archiveren. Vervolgens schrijft u de back-up als back-up die is ingesteld op de Azure-bestandsshare die u eerder hebt gekoppeld.
Configureer RMAN om een back-up te maken van het Azure Files-koppelpunt:
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';In dit voorbeeld beperkt u de grootte van RMAN-back-uponderdelen tot 4 GiB. De RMAN-back-upwaarde
maxpiecesizekan echter maximaal 4 TiB zijn. Dit is de maximale bestandsgrootte voor Azure Standard-bestandsshares en Premium-bestandsshares. Zie Azure Files-schaalbaarheids- en prestatiedoelen voor meer informatie.RMAN> configure channel device type disk maxpiecesize 4000G;Bevestig de details van de configuratiewijziging:
RMAN> show all;Voer de back-up uit. Met de volgende opdracht wordt een volledige databaseback-up gemaakt, inclusief archieflogboekbestanden, als back-upset in gecomprimeerde indeling:
RMAN> backup as compressed backupset database plus archivelog;
U hebt online een back-up van de database gemaakt met Oracle RMAN, met de back-up die zich in Azure Files bevindt. Omdat u de back-ups opslaat in Azure Files, kunt u deze openen vanaf andere VM's als u de database moet klonen.
Het gebruik van RMAN en Azure Files voor databaseback-up heeft veel voordelen. De back-up- en hersteltijd is gekoppeld aan de grootte van de database. Voor grote databases kunnen deze bewerkingen veel tijd in beslag nemen.
Een alternatief is het gebruik van toepassingsconsistente VM-back-ups via Azure Backup. Dit mechanisme maakt gebruik van momentopnametechnologie om snelle back-ups uit te voeren, ongeacht de grootte van de database. Integratie met een Recovery Services-kluis biedt cloudopslag van uw Oracle Database-back-ups, zodat u deze kunt openen vanaf andere VM's en andere Azure-regio's.
De database herstellen en herstellen
Sluit het Oracle-exemplaar af:
sqlplus / as sysdba SQL> shutdown abort ORACLE instance shut down.Verwijder de databasegegevensbestanden:
cd /u02/oradata/TEST rm -f *.dbfDe volgende opdrachten gebruiken RMAN om de ontbrekende gegevensbestanden te herstellen en de database te herstellen:
rman target / RMAN> startup mount; RMAN> restore database; RMAN> recover database; RMAN> alter database open;Controleer of de database-inhoud volledig is hersteld:
RMAN> SELECT * FROM scott.scott_table;
De back-up en het herstel van de Oracle Database 19c-database op een Virtuele Linux-machine van Azure zijn nu voltooid.
De VM verwijderen
Wanneer u de VIRTUELE machine niet meer nodig hebt, kunt u de volgende opdracht gebruiken om de resourcegroep, de VIRTUELE machine en alle gerelateerde resources te verwijderen:
az group delete --name rg-oracle