Buat Database Oracle di Azure VM
Berlaku untuk: ✔️ mesin virtual Linux
Artikel ini menjelaskan cara menggunakan Azure CLI untuk menyebarkan komputer virtual (VM) Azure dari gambar galeri marketplace Oracle untuk membuat database Oracle Database 19c. Setelah menyebarkan server, Anda menyambungkan server melalui SSH untuk mengonfigurasi database Oracle.
Prasyarat
-
Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.
Azure Cloud Shell atau Azure CLI.
Anda dapat menjalankan perintah Azure CLI dalam mulai cepat ini secara interaktif di Azure Cloud Shell. Untuk menjalankan perintah di Cloud Shell, pilih Buka Cloudshell di sudut kanan atas blok kode. Pilih Salin untuk menyalin kode, dan tempelkan ke Cloud Shell untuk menjalankannya. Anda juga dapat menjalankan Cloud Shell dari dalam portal Azure. Cloud Shell selalu menggunakan versi terbaru Azure CLI.
Atau, Anda dapat menginstal Azure CLI secara lokal untuk menjalankan perintah. Langkah-langkah dalam artikel ini memerlukan Azure CLI versi 2.0.4 atau yang lebih baru. Jalankan versi az untuk melihat versi dan pustaka dependen yang diinstal, dan jalankan peningkatan az untuk meningkatkan. Jika Anda menggunakan penginstalan lokal, masuk ke Azure dengan menggunakan perintah az login .
Buat grup sumber daya
Buat grup sumber daya dengan perintah az group create. Grup sumber daya Azure adalah kontainer logis tempat sumber daya Azure disebarkan dan dikelola.
Contoh berikut ini membuat grup sumber daya bernama rg-oracle di lokasi eastus.
az group create --name rg-oracle --location eastus
Catatan
Mulai cepat ini membuat VM SKU Standard_DS2_v2 di wilayah US Timur. Untuk melihat daftar SKU yang didukung menurut wilayah, gunakan perintah az vm list-skus .
Membuat komputer virtual
Buat komputer virtual (VM) dengan perintah az vm create .
Contoh berikut membuat VM bernama vmoracle19c. Ini juga membuat kunci SSH, jika belum ada di lokasi kunci default. Untuk menggunakan sekumpulan kunci tertentu, Anda dapat menggunakan --ssh-key-value
opsi dengan perintah .
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
Setelah Anda membuat VM, Azure CLI menampilkan informasi yang mirip dengan contoh berikut. Perhatikan nilai untuk publicIpAddress
properti . Anda menggunakan alamat IP ini untuk mengakses VM.
{
"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"
}
Membuat disk untuk file data Oracle
Buat dan lampirkan disk baru untuk file data Oracle dan area pemulihan cepat (FRA) dengan perintah az vm disk attach .
Contoh berikut membuat disk bernama oradata01.
az vm disk attach \
--name oradata01 --new \
--resource-group rg-oracle \
--size-gb 64 --sku StandardSSD_LRS \
--vm-name vmoracle19c
Buka port untuk konektivitas
Dalam tugas ini, Anda harus mengonfigurasi beberapa titik akhir eksternal untuk digunakan pendengar database dengan menyiapkan grup keamanan jaringan Azure (NSG) yang melindungi VM.
Buat NSG untuk VM dengan perintah az network nsg create . Perintah ini membuat NSG vmoracle19cNSG untuk aturan guna mengontrol akses ke VM:
az network nsg create --resource-group rg-oracle --name vmoracle19cNSG
Buat aturan NSG dengan perintah az network nsg rule create . Perintah ini membuat aturan NSG allow-oracle untuk membuka titik akhir untuk akses jarak jauh ke database Oracle:
az network nsg rule create \ --resource-group rg-oracle \ --nsg-name vmoracle19cNSG \ --name allow-oracle \ --protocol tcp \ --priority 1001 \ --destination-port-range 1521
Buat aturan NSG kedua untuk membuka titik akhir untuk akses jarak jauh ke Oracle. Perintah ini membuat aturan 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
Sesuai kebutuhan, gunakan perintah az network public-ip show untuk mendapatkan alamat IP publik VM Anda:
az network public-ip show \ --resource-group rg-oracle \ --name vmoracle19cPublicIP \ --query "ipAddress" \ --output tsv
Menyiapkan lingkungan VM
Buat sesi SSH dengan VM.
<publicIPAddress>
Ganti bagian dengan nilai alamat IP publik untuk VM Anda, seperti10.200.300.4
:ssh azureuser@<publicIPAddress>
Beralih ke pengguna root:
sudo su -
Temukan perangkat disk yang terakhir dibuat yang ingin Anda format untuk menyimpan file data Oracle:
ls -alt /dev/sd*|head -1
Outputnya mirip dengan contoh ini:
brw-rw----. 1 root disk 8, 16 Dec 8 22:57 /dev/sdc
Sebagai pengguna akar, gunakan
parted
perintah untuk memformat perangkat.Pertama, buat label disk:
parted /dev/sdc mklabel gpt
Selanjutnya, buat partisi utama yang mencakup seluruh disk:
parted -a optimal /dev/sdc mkpart primary 0GB 64GB
Terakhir, periksa detail perangkat dengan mencetak metadatanya:
parted /dev/sdc print
Outputnya mirip dengan contoh ini:
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
Buat sistem file pada partisi perangkat:
mkfs -t ext4 /dev/sdc1
Outputnya mirip dengan contoh ini:
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
Buat titik pemasangan:
mkdir /u02
Pasang disk:
mount /dev/sdc1 /u02
Ubah izin pada titik pemasangan:
chmod 777 /u02
Tambahkan pemasangan ke file /etc/fstab :
echo "/dev/sdc1 /u02 ext4 defaults 0 0" >> /etc/fstab
Penting
Perintah ini memasang file /etc/fstab tanpa UUID tertentu, yang dapat mencegah keberhasilan boot ulang disk. Sebelum Anda mencoba me-reboot disk, perbarui entri /etc/fstab untuk menyertakan UUID untuk titik pemasangan.
Perbarui file /etc/hosts dengan alamat IP publik dan nama host alamat.
<Public IP>
Ubah dan dua<VMname>
bagian untuk mencerminkan nilai aktual Anda:echo "<Public IP> <VMname>.eastus.cloudapp.azure.com <VMname>" >> /etc/hosts
Tambahkan nama domain VM ke file /etc/hostname . Perintah berikut mengasumsikan grup sumber daya dan VM dibuat di wilayah eastus :
sed -i 's/$/\.eastus\.cloudapp\.azure\.com &/' /etc/hostname
Buka port firewall.
Karena SELinux diaktifkan secara default pada gambar Marketplace, kita perlu membuka firewall ke lalu lintas untuk port mendengarkan database 1521, dan port Enterprise Manager Express 5502. Jalankan perintah berikut sebagai pengguna root:
firewall-cmd --zone=public --add-port=1521/tcp --permanent firewall-cmd --zone=public --add-port=5502/tcp --permanent firewall-cmd --reload
Buatlah databasenya
Perangkat lunak Oracle sudah diinstal pada gambar Marketplace. Buat sampel database sebagai berikut.
Beralih ke pengguna oracle:
sudo su - oracle
Mulai pendengar database:
lsnrctl start
Outputnya mirip dengan contoh berikut:
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
Buat direktori data untuk file data Oracle:
mkdir /u02/oradata
Jalankan Database Creation Assistance:
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
Dibutuhkan beberapa menit untuk membuat database.
Outputnya mirip dengan contoh berikut:
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.
Atur variabel Oracle:
Sebelum terhubung, Anda perlu mengatur variabel
ORACLE_SID
lingkungan :export ORACLE_SID=oratest1
Anda juga harus menambahkan
ORACLE_SID
variabel keoracle
file .bashrc pengguna untuk masuk di masa mendatang dengan menggunakan perintah berikut:echo "export ORACLE_SID=oratest1" >> ~oracle/.bashrc
Otomatiskan startup dan shutdown database
Database Oracle secara default tidak dimulai secara otomatis saat Anda menghidupkan ulang VM. Untuk menyiapkan database Oracle agar dimulai secara otomatis, pertama-tama masuk sebagai root. Lalu, buat dan perbarui beberapa file sistem.
Masuk sebagai pengguna root:
sudo su -
Ubah bendera startup otomatis dari
N
keY
dalam file /etc/oratab:sed -i 's/:N/:Y/' /etc/oratab
Buat file bernama /etc/init.d/dbora dan tambahkan perintah bash berikut ke file:
#!/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
Ubah izin pada file dengan
chmod
perintah :chgrp dba /etc/init.d/dbora chmod 750 /etc/init.d/dbora
Buat tautan simbolis untuk startup dan shutdown:
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
Untuk menguji perubahan Anda, hidupkan ulang VM:
reboot
Membersihkan sumber daya
Setelah Anda selesai menjelajahi database Oracle pertama Anda di Azure dan VM tidak lagi diperlukan, Anda dapat menggunakan perintah az group delete untuk menghapus grup sumber daya, VM, dan semua sumber daya terkait.
az group delete --name rg-oracle
Langkah berikutnya
- Melindungi database Anda di Azure dengan strategi pencadangan Oracle
- Menjelajahi solusi Oracle di Azure
- Menginstal dan mengonfigurasi Oracle Automated Storage Management
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk