Резервное копирование и восстановление базы данных Oracle на виртуальной машине Linux в Azure с помощью Azure Backup

Область применения: ✔️ виртуальные машины Linux

В этой статье показано использование Azure Backup для создания моментальных снимков дисков виртуальной машины, которые включают файлы Базы данных Oracle и область быстрого восстановления Oracle. С помощью Azure Backup можно создавать полные моментальные снимки диска, которые подходят в качестве резервных копий и хранятся в хранилище Служб восстановления.

Azure Backup также обеспечивает согласованные с приложениями резервные копии, которые гарантируют, что для восстановления данных не требуется больше исправлений. Резервные копии, согласованные с приложениями, работают как с файловой системой, так и с базами данных Oracle Automatic Storage Management (ASM).

Восстановление данных, согласованных с приложениями, сокращает время восстановления, поэтому вы можете быстро вернуться в запущенное состояние. Восстановление Oracle Database по-прежнему необходимо после восстановления. Вы можете упростить восстановление с помощью архивных файлов журнала повтора Oracle, которые записываются и хранятся в отдельной общей папке Azure.

В этой статье рассматриваются следующие задачи:

  • Создайте резервную копию базы данных с согласованной с приложениями резервной копии.
  • Восстановление и восстановление базы данных из точки восстановления.
  • Восстановление виртуальной машины из точки восстановления.

Предварительные требования

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в статье Краткое руководство по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в разделе Запуск Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, приведены в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

Подготовка среды

Чтобы подготовить среду, выполните следующие действия.

  1. Подключитесь к виртуальной машине.
  2. Настройка хранилища Файлы Azure.
  3. Подготовьте базы данных.

Подключение к виртуальной машине

  1. Используйте следующую команду для создания сеанса Secure Shell (SSH) с виртуальной машиной. Замените <publicIpAddress> значением общедоступного адреса для виртуальной машины.

    ssh azureuser@<publicIpAddress>
    
  2. Переключитесь на роль пользователя root (привилегированного):

    sudo su -
    
  3. oracle Добавьте пользователя в файл /etc/sudoers:

    echo "oracle   ALL=(ALL)      NOPASSWD: ALL" >> /etc/sudoers
    

Настройка хранилища Файлы Azure для архивированных файлов журнала повтора Oracle

Архивные файлы журнала повтора экземпляра Oracle Database играют важную роль в восстановлении базы данных. В них хранятся зафиксированные транзакции, необходимые для отката из базы данных snapshot, выполненных в прошлом.

Когда база данных находится в ARCHIVELOG режиме , она архивирует содержимое файлов журнала повтора в сети, когда они становятся полными и переключаются. Вместе с резервной копией они необходимы для восстановления на определенный момент времени при потере базы данных.

Oracle предоставляет возможность архивировать файлы журнала повтора в разных расположениях. По крайней мере одно из этих назначений должно находиться в удаленном хранилище, поэтому оно отделяется от хранилища узла и защищено независимыми моментальными снимками. Файлы Azure соответствует этим требованиям.

Общая папка Azure — это хранилище, которое вы подключаете к виртуальной машине Linux или Windows в качестве обычного компонента файловой системы с помощью протокола SMB или сетевой файловой системы (NFS). Сведения о настройке общей папки Azure в Linux (с помощью протокола SMB 3.0) для использования в качестве хранилища архивных журналов см. в статье Подключение общей папки Azure SMB в Linux. После завершения настройки вернитесь к этому руководству и выполните все оставшиеся действия.

Подготовьте базы данных

В этой части процесса предполагается, что вы выполнили инструкции По созданию экземпляра базы данных Oracle на виртуальной машине Azure. В результате имеем следующее:

  • У вас есть экземпляр Oracle с именем oratest1 , работающий на виртуальной машине с именем vmoracle19c.
  • Вы используете стандартный скрипт Oracle oraenv с его зависимостью от стандартного файла конфигурации Oracle /etc/oratab для настройки переменных среды в сеансе оболочки.

