Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: ✔️ Virtuální počítače s Linuxem
Tento článek ukazuje použití služby Azure Files jako média k zálohování a obnovení databáze Oracle spuštěné na virtuálním počítači Azure. Kroky v tomto článku byly testovány proti Oracle 12.1 a novějším.
V tomto článku použijete Oracle Recovery Manager (RMAN) k zálohování databáze do sdílené složky Azure připojené k virtuálnímu počítači přes protokol SMB (Server Message Block). Použití služby Azure Files pro zálohovací médium je nákladově efektivní a výkonné. Azure Backup ale pro velké databáze poskytuje lepší řešení.
Požadavky
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Začínáme s Azure Cloud Shellem.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Ověřování v Azure pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Použití a správa rozšíření pomocí Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
Pokud chcete provést proces zálohování a obnovení, musíte nejprve vytvořit virtuální počítač s Linuxem, který má nainstalovanou instanci Oracle Database. Doporučujeme používat Oracle 12.x nebo novější.
Vytvořte instanci Oracle Database podle kroků v tématu Vytvoření instance Oracle Database na virtuálním počítači Azure.
Příprava databázového prostředí
K vytvoření relace SSH (Secure Shell) s virtuálním počítačem použijte následující příkaz. Nahraďte
<publicIpAddress>hodnotou veřejné adresy vašeho virtuálního počítače.ssh azureuser@<publicIpAddress>Přepněte na uživatele root:
sudo su -oraclePřidejte uživatele do souboru /etc/sudoers:echo "oracle ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoersTento krok předpokládá, že máte instanci Oracle (test), která běží na virtuálním počítači s názvem vmoracle19c.
Přepněte na
oracleuživatele:sudo su - oraclePřed připojením nastavte proměnnou
ORACLE_SIDprostředí:export ORACLE_SID=test;Proměnnou
ORACLE_SIDbyste také měli přidat dooraclesouboru .bashrc uživatele pro budoucí přihlášení pomocí následujícího příkazu:echo "export ORACLE_SID=test" >> ~oracle/.bashrcPokud ještě není spuštěný, spusťte naslouchací proces Oracle:
lsnrctl startVýstup by měl vypadat zhruba jako v tomto příkladu:
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 successfullyVytvořte umístění pro oblast rychlého obnovení:
mkdir /u02/fast_recovery_areaPřipojte se k databázi:
sqlplus / as sysdbaSpusťte databázi, pokud ještě není spuštěná:
SQL> startupNastavte proměnné prostředí databáze pro oblast rychlého obnovení:
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;Ověřte, že je databáze v
ARCHIVELOGrežimu, aby bylo možné povolit online zálohy.Zkontrolujte stav archivu protokolu:
SQL> SELECT log_mode FROM v$database; LOG_MODE ------------ NOARCHIVELOGPokud je archiv protokolu v
NOARCHIVELOGrežimu, spusťte v SQL Plus následující příkazy:SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT; SQL> ALTER DATABASE ARCHIVELOG; SQL> ALTER DATABASE OPEN; SQL> ALTER SYSTEM SWITCH LOGFILE;Vytvořte tabulku pro otestování operací zálohování a obnovení:
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
Zálohování do služby Azure Files
Pokud chcete zálohovat soubory Azure, proveďte následující kroky:
- Nastavení služby Azure Files
- Připojte sdílenou složku Azure k virtuálnímu počítači.
- Zálohujte databázi.
- Obnovte a obnovte databázi.
Nastavení služby Azure Files
V této části zálohujete databázi Oracle do služby Azure Files pomocí Oracle RMAN. Sdílené složky Azure jsou plně spravované sdílené složky, které zůstávají v cloudu. K nim můžete přistupovat pomocí protokolu SMB nebo protokolu NFS (Network File System).
Následující postupy popisují vytvoření sdílené složky, která k připojení k virtuálnímu počítači používá protokol SMB. Informace o připojení pomocí systému souborů NFS naleznete v tématu Vytvoření sdílené složky NFS.
Při připojování sdílené složky Azure použijte cache=none možnost zakázat ukládání dat sdílené složky do mezipaměti. Pokud chcete zajistit, aby oracle uživatel vlastní soubory vytvořené ve sdílené složce, nastavte nastavení uid=oracle a gid=oinstall možnosti.
Nastavení účtu úložiště:
Na webu Azure Portal vyberte + Vytvořit prostředek a pak vyhledejte a vyberte Účet úložiště.
Snímek obrazovky znázorňující, kde vytvořit prostředek a vybrat účet úložištěV podokně Vytvořit účet úložiště:
- Jako skupinu prostředků vyberte existující skupinu prostředků rg-oracle.
- Jako název účtu úložiště zadejte oracbkup1.
- Ujistěte se, že je umístění nastavené na stejnou oblast jako všechny ostatní prostředky ve skupině prostředků.
- Nastavte výkon na standard.
- Jako druh účtu vyberte StorageV2 (pro obecné účely v2).
- V případě replikace vyberte místně redundantní úložiště (LRS).
Snímek obrazovky znázorňující základní informace pro vytvoření účtu úložištěVyberte kartu Upřesnit. V části Soubory Azure nastavte velké sdílené složky na Povoleno. Vyberte Zkontrolovat a vytvořit a potom vyberte Vytvořit.
Snímek obrazovky znázorňující kartu pro povolení velkých sdílených složekPo vytvoření účtu úložiště přejděte k prostředku a vyberte Sdílené složky.
Snímek obrazovky znázorňující, kde vybrat sdílené složky pro prostředekVyberte + Sdílená složka a potom na panelu Nová sdílená složka:
Jako název zadejte orabkup1.
Nastavte kvótu na 10240 gibibajtů (GiB).
Kvóta odráží horní hranici, na kterou může sdílená složka růst. Vzhledem k tomu, že v tomto příkladu používáte úložiště úrovně Standard, prostředky jsou průběžné platby a nezřizují se. Nastavení kvóty na 10 tebibajtů (TiB) neúčtují náklady nad rámec toho, co používáte. Pokud vaše strategie zálohování vyžaduje větší úložiště, nastavte kvótu na odpovídající úroveň pro uložení všech záloh.
V části Vrstvy vyberte Optimalizováno pro transakce.
Vyberte Vytvořit.
Snímek obrazovky znázorňující výběry pro přidání nové sdílené složkyPo vytvoření sdílené složky vyberte orabkup1 v podokně Nastavení sdílené složky.
Výběrem karty Připojit otevřete panel Připojení a pak vyberte kartu Linux. Zkopírujte zadané příkazy pro připojení sdílené složky pomocí protokolu SMB.
Snímek obrazovky znázorňující panel pro přístup k příkazům pro připojení sdílené složky k počítači s Linuxem
Připojení sdílené složky Azure k virtuálnímu počítači
Vytvořte přípojný bod:
sudo mkdir /mnt/orabackupNastavení přihlašovacích údajů:
if [ ! -d "/etc/smbcredentials" ]; then sudo mkdir /etc/smbcredentials fiSpusťte následující příkaz: Nahraďte
<Your Storage Account Key1>dříve načteným klíčem účtu úložiště.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' fiZměna oprávnění k souboru s přihlašovacími údaji:
sudo chmod 600 /etc/smbcredentials/orabackup1.credPřidejte připojení do souboru /etc/fstab :
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'Spuštěním příkazů připojte sdílenou složku Azure pomocí protokolu SMB:
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=oinstallPokud se zobrazí chyba podobná následujícímu příkladu, nemusí být balíček CIFS (Common Internet File System) nainstalovaný na vašem hostiteli s Linuxem:
mount: wrong fs type, bad option, bad superblock on //orabackup1.file.core.windows.net/orabackupPokud chcete zkontrolovat, jestli je balíček CIFS nainstalovaný, spusťte následující příkaz:
sudo rpm -qa|grep cifs-utilsPokud příkaz nevrátí žádný výstup, nainstalujte balíček CIFS pomocí následujícího příkazu. Pak znovu spusťte
mountpříkaz pro připojení sdílené složky Azure.sudo yum install cifs-utilsPomocí následujícího příkazu zkontrolujte, jestli je sdílená složka správně připojená:
df -hVýstup by měl vypadat podobně jako v tomto příkladu:
$ 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
Zálohování databáze
V této části použijete Oracle RMAN k úplnému zálohování protokolů databáze a archivu. Pak zapíšete zálohu jako zálohu nastavenou na sdílenou složku Azure, kterou jste připojili dříve.
Nakonfigurujte RMAN pro zálohování do přípojného bodu služby 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';V tomto příkladu omezujete velikost záložních kusů RMAN na 4 GiB. Hodnota zálohování
maxpiecesizeRMAN ale může jít až 4 TiB, což je limit velikosti souboru pro sdílené složky Azure Úrovně Standard a sdílené složky úrovně Premium. Další informace najdete v tématu Škálovatelnost a výkonnostní cíle služby Azure Files.RMAN> configure channel device type disk maxpiecesize 4000G;Potvrďte podrobnosti o změně konfigurace:
RMAN> show all;Spusťte zálohování. Následující příkaz převezme úplnou zálohu databáze, včetně souborů protokolu archivu, jako záložní sadu v komprimovaném formátu:
RMAN> backup as compressed backupset database plus archivelog;
Databázi jste zálohovali online pomocí Oracle RMAN se zálohou umístěnou ve službě Azure Files. Vzhledem k tomu, že zálohy ukládáte ve službě Azure Files, můžete k nim přistupovat z jiných virtuálních počítačů, pokud potřebujete naklonovat databázi.
Použití služby RMAN a Azure Files pro zálohování databází má mnoho výhod. Doba zálohování a obnovení je propojena s velikostí databáze. U velkých databází může tyto operace trvat poměrně dlouho.
Alternativou je použití záloh virtuálních počítačů konzistentních vzhledem k aplikacím prostřednictvím služby Azure Backup. Tento mechanismus používá technologii snímků k provádění rychlých záloh bez ohledu na velikost databáze. Integrace s trezorem služby Recovery Services poskytuje cloudové úložiště záloh databáze Oracle, abyste k nim měli přístup z jiných virtuálních počítačů a dalších oblastí Azure.
Obnovení a obnovení databáze
Vypněte instanci Oracle:
sqlplus / as sysdba SQL> shutdown abort ORACLE instance shut down.Odeberte datové soubory databáze:
cd /u02/oradata/TEST rm -f *.dbfNásledující příkazy používají RMAN k obnovení chybějících datových souborů a obnovení databáze:
rman target / RMAN> startup mount; RMAN> restore database; RMAN> recover database; RMAN> alter database open;Zkontrolujte, jestli je obsah databáze plně obnovený:
RMAN> SELECT * FROM scott.scott_table;
Zálohování a obnovení databáze Oracle Database 19c na virtuálním počítači Azure s Linuxem je teď hotové.
Odstranění virtuálního počítače
Pokud už virtuální počítač nepotřebujete, můžete pomocí následujícího příkazu odebrat skupinu prostředků, virtuální počítač a všechny související prostředky:
az group delete --name rg-oracle
Další kroky
Vytvoření vysoce dostupných virtuálních počítačů
Prozkoumání ukázek Azure CLI pro nasazení virtuálního počítače