Azure VM'de Oracle Veritabanı oluşturma
Şunlar için geçerlidir: ✔️ Linux VM'leri
Bu makalede, Oracle Veritabanı 19c veritabanı oluşturmak üzere Oracle market galerisi görüntüsünden bir Azure sanal makinesi (VM) dağıtmak için Azure CLI'nin nasıl kullanılacağı açıklanmaktadır. Sunucuyu dağıttığınızda, Oracle veritabanını yapılandırmak için SSH aracılığıyla sunucuyu bağlarsınız.
Ön koşullar
-
Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.
Azure Cloud Shell veya Azure CLI.
Bu hızlı başlangıçta Azure CLI komutlarını Azure Cloud Shell'de etkileşimli olarak çalıştırabilirsiniz. Komutları Cloud Shell'de çalıştırmak için bir kod bloğunun sağ üst köşesindeki CloudShell'i Aç'ı seçin. Kodu kopyalamak için Kopyala'yı seçin ve çalıştırmak için Cloud Shell'e yapıştırın. Cloud Shell'i Azure portalından da çalıştırabilirsiniz. Cloud Shell her zaman Azure CLI'nın en son sürümünü kullanır.
Alternatif olarak, komutları çalıştırmak için Azure CLI'yi yerel olarak yükleyebilirsiniz. Bu makaledeki adımlar için Azure CLI 2.0.4 veya sonraki bir sürümü gerekir. Yüklü sürümünüzü ve bağımlı kitaplıklarınızı görmek için az version komutunu çalıştırın ve yükseltmek için az upgrade komutunu çalıştırın. Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure'da oturum açın .
Kaynak grubu oluştur
az group create komutuyla bir kaynak grubu oluşturun. Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır.
Aşağıdaki örnek eastus konumunda rg-oracle adlı bir kaynak grubu oluşturur.
az group create --name rg-oracle --location eastus
Dekont
Bu hızlı başlangıç, Doğu ABD bölgesinde bir Standard_DS2_v2 SKU VM oluşturur. Bölgeye göre desteklenen SKU'ların listesini görüntülemek için az vm list-skus komutunu kullanın.
Sanal makine oluşturma
az vm create komutuyla bir sanal makine (VM) oluşturun .
Aşağıdaki örnek, vmoracle19c adlı bir VM oluşturur. Ayrıca, varsayılan anahtar konumunda mevcut olmayan SSH anahtarları da oluşturur. Belirli bir anahtar kümesini kullanmak için komutunu kullanarak seçeneğini kullanabilirsiniz --ssh-key-value
.
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
VM'yi oluşturduktan sonra Azure CLI aşağıdaki örneğe benzer bilgileri görüntüler. özelliğinin değerini publicIpAddress
not edin. Vm'ye erişmek için bu IP adresini kullanırsınız.
{
"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"
}
Oracle veri dosyaları için disk oluşturma
Az vm disk attach komutuyla Oracle veri dosyaları ve hızlı kurtarma alanı (FRA) için yeni bir disk oluşturup ekleyin .
Aşağıdaki örnek oradata01 adlı bir disk oluşturur.
az vm disk attach \
--name oradata01 --new \
--resource-group rg-oracle \
--size-gb 64 --sku StandardSSD_LRS \
--vm-name vmoracle19c
Bağlantı için bağlantı noktalarını açma
Bu görevde, VM'yi koruyan Azure ağ güvenlik grubunu (NSG) ayarlayarak veritabanı dinleyicisinin kullanması için bazı dış uç noktaları yapılandırmanız gerekir.
az network nsg create komutuyla VM için NSG oluşturun . Bu komut, vm'ye erişimi denetlemek için kurallar için vmoracle19cNSG NSG'yi oluşturur:
az network nsg create --resource-group rg-oracle --name vmoracle19cNSG
az network nsg rule create komutuyla bir NSG kuralı oluşturun . Bu komut, Oracle veritabanına uzaktan erişim için uç noktayı açmak için allow-oracle NSG kuralını oluşturur:
az network nsg rule create \ --resource-group rg-oracle \ --nsg-name vmoracle19cNSG \ --name allow-oracle \ --protocol tcp \ --priority 1001 \ --destination-port-range 1521
Oracle'a uzaktan erişim için uç noktayı açmak için ikinci bir NSG kuralı oluşturun. Bu komut allow-oracle-EM NSG kuralını oluşturur:
az network nsg rule create \ --resource-group rg-oracle \ --nsg-name vmoracle19cNSG \ --name allow-oracle-EM \ --protocol tcp \ --priority 1002 \ --destination-port-range 5502
Gerektiğinde az network public-ip show komutunu kullanarak VM'nizin genel IP adresini alın:
az network public-ip show \ --resource-group rg-oracle \ --name vmoracle19cPublicIP \ --query "ipAddress" \ --output tsv
VM ortamını hazırlama
VM ile bir SSH oturumu oluşturun.
<publicIPAddress>
bölümünü VM'nizin genel IP adresi değeriyle değiştirin, örneğin10.200.300.4
:ssh azureuser@<publicIPAddress>
Kök kullanıcıya geçin:
sudo su -
Oracle veri dosyalarını tutmak için biçimlendirmek istediğiniz en son oluşturulan disk cihazını bulun:
ls -alt /dev/sd*|head -1
Çıkış şu örneğe benzer:
brw-rw----. 1 root disk 8, 16 Dec 8 22:57 /dev/sdc
Kök kullanıcı olarak, cihazı biçimlendirmek için komutunu kullanın
parted
.İlk olarak bir disk etiketi oluşturun:
parted /dev/sdc mklabel gpt
Ardından, diskin tamamına yayılan bir birincil bölüm oluşturun:
parted -a optimal /dev/sdc mkpart primary 0GB 64GB
Son olarak, meta verilerini yazdırarak cihaz ayrıntılarını denetleyin:
parted /dev/sdc print
Çıkış şu örneğe benzer:
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
Cihaz bölümünde bir dosya sistemi oluşturun:
mkfs -t ext4 /dev/sdc1
Çıkış şu örneğe benzer:
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
Bağlama noktası oluşturma:
mkdir /u02
Diski bağlayın:
mount /dev/sdc1 /u02
Bağlama noktasındaki izinleri değiştirin:
chmod 777 /u02
Bağlamayı /etc/fstab dosyasına ekleyin:
echo "/dev/sdc1 /u02 ext4 defaults 0 0" >> /etc/fstab
Önemli
Bu komut, /etc/fstab dosyasını belirli bir UUID olmadan bağlar ve bu da diskin başarıyla yeniden başlatılmasını engelleyebilir. Diski yeniden başlatmayı denemeden önce ,etc/fstab girdisini bağlama noktası için bir UUID içerecek şekilde güncelleştirin.
/etc/hosts dosyasını genel IP adresi ve adres ana bilgisayar adıyla güncelleştirin.
<Public IP>
ve iki<VMname>
bölümünü gerçek değerlerinizi yansıtacak şekilde değiştirin:echo "<Public IP> <VMname>.eastus.cloudapp.azure.com <VMname>" >> /etc/hosts
VM'nin etki alanı adını /etc/hostname dosyasına ekleyin. Aşağıdaki komut, kaynak grubunun ve VM'nin eastus bölgesinde oluşturulduğunu varsayar:
sed -i 's/$/\.eastus\.cloudapp\.azure\.com &/' /etc/hostname
Güvenlik duvarı bağlantı noktalarını açın.
SELinux Market görüntüsünde varsayılan olarak etkinleştirildiğinden, güvenlik duvarını 1521 numaralı veritabanı dinleme bağlantı noktası ve Enterprise Manager Express bağlantı noktası 5502 için trafiğe açmamız gerekir. Aşağıdaki komutları kök kullanıcı olarak çalıştırın:
firewall-cmd --zone=public --add-port=1521/tcp --permanent firewall-cmd --zone=public --add-port=5502/tcp --permanent firewall-cmd --reload
Veritabanını oluşturma
Oracle yazılımı Market görüntüsünde zaten yüklüdür. Aşağıdaki gibi örnek bir veritabanı oluşturun.
Oracle kullanıcısına geçin:
sudo su - oracle
Veritabanı dinleyicisini başlatın:
lsnrctl start
Çıktı aşağıdaki örneğe benzer:
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
Oracle veri dosyaları için bir veri dizini oluşturun:
mkdir /u02/oradata
Veritabanı Oluşturma Yardımcısı'nı çalıştırın:
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
Veritabanının oluşturulması birkaç dakika sürer.
Çıktı aşağıdaki örneğe benzer:
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 değişkenlerini ayarlama:
Bağlanmadan önce ortam değişkenini
ORACLE_SID
ayarlamanız gerekir:export ORACLE_SID=oratest1
Aşağıdaki komutu kullanarak gelecekte oturum açmak için users .bashrc dosyasına değişkeni
oracle
de eklemenizORACLE_SID
gerekir:echo "export ORACLE_SID=oratest1" >> ~oracle/.bashrc
Veritabanı başlatma ve kapatmayı otomatikleştirme
Vm'yi yeniden başlattığınızda Oracle veritabanı varsayılan olarak otomatik olarak başlatılmaz. Oracle veritabanını otomatik olarak başlatacak şekilde ayarlamak için önce kök olarak oturum açın. Ardından, bazı sistem dosyalarını oluşturun ve güncelleştirin.
Kök kullanıcı olarak oturum açın:
sudo su -
/etc/oratab dosyasında otomatik başlangıç bayrağını
N
Y
olarak değiştirin:sed -i 's/:N/:Y/' /etc/oratab
/etc/init.d/dbora adlı bir dosya oluşturun ve dosyaya aşağıdaki bash komutunu ekleyin:
#!/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
Komutuyla
chmod
dosyalar üzerindeki izinleri değiştirin:chgrp dba /etc/init.d/dbora chmod 750 /etc/init.d/dbora
Başlatma ve kapatma için sembolik bağlantılar oluşturun:
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
Değişikliklerinizi test etmek için VM'yi yeniden başlatın:
reboot
Kaynakları temizleme
Azure'da ilk Oracle veritabanınızı incelemeyi tamamladıktan ve VM'ye artık gerek kalmadıktan sonra az group delete komutunu kullanarak kaynak grubunu, VM'yi ve tüm ilgili kaynakları kaldırabilirsiniz.
az group delete --name rg-oracle
Sonraki adımlar
- Oracle yedekleme stratejileriyle Azure'da veritabanınızı koruma
- Azure'da Oracle çözümlerini keşfetme
- Oracle Otomatik Depolama Yönetimi'ni yükleme ve yapılandırma