Выполните следующие действия для каждой базы данных на виртуальной машине.

  1. Переключитесь на пользователя oracle.

     sudo su - oracle
    
  2. Задайте переменную ORACLE_SID среды, запустив oraenv скрипт. Вам будет предложено ввести ORACLE_SID имя.

    . oraenv
    
  3. Добавьте общую папку Azure в качестве другого назначения для файлов журнала архива базы данных.

    На этом шаге предполагается, что вы настроили и подключили общую папку Azure на виртуальной машине Linux. Для каждой базы данных, установленной на виртуальной машине, создайте подкаталог с именем идентификатора безопасности базы данных (SID).

    В этом примере имя точки подключения — , /backup а идентификатор безопасности — oratest1. Таким образом, вы создаете подкаталог /backup/oratest1 и меняете владельца на oracle пользователя. Замените /backup/SID имя точки подключения и идентификатор безопасности базы данных.

    sudo mkdir /backup/oratest1
    sudo chown oracle:oinstall /backup/oratest1
    
  4. Выполните подключение к базе данных:

    sqlplus / as sysdba
    
  5. Запустите базу данных, если она еще не запущена:

    SQL> startup
    
  6. Задайте первое место назначения журнала архива базы данных в каталоге общей папки, созданном ранее:

    SQL> alter system set log_archive_dest_1='LOCATION=/backup/oratest1' scope=both;
    
  7. Определите целевую точку восстановления (RPO) для базы данных.

    Чтобы обеспечить согласованность RPO, рассмотрите частоту архивации файлов журнала повтора в сети. Частота определяется следующими факторами:

    • Размер файлов журнала повтора в сети. По мере заполнения файла журнала в Сети он переключается и архивируется. Чем больше файл журнала в Интернете, тем дольше требуется для заполнения. Добавленное время уменьшает частоту создания архива.
    • Параметр ARCHIVE_LAG_TARGET параметра определяет максимально допустимое количество секунд, прежде чем текущий файл журнала в сети должен быть переключён и заархивирован.

    Чтобы свести к минимуму частоту переключения и архивации, наряду с сопутствующей операцией контрольной точки файлы журнала повтора Oracle в интернете обычно имеют большой размер (например, 1024 млн, 4096 млн или 8192 млн). В занятой среде базы данных журналы, скорее всего, будут переключаться и архивироваться каждые несколько секунд или минут. В менее активной базе данных они могут захархивироваться за несколько часов или дней до архивирования последних транзакций, что значительно снизит частоту архивации.

    Рекомендуется настроить так ARCHIVE_LAG_TARGET , чтобы обеспечить согласованность RPO. Значение 5 минут (300 секунд) является разумным значением для ARCHIVE_LAG_TARGET. Это гарантирует, что любая операция восстановления базы данных может быть восстановлена в течение 5 минут с момента сбоя.

    Чтобы задать ARCHIVE_LAG_TARGET, выполните следующую команду:

    SQL> alter system set archive_lag_target=300 scope=both;
    

    Чтобы лучше понять, как развертывать высокодоступные экземпляры Oracle Database в Azure с нулевым значением RPO, см. статью Эталонные архитектуры для Oracle Database.

  8. Убедитесь, что база данных находится в режиме журнала архивации, чтобы задействовать оперативное резервное копирование.

    Сначала проверьте состояние архива журнала:

    SQL> SELECT log_mode FROM v$database;
    
    LOG_MODE
    ------------
    NOARCHIVELOG
    

    Если он находится в NOARCHIVELOG режиме , выполните следующие команды:

    SQL> SHUTDOWN IMMEDIATE;
    SQL> STARTUP MOUNT;
    SQL> ALTER DATABASE ARCHIVELOG;
    SQL> ALTER DATABASE OPEN;
    SQL> ALTER SYSTEM SWITCH LOGFILE;
    
  9. Создайте таблицу для проверки операций резервного копирования и восстановления:

    SQL> create user scott identified by tiger quota 100M on users;
    SQL> grant create session, create table to scott;
    SQL> connect scott/tiger
    SQL> create table scott_table(col1 number, col2 varchar2(50));
    SQL> insert into scott_table VALUES(1,'Line 1');
    SQL> commit;
    SQL> quit
    

Резервное копирование данных с помощью Azure Backup

Служба Azure Backup предоставляет решения для резервного копирования данных и их восстановления из облака Microsoft Azure. Служба Azure Backup предоставляет независимые и изолированные резервные копии для защиты от случайного удаления исходных данных. Резервные копии хранятся в хранилище Служб восстановления со встроенным управлением точками восстановления, поэтому при необходимости можно выполнить восстановление.

В этом разделе вы используете Azure Backup для создания моментальных снимков запущенной виртуальной машины и экземпляров Oracle Database с согласованием приложений. Базы данных помещаются в режим резервного копирования, что позволяет выполнять транзакционно согласованное оперативное резервное копирование, в то время как Azure Backup занимает snapshot дисков виртуальной машины. Snapshot является полной копией хранилища, а не добавочным snapshot или snapshot копирования при записи. Это эффективное средство восстановления базы данных.

Преимущество использования Azure Backup моментальных снимков, согласованных с приложениями, заключается в том, что они быстро выполняются независимо от размера базы данных. Вы можете использовать snapshot для операций восстановления сразу после его выполнения, не дожидаясь его передачи в хранилище Служб восстановления.

Чтобы использовать Azure Backup для резервного копирования базы данных, выполните следующие действия.

  1. Общие сведения о платформе Azure Backup.
  2. Подготовка среды для создания резервной копии, согласованной с приложениями.
  3. Настройка резервного копирования, согласованного с приложениями.
  4. Запуск согласованного с приложениями резервного копирования виртуальной машины.

Общие сведения о платформе Azure Backup

Служба Azure Backup предоставляет платформу для обеспечения согласованности приложений при резервном копировании виртуальных машин Windows и Linux для различных приложений. Эта платформа включает вызов предварительного скрипта для замораживание приложений перед выполнением snapshot дисков. Он вызывает пост-скрипт для разморозки приложений после завершения snapshot.

Корпорация Майкрософт усовершенствовала платформу, чтобы служба Azure Backup предоставляла упакованные предварительные и пост-скрипты для выбранных приложений. Эти предварительные и пост-скрипты уже загружены в образ Linux, поэтому вам нечего устанавливать. Вы просто назовете приложение, а затем Azure Backup автоматически вызывает соответствующие скрипты. Корпорация Майкрософт управляет упакованными скриптами предварительного и последующего выполнения, поэтому вы можете быть уверены в их поддержке, владении и допустимости.

В настоящее время поддерживаемыми приложениями для расширенной платформы являются Oracle 12.x или более поздней версии и MySQL. Дополнительные сведения см. в разделе Матрица поддержки для управляемых резервных копий виртуальных машин Azure.

Вы можете создавать собственные скрипты для Azure Backup для использования с базами данных до версии 12.x. Примеры скриптов доступны на сайте GitHub.

При каждом резервном копировании расширенная платформа запускает скрипты предварительного и последующего выполнения на всех экземплярах Базы данных Oracle, установленных на виртуальной машине. Параметр configuration_path в файле workload.conf указывает на расположение файла Oracle /etc/oratab (или пользовательского файла, который следует синтаксису oratab). Дополнительные сведения см. в статье Настройка резервных копий, согласованных с приложениями.

Azure Backup выполняет скрипты предварительного и последующего выполнения для каждой базы данных, указанной в файле, на который configuration_path указывает. Исключениями являются строки, начинающиеся с # (рассматривается как комментарий) или +ASM (экземпляр Oracle ASM).

Расширенная платформа Azure Backup выполняет оперативное резервное копирование экземпляров Oracle Database, работающих в ARCHIVELOG режиме . Скрипты до и после используют ALTER DATABASE BEGIN команды и END BACKUP для обеспечения согласованности приложений.

Чтобы резервное копирование базы данных было согласовано, базы данных в NOARCHIVELOG режиме должны быть полностью выключены перед запуском snapshot.

Подготовка среды для создания резервной копии, согласованной с приложениями

Oracle Database использует разделение ролей заданий, чтобы обеспечить разделение обязанностей с использованием минимальных привилегий. Он связывает отдельные группы операционных систем (ОС) с отдельными административными ролями базы данных. Пользователи могут получить различные привилегии базы данных в зависимости от их членства в группах ОС.

