Поделиться через


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

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

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

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

Восстановление согласованных с приложением данных сокращает время восстановления, поэтому можно быстро вернуться в состояние выполнения. Восстановление базы данных Oracle по-прежнему необходимо после восстановления. Вы упрощаете восстановление с помощью архивированных файлов журнала повторного входа 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.

  • Чтобы выполнить процесс резервного копирования и восстановления, необходимо сначала создать виртуальную машину Linux с установленным экземпляром Oracle Database 12.1 или более поздней версии.

  • Создайте экземпляр Базы данных Oracle, выполнив действия по созданию экземпляра Базы данных Oracle на виртуальной машине Azure.

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

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

  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 играют важную роль в восстановлении базы данных. Они хранят зафиксированные транзакции, необходимые для отката из моментального снимка базы данных, принятого в прошлом.

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

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

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

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

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

  • У вас есть экземпляр Oracle с именем oratest1 , который выполняется на виртуальной машине с именем vmoracle19c.
  • Вы используете стандартный скрипт Oracle со своей зависимостью от стандартного файла конфигурации Oracle oraenv /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 online обычно имеют большой размер (например, 1 024M, 4 096M или 8 192M). В активной среде базы данных журналы по-прежнему могут переключаться и архивировать каждые несколько секунд или минут. В менее активной базе данных они могут пройти несколько часов или дней до архивирования последних транзакций, что значительно уменьшит частоту архивации.

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

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

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

    Чтобы лучше понять, как развертывать экземпляры базы данных Oracle в 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. Базы данных помещаются в режим резервного копирования, который позволяет выполнять транзакционно согласованное оперативное резервное копирование, а Azure Backup создает моментальный снимок дисков виртуальной машины. Моментальный снимок — это полная копия хранилища, а не добавочный или скопированный моментальный снимок. Это эффективный носитель для восстановления базы данных.

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

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

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

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

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

Корпорация Майкрософт улучшила платформу, чтобы служба 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, работающих в ARCHIVELOG режиме. Предстрочные и постскрипники используют ALTER DATABASE BEGIN команды и END BACKUP команды для обеспечения согласованности приложений.

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

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

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

Роль базы данных (универсальное 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. Если при запуске GRANT инструкции возникает ошибкаORA-46953: The password file is not in the 12.2 format, выполните следующие действия, чтобы перенести файл orapwd в формат 12.2. Выполните эти действия для каждого экземпляра Базы данных Oracle на виртуальной машине.

    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 — элементы резервного копирования" в разделе "ЧИСЛО ЭЛЕМЕНТОВ РЕЗЕРВНОГО КОПИРОВАНИЯ" выберите число элементов резервного копирования.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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-XXXXXXXXXXXX, но у него нет DNS-адреса. Когда исходная виртуальная машина была удалена, его общедоступный IP-адрес и сетевой адаптер были сохранены. Следующие шаги повторно присоединяют их к новой виртуальной машине.

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

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

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

  3. Перейдите в сеть.

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

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

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

  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), записанном в восстановленном файле управления базой данных.

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

    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 для развертывания виртуальных машин