Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ виртуальные машины Linux
В этой статье описывается, как использовать Azure CLI для развертывания виртуальной машины Azure из образа галереи Oracle Marketplace для создания базы данных Oracle Database 19c. После развертывания сервера подключите сервер через SSH для настройки базы данных Oracle.
Предпосылки
-
Если у вас нет аккаунта 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