Роль SYSBACKUP базы данных (универсальное имя OSBACKUPDBA) предоставляет ограниченные привилегии для выполнения операций резервного копирования в базе данных. Azure Backup требуется.

Во время установки Oracle рекомендуется использовать backupdba в качестве имени группы ОС для связи с ролью SYSBACKUP . Но вы можете использовать любое имя, поэтому сначала необходимо определить имя группы ОС, представляющей роль Oracle SYSBACKUP .

  1. Переключитесь на пользователя oracle.

    sudo su - oracle
    
  2. Задайте среду Oracle:

    export ORACLE_SID=oratest1
    export ORAENV_ASK=NO
    . oraenv
    
  3. Определите имя группы ОС, представляющей роль Oracle SYSBACKUP :

    grep "define SS_BKP" $ORACLE_HOME/rdbms/lib/config.c
    

    Результат должен быть аналогичным приведенному ниже:

    #define SS_BKP_GRP "backupdba"
    

    В выходных данных значение, заключенное в двойные кавычки, — это имя группы ОС Linux, в которой выполняется внешняя проверка подлинности роли Oracle SYSBACKUP . В нашем примере он выглядит следующим образом: backupdba. Запишите фактическое значение.

  4. Убедитесь, что группа ОС существует, выполнив следующую команду. Замените <group name> значением, возвращенным предыдущей командой (без кавычек).

    grep <group name> /etc/group
    

    Результат должен быть аналогичным приведенному ниже:

    backupdba:x:54324:oracle
    

    Важно!

    Если выходные данные не соответствуют значению группы ОС Oracle, полученному на шаге 3, используйте следующую команду, чтобы создать группу ОС, представляющую роль Oracle SYSBACKUP . Замените <group name> именем группы, полученной на шаге 3.

    sudo groupadd <group name>
    
  5. Создайте пользователя резервного копирования с именем azbackup , который принадлежит группе ОС, проверенной или созданной на предыдущих шагах. Замените <group name> именем проверенной группы. Пользователь также добавляется в группу, oinstall чтобы разрешить ему открывать диски ASM.

    sudo useradd -g <group name> -G oinstall azbackup
    
  6. Настройте проверку подлинности внешними средствами для нового пользователя, выполняющего резервное копирование.

    Пользователь azbackup резервного копирования должен иметь доступ к базе данных с помощью внешней проверки подлинности, чтобы пароль не оспаривался. Чтобы включить этот доступ, необходимо создать пользователя базы данных, который проходит внешнюю проверку подлинности с помощью azbackup. База данных использует префикс для имени пользователя, которое необходимо найти.

    Выполните следующие действия для каждой базы данных, установленной на виртуальной машине.

    1. Войдите в базу данных с помощью SQL Plus и проверка параметры по умолчанию для внешней проверки подлинности:

      sqlplus / as sysdba
      SQL> show parameter os_authent_prefix
      SQL> show parameter remote_os_authent
      

      Выходные данные должны выглядеть так, как в следующем примере, который отображается ops$ в виде префикса имени пользователя базы данных:

      NAME                                 TYPE        VALUE
      ------------------------------------ ----------- ------------------------------
      os_authent_prefix                    string      ops$
      remote_os_authent                    boolean     FALSE
      
    2. Создайте пользователя базы данных с именем ops$azbackup для внешней проверки подлинности azbackup для пользователя и предоставьте SYSBACKUP права:

      SQL> CREATE USER ops$azbackup IDENTIFIED EXTERNALLY;
      SQL> GRANT CREATE SESSION, ALTER SESSION, SYSBACKUP TO ops$azbackup;
      
  7. Если при выполнении инструкции появляется сообщение об ошибке ORA-46953: The password file is not in the 12.2 formatGRANT , выполните следующие действия, чтобы перенести файл orapwd в формат 12.2. Выполните эти действия для каждого экземпляра Oracle Database на виртуальной машине.

    1. Выход из SQL Plus.

    2. Переместите файл пароля со старым форматом в файл с новым названием.

    3. Выполните миграцию файла с паролем.

    4. Удалите старый файл.

    5. Выполните следующие команды:

      mv $ORACLE_HOME/dbs/orapworatest1 $ORACLE_HOME/dbs/orapworatest1.tmp
      orapwd file=$ORACLE_HOME/dbs/orapworatest1 input_file=$ORACLE_HOME/dbs/orapworatest1.tmp
      rm $ORACLE_HOME/dbs/orapworatest1.tmp
      
    6. Повторно запустите GRANT операцию в SQL Plus.

  8. Создайте хранимую процедуру для записи резервных копий сообщений в журнал оповещений базы данных. Используйте следующий код для каждой базы данных, установленной на виртуальной машине:

    sqlplus / as sysdba
    SQL> GRANT EXECUTE ON DBMS_SYSTEM TO SYSBACKUP;
    SQL> CREATE PROCEDURE sysbackup.azmessage(in_msg IN VARCHAR2)
    AS
      v_timestamp     VARCHAR2(32);
    BEGIN
      SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
      INTO v_timestamp FROM DUAL;
      DBMS_OUTPUT.PUT_LINE(v_timestamp || ' - ' || in_msg);
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.ALERT_FILE, in_msg);
    END azmessage;
    /
    SQL> SHOW ERRORS
    SQL> QUIT
    

