Vytvoření databáze Oracle na virtuálním počítači Azure
Platí pro: ✔️ Virtuální počítače s Linuxem
Tento článek popisuje, jak pomocí Azure CLI nasadit virtuální počítač Azure z image galerie Oracle Marketplace k vytvoření databáze Oracle Database 19c. Po nasazení serveru připojíte server přes SSH a nakonfigurujete databázi Oracle.
Požadavky
-
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
Azure Cloud Shell nebo Azure CLI.
Příkazy Azure CLI můžete v tomto rychlém startu spustit interaktivně v Azure Cloud Shellu. Pokud chcete příkazy spustit v Cloud Shellu, vyberte Otevřít CloudShell v pravém horním rohu bloku kódu. Výběrem možnosti Kopírovat zkopírujte kód a vložte ho do Cloud Shellu a spusťte ho. Cloud Shell můžete spustit také na webu Azure Portal. Cloud Shell vždy používá nejnovější verzi Azure CLI.
Případně můžete azure CLI nainstalovat místně a spouštět příkazy. Kroky v tomto článku vyžadují Azure CLI verze 2.0.4 nebo novější. Spuštěním příkazu az version zobrazte nainstalovanou verzi a závislé knihovny a spusťte az upgrade . Pokud používáte místní instalaci, přihlaste se k Azure pomocí příkazu az login .
Vytvořit skupinu zdrojů
Vytvořte skupinu prostředků pomocí příkazu az group create. Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure.
Následující příklad vytvoří skupinu prostředků s názvem rg-oracle v umístění eastus .
az group create --name rg-oracle --location eastus
Poznámka:
Tento rychlý start vytvoří virtuální počítač Standard_DS2_v2 skladové položky v oblasti USA – východ. Pokud chcete zobrazit seznam podporovaných skladových položek podle oblastí, použijte příkaz az vm list-skus .
Vytvoření virtuálního počítače
Vytvořte virtuální počítač pomocí příkazu az vm create .
Následující příklad vytvoří virtuální počítač s názvem vmoracle19c. Vytvoří také klíče SSH, pokud ještě neexistují ve výchozím umístění klíče. Pokud chcete použít konkrétní sadu klíčů, můžete použít --ssh-key-value
možnost s příkazem.
az vm create \
--name vmoracle19c \
--resource-group rg-oracle \
--image Oracle:oracle-database-19-3:oracle-database-19-0904:latest \
--size Standard_DS2_v2 \
--admin-username azureuser \
--generate-ssh-keys \
--public-ip-address-allocation static \
--public-ip-address-dns-name vmoracle19c
Po vytvoření virtuálního počítače azure CLI zobrazí podobné informace jako v následujícím příkladu. Poznamenejte si hodnotu vlastnosti publicIpAddress
. Tuto IP adresu použijete pro přístup k virtuálnímu počítači.
{
"fqdns": "",
"id": "/subscriptions/{snip}/resourceGroups/rg-oracle/providers/Microsoft.Compute/virtualMachines/vmoracle19c",
"location": "eastus",
"macAddress": "00-0D-3A-36-2F-56",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "13.64.104.241",
"resourceGroup": "rg-oracle"
}
Vytvoření disku pro datové soubory Oracle
Vytvořte a připojte nový disk pro datové soubory Oracle a rychlou oblast obnovení (FRA) pomocí příkazu az vm disk attach .
Následující příklad vytvoří disk s názvem oradata01.
az vm disk attach \
--name oradata01 --new \
--resource-group rg-oracle \
--size-gb 64 --sku StandardSSD_LRS \
--vm-name vmoracle19c
Otevření portů pro připojení
V této úloze musíte nakonfigurovat některé externí koncové body pro naslouchací proces databáze tak, aby naslouchací proces používal nastavením skupiny zabezpečení sítě Azure (NSG), která chrání virtuální počítač.
Pomocí příkazu az network nsg create vytvořte skupinu zabezpečení sítě pro virtuální počítač. Tento příkaz vytvoří skupinu zabezpečení sítě Vmoracle19cNSG pro pravidla pro řízení přístupu k virtuálnímu počítači:
az network nsg create --resource-group rg-oracle --name vmoracle19cNSG
Vytvořte pravidlo NSG pomocí příkazu az network nsg rule create . Tento příkaz vytvoří pravidlo allow-oracle NSG pro otevření koncového bodu pro vzdálený přístup k databázi Oracle:
az network nsg rule create \ --resource-group rg-oracle \ --nsg-name vmoracle19cNSG \ --name allow-oracle \ --protocol tcp \ --priority 1001 \ --destination-port-range 1521
Vytvořte druhé pravidlo NSG pro otevření koncového bodu pro vzdálený přístup k Oracle. Tento příkaz vytvoří pravidlo NSG allow-oracle-EM :
az network nsg rule create \ --resource-group rg-oracle \ --nsg-name vmoracle19cNSG \ --name allow-oracle-EM \ --protocol tcp \ --priority 1002 \ --destination-port-range 5502
Podle potřeby pomocí příkazu az network public-ip show získejte veřejnou IP adresu vašeho virtuálního počítače:
az network public-ip show \ --resource-group rg-oracle \ --name vmoracle19cPublicIP \ --query "ipAddress" \ --output tsv
Příprava prostředí virtuálního počítače
Vytvořte relaci SSH s virtuálním počítačem.
<publicIPAddress>
Část nahraďte hodnotou veřejné IP adresy vašeho virtuálního počítače, například10.200.300.4
:ssh azureuser@<publicIPAddress>
Přepněte na uživatele root:
sudo su -
Vyhledejte naposledy vytvořené diskové zařízení, které chcete formátovat pro ukládání datových souborů Oracle:
ls -alt /dev/sd*|head -1
Výstup je podobný tomuto příkladu:
brw-rw----. 1 root disk 8, 16 Dec 8 22:57 /dev/sdc
Jako uživatel root použijte
parted
příkaz k formátování zařízení.Nejprve vytvořte popisek disku:
parted /dev/sdc mklabel gpt
Dále vytvořte primární oddíl, který pokrývá celý disk:
parted -a optimal /dev/sdc mkpart primary 0GB 64GB
Nakonec zkontrolujte podrobnosti o zařízení tiskem jeho metadat:
parted /dev/sdc print
Výstup je podobný tomuto příkladu:
Model: Msft Virtual Disk (scsi) Disk /dev/sdc: 68.7GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 64.0GB 64.0GB ext4 primary
Vytvořte v oddílu zařízení systém souborů:
mkfs -t ext4 /dev/sdc1
Výstup je podobný tomuto příkladu:
mke2fs 1.42.9 (28-Dec-2013) Discarding device blocks: done Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 3907584 inodes, 15624704 blocks 781235 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2164260864 477 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
Vytvořte přípojný bod:
mkdir /u02
Připojte disk:
mount /dev/sdc1 /u02
Změna oprávnění pro přípojný bod:
chmod 777 /u02
Přidejte připojení do souboru /etc/fstab :
echo "/dev/sdc1 /u02 ext4 defaults 0 0" >> /etc/fstab
Důležité
Tento příkaz připojí soubor /etc/fstab bez konkrétního UUID, což může zabránit úspěšnému restartování disku. Než se pokusíte restartovat disk, aktualizujte položku /etc/fstab tak, aby obsahovala UUID přípojného bodu.
Aktualizujte soubor /etc/hosts veřejnou IP adresou a názvem hostitele adresy.
<Public IP>
Změňte hodnoty a dvě<VMname>
části tak, aby odrážely vaše skutečné hodnoty:echo "<Public IP> <VMname>.eastus.cloudapp.azure.com <VMname>" >> /etc/hosts
Přidejte název domény virtuálního počítače do souboru /etc/hostname . Následující příkaz předpokládá vytvoření skupiny prostředků a virtuálního počítače v oblasti eastus :
sed -i 's/$/\.eastus\.cloudapp\.azure\.com &/' /etc/hostname
Otevřete porty brány firewall.
Vzhledem k tomu, že je na imagi Marketplace ve výchozím nastavení povolená služba SELinux, musíme otevřít bránu firewall pro provoz pro databázi naslouchácí portu 1521 a portu Enterprise Manager Express 5502. Jako uživatel kořenového adresáře spusťte následující příkazy:
firewall-cmd --zone=public --add-port=1521/tcp --permanent firewall-cmd --zone=public --add-port=5502/tcp --permanent firewall-cmd --reload
Vytvoření databáze
Na imagi Marketplace je už nainstalovaný software Oracle. Následujícím způsobem vytvořte ukázkovou databázi.
Přepněte na uživatele Oracle :
sudo su - oracle
Spusťte naslouchací proces databáze:
lsnrctl start
Výstup se podobá následujícímu příkladu:
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 20-OCT-2020 01:58:18 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 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))) Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production Start Date 20-OCT-2020 01:58:18 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF 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))) The listener supports no services The command completed successfully
Vytvořte datový adresář pro datové soubory Oracle:
mkdir /u02/oradata
Spusťte Pomocníka pro vytváření databází:
dbca -silent \ -createDatabase \ -templateName General_Purpose.dbc \ -gdbname oratest1 \ -sid oratest1 \ -responseFile NO_VALUE \ -characterSet AL32UTF8 \ -sysPassword OraPasswd1 \ -systemPassword OraPasswd1 \ -createAsContainerDatabase false \ -databaseType MULTIPURPOSE \ -automaticMemoryManagement false \ -storageType FS \ -datafileDestination "/u02/oradata/" \ -ignorePreReqs
Vytvoření databáze trvá několik minut.
Výstup se podobá následujícímu příkladu:
Prepare for db operation 10% complete Copying database files 40% complete Creating and starting Oracle instance 42% complete 46% complete 50% complete 54% complete 60% complete Completing Database Creation 66% complete 69% complete 70% complete Executing Post Configuration Actions 100% complete Database creation complete. For details check the logfiles at: /u01/app/oracle/cfgtoollogs/dbca/oratest1. Database Information: Global Database Name:oratest1 System Identifier(SID):oratest1 Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/oratest1/oratest1.log" for further details.
Nastavení proměnných Oracle:
Než se připojíte, musíte nastavit proměnnou
ORACLE_SID
prostředí:export ORACLE_SID=oratest1
Proměnnou
ORACLE_SID
byste také měli přidat dooracle
souboru .bashrc pro budoucí přihlášení uživatele pomocí následujícího příkazu:echo "export ORACLE_SID=oratest1" >> ~oracle/.bashrc
Automatizace spuštění a vypnutí databáze
Databáze Oracle se ve výchozím nastavení automaticky nespustí při restartování virtuálního počítače. Pokud chcete databázi Oracle nastavit tak, aby se spustila automaticky, nejprve se přihlaste jako kořen. Pak vytvořte a aktualizujte některé systémové soubory.
Přihlaste se jako uživatel root:
sudo su -
Změňte příznak automatického spuštění z
N
naY
v souboru /etc/oratab:sed -i 's/:N/:Y/' /etc/oratab
Vytvořte soubor s názvem /etc/init.d/dbora a do souboru přidejte následující příkaz Bash:
#!/bin/sh # chkconfig: 345 99 10 # Description: Oracle auto start-stop script. # # Set ORA_HOME to be equivalent to $ORACLE_HOME. ORA_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 ORA_OWNER=oracle case "$1" in 'start') # Start the Oracle databases: # The following command assumes that the Oracle sign-in # will not prompt the user for any values. # Remove "&" if you don't want startup as a background process. su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME" & touch /var/lock/subsys/dbora ;; 'stop') # Stop the Oracle databases: # The following command assumes that the Oracle sign-in # will not prompt the user for any values. su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME" & rm -f /var/lock/subsys/dbora ;; esac
Pomocí příkazu změňte oprávnění k souborům
chmod
:chgrp dba /etc/init.d/dbora chmod 750 /etc/init.d/dbora
Vytvoření symbolických odkazů pro spuštění a vypnutí:
ln -s /etc/init.d/dbora /etc/rc.d/rc0.d/K01dbora ln -s /etc/init.d/dbora /etc/rc.d/rc3.d/S99dbora ln -s /etc/init.d/dbora /etc/rc.d/rc5.d/S99dbora
Pokud chcete otestovat změny, restartujte virtuální počítač:
reboot
Vyčištění prostředků
Po dokončení zkoumání první databáze Oracle v Azure a virtuální počítač už není potřeba, můžete pomocí příkazu az group delete odebrat skupinu prostředků, virtuální počítač a všechny související prostředky.
az group delete --name rg-oracle
Další kroky
- Ochrana databáze v Azure pomocí strategií zálohování Oracle
- Prozkoumání řešení Oracle v Azure
- Instalace a konfigurace správy automatizovaného úložiště Oracle