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 beschreven hoe u de Azure CLI gebruikt om een virtuele Azure-machine (VM) te implementeren vanuit de installatiekopieën van de Oracle Marketplace-galerie om een Oracle Database 19c-database te maken. Nadat u de server hebt geïmplementeerd, verbindt u de server via SSH om de Oracle-database te configureren.
Vereiste voorwaarden
-
Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.
Azure Cloud Shell of de Azure CLI.
U kunt de Azure CLI-opdrachten in deze quickstart interactief uitvoeren in Azure Cloud Shell. Als u de opdrachten in Cloud Shell wilt uitvoeren, selecteert u Cloudshell openen in de rechterbovenhoek van een codeblok. Selecteer Kopiëren om de code te kopiëren en plak deze in Cloud Shell om deze uit te voeren. U kunt Cloud Shell ook uitvoeren vanuit Azure Portal. Cloud Shell maakt altijd gebruik van de nieuwste versie van de Azure CLI.
U kunt azure CLI ook lokaal installeren om de opdrachten uit te voeren. Voor de stappen in dit artikel is Azure CLI versie 2.0.4 of hoger vereist. Voer az version uit om uw geïnstalleerde versie en afhankelijke bibliotheken te zien en voer az upgrade uit om een upgrade uit te voeren. Als u een lokale installatie gebruikt, meldt u zich aan bij Azure met behulp van de opdracht az login .
Resourcegroep aanmaken
Maak een resourcegroep met de opdracht az group create . Een Azure-resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd.
In het volgende voorbeeld wordt een resourcegroep met de naam rg-oracle gemaakt op de locatie eastus .
az group create --name rg-oracle --location eastus
Opmerking
In deze quickstart maakt u een Standard_DS2_v2 SKU-VM in de regio VS - oost. Gebruik de opdracht az vm list-skus om de lijst met ondersteunde SKU's per regio weer te geven.
Virtuele machine maken
Maak een virtuele machine (VM) met de opdracht az vm create .
In het volgende voorbeeld wordt een VM met de naam vmoracle19c gemaakt. Er worden ook SSH-sleutels gemaakt als deze nog niet bestaan op een standaardsleutellocatie. Als u een specifieke set sleutels wilt gebruiken, kunt u de --ssh-key-value optie gebruiken met de opdracht.
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
Nadat u de virtuele machine hebt gemaakt, wordt in Azure CLI informatie weergegeven die vergelijkbaar is met het volgende voorbeeld. Noteer de waarde voor de publicIpAddress eigenschap. U gebruikt dit IP-adres voor toegang tot de VIRTUELE machine.
{
"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"
}
Schijf maken voor Oracle-gegevensbestanden
Maak en koppel een nieuwe schijf voor Oracle-gegevensbestanden en een snel herstelgebied (FRA) met de opdracht az vm disk attach .
In het volgende voorbeeld wordt een schijf met de naam oradata01 gemaakt.
az vm disk attach \
--name oradata01 --new \
--resource-group rg-oracle \
--size-gb 64 --sku StandardSSD_LRS \
--vm-name vmoracle19c
Poorten openen voor connectiviteit
In deze taak moet u enkele externe eindpunten configureren voor de databaselistener die moet worden gebruikt door de Azure-netwerkbeveiligingsgroep (NSG) in te stellen die de VIRTUELE machine beveiligt.
Maak de NSG voor de virtuele machine met de opdracht az network nsg create . Met deze opdracht maakt u de vmoracle19cNSG NSG voor regels voor het beheren van de toegang tot de VM:
az network nsg create --resource-group rg-oracle --name vmoracle19cNSGMaak een NSG-regel met de opdracht az network nsg rule create . Met deze opdracht maakt u de regel allow-oracle NSG om het eindpunt te openen voor externe toegang tot de Oracle-database:
az network nsg rule create \ --resource-group rg-oracle \ --nsg-name vmoracle19cNSG \ --name allow-oracle \ --protocol tcp \ --priority 1001 \ --destination-port-range 1521Maak een tweede NSG-regel om het eindpunt te openen voor externe toegang tot Oracle. Met deze opdracht maakt u de regel allow-oracle-EM NSG:
az network nsg rule create \ --resource-group rg-oracle \ --nsg-name vmoracle19cNSG \ --name allow-oracle-EM \ --protocol tcp \ --priority 1002 \ --destination-port-range 5502Maak een NSG-regel met de opdracht az network nsg rule create . Met deze opdracht maakt u de regel allow-ssh NSG om het eindpunt te openen voor externe toegang via ssh:
az network nsg rule create \ --resource-group rg-oracle \ --nsg-name vmoracle19cNSG \ --name allow-ssh \ --protocol tcp \ --priority 1001 \ --destination-port-range 22Gebruik indien nodig de opdracht az network public-ip show om het openbare IP-adres van uw VM op te halen:
az network public-ip show \ --resource-group rg-oracle \ --name vmoracle19cPublicIP \ --query "ipAddress" \ --output tsv
VM-omgeving voorbereiden
Maak een SSH-sessie met de VIRTUELE machine. Vervang het
<publicIPAddress>gedeelte door de waarde van het openbare IP-adres voor uw VIRTUELE machine, zoals10.200.300.4:ssh azureuser@<publicIPAddress>Overschakelen naar de hoofdgebruiker:
sudo su -Zoek het laatst gemaakte schijfapparaat dat u wilt opmaken voor het opslaan van Oracle-gegevensbestanden:
ls -alt /dev/sd*|head -1De uitvoer is vergelijkbaar met dit voorbeeld:
brw-rw----. 1 root disk 8, 16 Dec 8 22:57 /dev/sdcAls rootgebruiker moet u het
partedcommando gebruiken om het apparaat te formatteren.Maak eerst een schijflabel:
parted /dev/sdc mklabel gptMaak vervolgens een primaire partitie die de hele schijf omvat:
parted -a optimal /dev/sdc mkpart primary 0GB 64GBControleer ten slotte de details van het apparaat door de metagegevens ervan af te drukken:
parted /dev/sdc printDe uitvoer is vergelijkbaar met dit voorbeeld:
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
Maak een bestandssysteem op de apparaatpartitie:
mkfs -t ext4 /dev/sdc1De uitvoer is vergelijkbaar met dit voorbeeld:
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: doneEen koppelpunt maken:
mkdir /u02Koppel de schijf:
mount /dev/sdc1 /u02Machtigingen voor het koppelpunt wijzigen:
chmod 777 /u02Voeg de koppeling toe aan het /etc/fstab-bestand :
echo "/dev/sdc1 /u02 ext4 defaults 0 0" >> /etc/fstabBelangrijk
Met deze opdracht wordt het /etc/fstab-bestand gekoppeld zonder een specifieke UUID, waardoor het opnieuw opstarten van de schijf kan worden voorkomen. Voordat u probeert de schijf opnieuw op te starten, moet u de vermelding /etc/fstab bijwerken om een UUID voor het koppelpunt op te nemen.
Werk het bestand /etc/hosts bij met het openbare IP-adres en de hostnaam van het adres. Wijzig de
<Public IP>en twee<VMname>delen zodat deze overeenkomen met de werkelijke waarden:echo "<Public IP> <VMname>.eastus.cloudapp.azure.com <VMname>" >> /etc/hostsVoeg de domeinnaam van de virtuele machine toe aan het /etc/hostnaambestand . Bij de volgende opdracht wordt ervan uitgegaan dat de resourcegroep en vm worden gemaakt in de regio Eastus :
sed -i 's/$/\.eastus\.cloudapp\.azure\.com &/' /etc/hostnameOpen firewall-poorten.
Omdat SELinux standaard is ingeschakeld op de Marketplace-installatiekopieën, moeten we de firewall openen voor verkeer voor de database die luistert naar poort 1521 en Enterprise Manager Express-poort 5502. Voer de volgende opdrachten uit als hoofdgebruiker:
firewall-cmd --zone=public --add-port=1521/tcp --permanent firewall-cmd --zone=public --add-port=5502/tcp --permanent firewall-cmd --reload
De database maken
De Oracle-software is al geïnstalleerd op de Marketplace-installatiekopieën. Maak als volgt een voorbeelddatabase.
Schakel over naar de oracle-gebruiker :
sudo su - oracleStart de databaselistener:
lsnrctl startDe uitvoer is vergelijkbaar met het volgende voorbeeld:
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 successfullyMaak een gegevensmap voor de Oracle-gegevensbestanden:
mkdir /u02/oradataVoer de Database Creation Assistant uit:
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/" \ -ignorePreReqsHet duurt enkele minuten om de database te maken.
De uitvoer is vergelijkbaar met het volgende voorbeeld:
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.Oracle-variabelen instellen:
Voordat u verbinding maakt, moet u de omgevingsvariabele
ORACLE_SIDinstellen:export ORACLE_SID=oratest1U moet ook de
ORACLE_SIDvariabele toevoegen aan hetoraclevan gebruikers voor toekomstige aanmeldingen met behulp van de volgende opdracht:echo "export ORACLE_SID=oratest1" >> ~oracle/.bashrc
Database opstarten en afsluiten automatiseren
De Oracle-database wordt standaard niet automatisch gestart wanneer u de virtuele machine opnieuw start. Als u de Oracle-database zo wilt instellen dat deze automatisch wordt gestart, meldt u zich eerst aan als root. Maak en werk vervolgens enkele systeembestanden bij.
Meld u aan als hoofdgebruiker:
sudo su -Wijzig de automatische opstartvlag van
NinYhet /etc/oratab-bestand:sed -i 's/:N/:Y/' /etc/oratabMaak een bestand met de naam /etc/init.d/dbora en voeg de volgende bash-opdracht toe aan het bestand:
#!/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 ;; esacMachtigingen voor bestanden wijzigen met de
chmodopdracht:chgrp dba /etc/init.d/dbora chmod 750 /etc/init.d/dboraSymbolische koppelingen maken voor opstarten en afsluiten:
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/S99dboraAls u uw wijzigingen wilt testen, start u de VM opnieuw op:
reboot
Hulpmiddelen opruimen
Nadat u klaar bent met het verkennen van uw eerste Oracle-database in Azure en de VM niet meer nodig is, kunt u de opdracht az group delete gebruiken om de resourcegroep, VM en alle gerelateerde resources te verwijderen.
az group delete --name rg-oracle
Volgende stappen
- Uw database in Azure beveiligen met Oracle-back-upstrategieën
- Verken Oracle-oplossingen op Azure
- Oracle Automated Storage Management installeren en configureren