Настройка резервного копирования, согласованного с приложениями

  1. Переключитесь на роль пользователя root (привилегированного):

    sudo su -
    
  2. Проверьте папку /etc/azure . Если его нет, создайте рабочий каталог для резервной копии, согласованной с приложениями:

    if [ ! -d "/etc/azure" ]; then
       mkdir /etc/azure
    fi
    
  3. Проверьте наличие файла workload.conf в папке. Если его нет, создайте его в каталоге /etc/azure и предоставьте ему следующее содержимое. Комментарии должны начинаться с [workload]. Если файл уже существует, просто измените поля, чтобы они соответствовали следующему содержимому. В противном случае следующая команда создает файл и заполняет его содержимое:

    echo "[workload]
    workload_name = oracle
    configuration_path = /etc/oratab
    timeout = 90
    linux_user = azbackup" > /etc/azure/workload.conf
    

    Файл workload.conf имеет следующий формат:

    • Параметр workload_name указывает тип рабочей нагрузки базы данных. В этом случае установка параметра в значение Oracle позволяет Azure Backup выполнять правильные предварительные и пост-скрипты (команды согласованности) для экземпляров Базы данных Oracle.
    • Параметр timeout указывает максимальное время (в секундах), в течение которых каждая база данных должна завершить моментальные снимки хранилища.
    • Параметр linux_user указывает учетную запись пользователя Linux, которую Azure Backup использует для выполнения операций замора базы данных. Вы создали этого пользователя azbackup ранее.
    • Параметр configuration_path указывает абсолютный путь к текстовому файлу на виртуальной машине. В каждой строке указан экземпляр базы данных, запущенный на виртуальной машине. Обычно это файл /etc/oratab , создаваемый Oracle во время установки базы данных, но это может быть любой файл с любым выбранным именем. Он должен соответствовать следующим правилам формата:
      • Файл является текстовым. Каждое поле разделено символом двоеточия (:).
      • Первое поле в каждой строке — это имя экземпляра ORACLE_SID .
      • Второе поле в каждой строке — это абсолютный путь для ORACLE_HOME этого экземпляра ORACLE_SID .
      • Весь текст после первых двух полей игнорируется.
      • Если строка начинается со знака фунта (#), вся строка игнорируется в качестве комментария.
      • Если первое поле имеет значение +ASM, обозначающее экземпляр Oracle ASM, оно игнорируется.

Запуск согласованного с приложениями резервного копирования виртуальной машины

  1. В портал Azure перейдите в группу ресурсов rg-oracle и выберите виртуальную машину vmoracle19c.

  2. На панели Резервное копирование :

    1. В разделе Хранилище служб восстановления выберите Создать.
    2. Для имени хранилища используйте myVault.
    3. В поле Группа ресурсов выберите rg-oracle.
    4. Для параметра Выбор политики резервного копирования используйте значение (new) DailyPolicy. Если вы хотите изменить частоту резервного копирования или диапазон хранения, выберите Создать политику .

    Снимок экрана: панель для настройки нового хранилища Служб восстановления.

  3. Выберите Включить резервное копирование.

    Процесс резервного копирования не запускается, пока не истечет запланированное время. Чтобы настроить немедленное резервное копирование, сделайте следующее:

  4. В области группы ресурсов выберите только что созданное хранилище Служб восстановления с именем myVault. Возможно, вам потребуется обновить страницу, чтобы увидеть ее.

  5. На панели myVault — элементы резервного копирования в разделе BACKUP ITEM COUNT (ЧИСЛО ЭЛЕМЕНТОВ РЕЗЕРВНОГО КОПИРОВАНИЯ) выберите значение счетчика элементов резервной копии.

    Снимок экрана, на котором показаны сведения о хранилище Служб восстановления.

  6. На панели Элементы резервного копирования (виртуальная машина Azure) нажмите кнопку с многоточием (...), а затем выберите Создать резервную копию.

    Снимок экрана: команда для резервного копирования хранилищ Служб восстановления.

  7. Примите значение по умолчанию Сохранить резервную копию Till и нажмите кнопку ОК. Дождитесь завершения процесса резервного копирования.

  8. Чтобы просмотреть состояние задания резервного копирования, выберите Задания резервного копирования.

    Снимок экрана: панель со списком заданий резервного копирования для хранилища Служб восстановления.

    Выберите задание резервного копирования, чтобы просмотреть сведения о его состоянии.

    Снимок экрана: подробные сведения о состоянии задания резервного копирования.

    Хотя выполнение snapshot занимает всего несколько секунд, передача его в хранилище может занять некоторое время. Задание резервного копирования не будет завершено до завершения передачи.

  9. Для резервного копирования, согласованного с приложениями, уделите все ошибки в файле журнала по адресу /var/log/azure/Microsoft.Azure.RecoveryServices.VMSnapshotLinux/extension.log.

Восстановление виртуальной машины

Восстановление всей виртуальной машины означает, что вы восстанавливаете виртуальную машину и подключенные к ней диски на новую виртуальную машину из выбранной точки восстановления. Это действие также восстанавливает все базы данных, которые выполняются на виртуальной машине. После этого необходимо восстановить каждую базу данных.

Чтобы восстановить всю виртуальную машину, выполните следующие действия.

  1. Остановите и удалите виртуальную машину.
  2. Восстановите виртуальную машину.
  3. Задайте общедоступный IP-адрес.
  4. Восстановите базу данных.

При восстановлении виртуальной машины есть два варианта main:

  • Восстановите виртуальную машину, из которой изначально были созданы резервные копии.
  • Восстановление (клонирование) новой виртуальной машины, не затрагивая виртуальную машину, с которой изначально были созданы резервные копии.

Первые шаги в этом упражнении (остановка, удаление и восстановление виртуальной машины) имитируют первый вариант использования.

Остановка и удаление виртуальной машины

  1. В портал Azure перейдите к виртуальной машине vmoracle19c и выберите Остановить.

  2. Когда виртуальная машина больше не работает, выберите Удалить , а затем — Да.

    Снимок экрана: сообщение с подтверждением удаления виртуальной машины.

Восстановление виртуальной машины

  1. Создайте учетную запись хранения для промежуточного хранения в портал Azure:

    1. В портал Azure выберите + Создать ресурс, а затем найдите и выберите Учетная запись хранения.

      Снимок экрана: демонстрируется создание группы ресурсов.

    2. В области Создание учетной записи хранения выполните следующие действия.

      1. В поле Группа ресурсов выберите существующую группу ресурсов rg-oracle.
      2. В поле Имя учетной записи хранения введите oracrestore.
      3. Убедитесь, что для параметра Расположение задан тот же регион, что и все другие ресурсы в группе ресурсов.
      4. Задайте для свойства Производительностьзначение Стандартный.
      5. В поле Тип учетной записи выберите StorageV2 (общего назначения версии 2) .
      6. В поле Репликация выберите Локально избыточное хранилище (LRS) .

      Снимок экрана: основные сведения о создании учетной записи хранения.

    3. Выберите Просмотр и создание, а затем нажмите кнопку Создать.

  2. В портал Azure найдите хранилище служб восстановления myVault и выберите его.

    Снимок экрана: выбор хранилища Служб восстановления.

  3. На панели Обзор выберите Элементы резервного копирования. Затем выберите Виртуальная машина Azure, которая должна иметь ненулевое число для ПАРАМЕТРА BACKUP ITEM COUNT.

    Снимок экрана: выбор элемента резервного копирования виртуальной машины для хранилища Служб восстановления.

  4. В области Элементы резервного копирования (виртуальная машина Azure) выберите виртуальную машину vmoracle19c .

    Снимок экрана: панель элементов резервного копирования виртуальных машин.

  5. На панели vmoracle19c выберите точку восстановления с типом согласованности Application Consistent. Нажмите кнопку с многоточием (...), а затем щелкните Восстановить виртуальную машину.

    Снимок экрана: команда для восстановления виртуальной машины.

  6. На панели Восстановление виртуальной машины выполните следующие действия.

    1. Щелкните Создать.

    2. В поле Тип восстановления выберите Создать виртуальную машину.

    3. В поле Имя виртуальной машины введите vmoracle19c.

    4. В поле Виртуальная сеть выберите vmoracle19cVNET.

      Подсеть автоматически заполняется в зависимости от выбранной виртуальной сети.

    5. Для промежуточного расположения для восстановления виртуальной машины требуется учетная запись хранения Azure в той же группе ресурсов и регионе. Вы можете выбрать учетную запись хранения или задачу восстановления, настроенную ранее.

    Снимок экрана: значения для восстановления виртуальной машины.

  7. Чтобы восстановить виртуальную машину, нажмите кнопку Восстановить .

  8. Чтобы просмотреть состояние процесса восстановления, выберите Задания, а затем — Задания резервного копирования.

    Снимок экрана: список заданий резервного копирования.

    Выберите операцию восстановления Выполняется , чтобы отобразить сведения о состоянии процесса восстановления.

    Снимок экрана: подробные сведения о состоянии процесса восстановления.

Задание общедоступного IP-адреса

После восстановления виртуальной машины необходимо переназначить исходный IP-адрес новой виртуальной машине.

  1. В портал Azure перейдите к виртуальной машине с именем vmoracle19c. Ему назначены новый общедоступный IP-адрес и сетевой адаптер, аналогичные vmoracle19c-nic-XXXXXXXXXXXXX, но у него нет DNS-адреса. После удаления исходной виртуальной машины ее общедоступный IP-адрес и сетевой адаптер были сохранены. Следующие действия повторно присоединяют их к новой виртуальной машине.

    Снимок экрана: список общедоступных IP-адресов.

  2. Остановите виртуальную машину.

    Снимок экрана: выбор для остановки виртуальной машины.

  3. Перейдите в раздел Сеть.

    Снимок экрана: сведения о сети.

  4. Выберите Подключить сетевой интерфейс. Выберите исходный сетевой адаптер vmoracle19cVMNic, с которым по-прежнему связан исходный общедоступный IP-адрес. Нажмите кнопку ОК.

    Снимок экрана: выбор типа ресурса и значений сетевого адаптера.

  5. Отсоедините сетевой адаптер, созданный с помощью операции восстановления виртуальной машины, так как он настроен в качестве основного интерфейса. Выберите Отключить сетевой интерфейс, выберите сетевую карту, похожую на vmoracle19c-nic-XXXXXXXXXXXXXXXX, а затем нажмите кнопку ОК.

    Снимок экрана: панель для отключения сетевого интерфейса.

    Теперь у повторно созданной виртуальной машины есть исходная сетевая карта, связанная с исходным IP-адресом и правилами группы безопасности сети.

    Снимок экрана: значение IP-адреса.

  6. Назад на панель Обзор и нажмите кнопку Пуск.

Восстановление базы данных

Чтобы восстановить базу данных после полного восстановления виртуальной машины, выполните приведенные далее действия.

  1. Повторно подключитесь к виртуальной машине:

    ssh azureuser@<publicIpAddress>
    
    

    После восстановления всей виртуальной машины важно восстановить базы данных на ней, выполнив следующие действия для каждой базы данных.

  2. Возможно, экземпляр запущен, так как при автозапуске была предпринята попытка запустить базу данных при запуске виртуальной машины. Однако база данных требует восстановления и, скорее всего, будет находиться только на этапе подключения. Выполните подготовительное завершение работы перед началом этапа подключения:

    sudo su - oracle
    sqlplus / as sysdba
    SQL> shutdown immediate
    SQL> startup mount
    
  3. Выполните восстановление базы данных.

    Важно указать USING BACKUP CONTROLFILE синтаксис, чтобы сообщить команде RECOVER AUTOMATIC DATABASE , что восстановление не должно останавливаться на номере изменения системы Oracle (SCN), записанном в восстановленном файле управления базой данных.

    Восстановленный файл управления базой данных был snapshot вместе с остальной частью базы данных. Имя SCN, хранящееся в нем, находится на момент времени snapshot. После этого могут быть записаны транзакции, и вы хотите выполнить восстановление до точки последней транзакции, зафиксированной в базе данных.

    SQL> recover automatic database using backup controlfile until cancel;
    
  4. После применения последнего доступного архивного файла журнала введите CANCEL для завершения восстановления.

    После успешного завершения восстановления появится сообщение Media recovery complete .

    Однако при использовании BACKUP CONTROLFILE предложения команда восстановления игнорирует файлы журнала в сети. Возможно, для завершения восстановления на определенный момент времени требуются изменения в текущем журнале повтора в сети. В этом случае могут появиться сообщения, аналогичные следующим примерам:

    SQL> recover automatic database until cancel using backup controlfile;
    ORA-00279: change 2172930 generated at 04/08/2021 12:27:06 needed for thread 1
    ORA-00289: suggestion :
    /u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc
    ORA-00280: change 2172930 for thread 1 is in sequence #13
    ORA-00278: log file
    '/u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc' no
    longer needed for this recovery
    ORA-00308: cannot open archived log
    '/u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc'
    ORA-27037: unable to obtain file status
    Linux-x86_64 Error: 2: No such file or directory
    Additional information: 7
    
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    

    Важно!

    Если текущий журнал повтора в сети потерян или поврежден и вы не можете его использовать, вы можете отменить восстановление на этом этапе.

    Чтобы исправить эту ситуацию, можно определить, какой журнал в сети не был архивирован, и указать полное имя файла в запросе.

  5. Откройте базу данных.

    Параметр RESETLOGS является обязательным, если команда RECOVER использует USING BACKUP CONTROLFILE параметр . RESETLOGS создает новую инкарнацию базы данных путем сброса журнала повторов обратно в начало, так как невозможно определить, какая часть предыдущей инкарнации базы данных была пропущена при восстановлении.

    SQL> alter database open resetlogs;
    
  6. Убедитесь, что содержимое базы данных было восстановлено:

    SQL> select * from scott.scott_table;
    

Резервное копирование и восстановление базы данных Oracle на виртуальной машине Linux в Azure завершено.

Дополнительные сведения о командах и концепциях Oracle см. в документации oracle, в том числе:

Удаление виртуальной машины

Вы можете удалить ставшие ненужными группу ресурсов, виртуальную машину и все связанные с ней ресурсы следующим образом:

  1. Отключите обратимое удаление резервных копий в хранилище:

    az backup vault backup-properties set --name myVault --resource-group rg-oracle --soft-delete-feature-state disable
    
  2. Остановите защиту виртуальной машины и удалите резервные копии:

    az backup protection disable --resource-group rg-oracle --vault-name myVault --container-name vmoracle19c --item-name vmoracle19c --delete-backup-data true --yes
    
  3. Удалите группу ресурсов, включая все ресурсы:

    az group delete --name rg-oracle
    

Дальнейшие действия

Создание высокодоступных виртуальных машин

Ознакомьтесь с примерами Azure CLI для развертывания виртуальных машин