Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ виртуальные машины Linux
В этой статье описывается, как использовать Azure CLI для развертывания виртуальной машины Azure из образа галереи Oracle Marketplace для создания базы данных Oracle Database 19c. После развертывания сервера подключите сервер через SSH для настройки базы данных Oracle.
Предпосылки
-
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
Azure Cloud Shell или Azure CLI.
В этом быстром запуске вы можете интерактивно выполнять команды Azure CLI в Azure Cloud Shell. Чтобы выполнить команды в Cloud Shell, выберите Open Cloudshell в правом верхнем углу блока кода. Выберите "Копировать ", чтобы скопировать код и вставить его в Cloud Shell, чтобы запустить его. Вы также можете запустить Cloud Shell из портала Azure. Cloud Shell всегда использует последнюю версию Azure CLI.
Кроме того, вы можете установить Azure CLI локально для выполнения команд. Для действий, описанных в этой статье, требуется Azure CLI версии 2.0.4 или более поздней. Запустите az version, чтобы просмотреть установленную версию и зависимые библиотеки, а затем запустите az upgrade для обновления. При использовании локальной установки войдите в Azure с помощью команды az login .
Создать группу ресурсов
Создайте группу ресурсов с помощью команды az group create. Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими.
В следующем примере создается группа ресурсов с именем rg-oracle в расположении eastus .
az group create --name rg-oracle --location eastus
Примечание.
В этом кратком руководстве создается виртуальная машина SKU типа Standard_DS2_v2 в Восточном регионе США. Чтобы просмотреть список поддерживаемых номеров SKU по регионам, используйте команду az vm list-skus .
Создать виртуальную машину
Создайте виртуальную машину с помощью команды az vm create .
В следующем примере создается виртуальная машина с именем vmoracle19c. Он также создает ключи SSH, если они еще не существуют в расположении ключа по умолчанию. Чтобы использовать определенный набор ключей, можно использовать --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
После создания виртуальной машины Azure CLI отображает сведения, аналогичные следующему примеру. Обратите внимание на значение свойства publicIpAddress
. Этот IP-адрес используется для доступа к виртуальной машине.
{
"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
Создайте и подключите новый диск для файлов данных Oracle и область быстрого восстановления (FRA) с помощью команды az vm disk attach .
В следующем примере создается диск с именем oradata01.
az vm disk attach \
--name oradata01 --new \
--resource-group rg-oracle \
--size-gb 64 --sku StandardSSD_LRS \
--vm-name vmoracle19c
Открытие портов для подключения
В этой задаче необходимо настроить некоторые внешние конечные точки для прослушивателя базы данных, настроив группу безопасности сети Azure (NSG), которая защищает ВМ.
Создайте группу безопасности сети (NSG) для виртуальной машины с помощью команды az network nsg create. Эта команда создает NSG vmoracle19cNSG для правил управления доступом к виртуальной машине.
az network nsg create --resource-group rg-oracle --name vmoracle19cNSG
Создайте правило NSG с помощью команды az network nsg rule create . Эта команда создает правило NSG allow-oracle , чтобы открыть конечную точку для удаленного доступа к базе данных Oracle:
az network nsg rule create \ --resource-group rg-oracle \ --nsg-name vmoracle19cNSG \ --name allow-oracle \ --protocol tcp \ --priority 1001 \ --destination-port-range 1521
Создайте второе правило NSG, чтобы открыть конечную точку для удаленного доступа к Oracle. Эта команда создает правило 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
Создайте правило NSG с помощью команды az network nsg rule create . Эта команда создает правило NSG allow-ssh , чтобы открыть конечную точку для удаленного доступа через SSH:
az network nsg rule create \ --resource-group rg-oracle \ --nsg-name vmoracle19cNSG \ --name allow-ssh \ --protocol tcp \ --priority 1001 \ --destination-port-range 22
По мере необходимости используйте команду az network public-ip show , чтобы получить общедоступный IP-адрес виртуальной машины:
az network public-ip show \ --resource-group rg-oracle \ --name vmoracle19cPublicIP \ --query "ipAddress" \ --output tsv
Подготовка среды виртуальной машины
Создайте сеанс SSH с виртуальной машиной. Замените
<publicIPAddress>
часть значением общедоступного IP-адреса для виртуальной машины, например10.200.300.4
:ssh azureuser@<publicIPAddress>
Переключитесь на корневого пользователя:
sudo su -
Найдите последнее созданное дисковое устройство, которое вы хотите отформатировать для хранения файлов данных Oracle:
ls -alt /dev/sd*|head -1
Выходные данные похожи на этот пример:
brw-rw----. 1 root disk 8, 16 Dec 8 22:57 /dev/sdc
В качестве корневого пользователя используйте
parted
команду для форматирования устройства.Сначала создайте метку диска:
parted /dev/sdc mklabel gpt
Затем создайте основную секцию, которая охватывает весь диск:
parted -a optimal /dev/sdc mkpart primary 0GB 64GB
Наконец, проверьте сведения об устройстве, распечатав его метаданные:
parted /dev/sdc print
Выходные данные похожи на этот пример:
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
Создайте файловую систему в разделе устройства:
mkfs -t ext4 /dev/sdc1
Выходные данные похожи на этот пример:
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
Создайте точку подключения:
mkdir /u02
Подключите диск:
mount /dev/sdc1 /u02
Изменение разрешений на точке подключения:
chmod 777 /u02
Добавьте подключение в файл /etc/fstab :
echo "/dev/sdc1 /u02 ext4 defaults 0 0" >> /etc/fstab
Это важно
Эта команда подключает файл /etc/fstab без определенного идентификатора UUID, что может предотвратить успешную перезагрузку диска. Перед перезагрузкой диска обновите запись /etc/fstab, чтобы включить идентификатор UUID для точки подключения.
Обновите файл /etc/hosts с общедоступным IP-адресом и именем узла адреса. Измените
<Public IP>
и две части<VMname>
, чтобы отразить фактические значения.echo "<Public IP> <VMname>.eastus.cloudapp.azure.com <VMname>" >> /etc/hosts
Добавьте доменное имя виртуальной машины в файл /etc/hostname . Следующая команда предполагает, что группа ресурсов и виртуальная машина создаются в регионе eastus :
sed -i 's/$/\.eastus\.cloudapp\.azure\.com &/' /etc/hostname
Откройте порты брандмауэра.
Поскольку SELinux включен по умолчанию на образе Marketplace, необходимо открыть брандмауэр для трафика к базе данных, слушающей порт 1521, и к Enterprise Manager Express, слушающему порт 5502. Выполните следующие команды в качестве корневого пользователя:
firewall-cmd --zone=public --add-port=1521/tcp --permanent firewall-cmd --zone=public --add-port=5502/tcp --permanent firewall-cmd --reload
Создание базы данных
Программное обеспечение Oracle уже установлено на образе Marketplace. Создайте пример базы данных следующим образом.
Переключитесь на пользователя oracle :
sudo su - oracle
Запустите прослушиватель базы данных:
lsnrctl start
Результат аналогичен следующему примеру:
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:
mkdir /u02/oradata
Запустите помощник по созданию базы данных:
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
Создание базы данных занимает несколько минут.
Результат аналогичен следующему примеру:
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:
Перед подключением необходимо задать переменную
ORACLE_SID
среды:export ORACLE_SID=oratest1
Вы также должны добавить переменную
ORACLE_SID
в файл пользователейoracle
.bashrc для будущих входов в систему, выполнив следующую команду:echo "export ORACLE_SID=oratest1" >> ~oracle/.bashrc
Автоматизация запуска и завершения работы базы данных
База данных Oracle по умолчанию не запускается автоматически при перезапуске виртуальной машины. Чтобы настроить базу данных Oracle для автоматического запуска, сначала войдите в систему как пользователь root. Затем создайте и обновите некоторые системные файлы.
Войдите в качестве корневого пользователя:
sudo su -
Измените флаг автоматического запуска с
N
наY
в файле /etc/oratab.sed -i 's/:N/:Y/' /etc/oratab
Создайте файл с именем /etc/init.d/dbora и добавьте в файл следующую команду 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
Измените разрешения на файлы с помощью
chmod
команды:chgrp dba /etc/init.d/dbora chmod 750 /etc/init.d/dbora
Создание символьных ссылок для запуска и завершения работы:
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
Чтобы проверить изменения, перезапустите виртуальную машину:
reboot
Очистка ресурсов
После завершения ознакомления с первой базой данных Oracle на Azure, когда виртуальная машина больше не нужна, вы можете использовать команду az group delete для удаления группы ресурсов, виртуальной машины и всех связанных ресурсов.
az group delete --name rg-oracle
Дальнейшие действия
- Защита базы данных в Azure с помощью стратегий резервного копирования Oracle
- Изучение решений Oracle в Azure
- Установка и настройка управления автоматизированным хранилищем Oracle