Перейти к основному содержимому

Восстановление резервной копии

Внимание!

:title: Экспериментальная возможность

Команда copywala-ob restore <tenant name> <new tenant name> утилиты Copywala OB является экспериментальной возможностью.

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

примечание

Исполнять сценарий необходимо от имени пользователя pbr.

Описание сценария​

Команда copywala-ob restore <tenant name> <new tenant name> восстанавливает резервную копию указанного тенанта OceanBase Database в тенант с новым именем. Восстановление выполняется из хранилища по параметрам backup_destination_uri и logs_destination_uri из конфигурационного файла copywala-ob.yaml с использованием выделенного пула ресурсов из параметра restore_policy.with_statement. Ход восстановления отслеживается по служебным таблицам OceanBase Database и выводится в лог.

При указании параметра --until-scn восстановление выполняется до указанной точки времени (значение SCN, полученное при создании РК).

Предусловие​

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

  • создана резервная копия тенанта, который будет восстанавливаться (сценарий );

  • агент copywala-ob инициализирован (сценарий );

  • в конфигурационном файле copywala-ob.yaml настроены параметры:

    • target_db – учетные данные для подключения к OceanBase Database;
    • backup_destination_uri – путь до хранилища, в котором размещена резервная копия, параметр обязателен для команды;
    • s3_backup_server – параметры доступа к хранилищу;
    • restore_policy.with_statement – выделенный пул ресурсов, используемый при восстановлении.

Учитывайте следующее:

Параметр logs_destination_uri опционален: при его отсутствии для архива логов используется backup_destination_uri (о чем выводится сообщение в лог).

Последовательность выполнения​

Шаги сценария:

  1. Убедитесь, что настройки подключения к целевой базе данных OceanBase Database (секция target_db) и путь в хранилище, в котором размещена резервная копия (backup_destination_uri), указанные в конфигурационном файле copywala-ob.yaml, являются корректными.

  2. Выполните восстановление резервной копии через CLI компонента Copywala OB командой copywala-ob restore <tenant name> <new tenant name>. В процессе выполнения команда:

    • подключается к хранилищу резервной копии и архива логов (параметры backup_destination_uri и logs_destination_uri);
    • создает новый тенант с указанным именем и запускает восстановление резервной копии с использованием выделенного пула ресурсов из параметра restore_policy.with_statement;
    • отслеживает ход восстановления по служебным таблицам OceanBase Database и выводит прогресс в лог;
    • по завершении проверяет результат восстановления и выводит сообщение о его успешном выполнении в лог.

Для восстановления на точку времени укажите значение SCN (min restore SCN) из лога создания РК, добавив к команде флаг --until-scn:

copywala-ob restore <tenant name> <new tenant name> --until-scn <scn>

Результат​

Процесс выполнения команды выводится в лог.

Исключительные сценарии​

  • Не удалось установить подключение к целевой базе данных или хранилищу.
  • Не задан backup_destination_uri в конфигурационном файле.
  • Не задан restore_policy.with_statement (не выделен пул ресурсов).
  • Агент не инициализирован (сообщение failed to load agent-id).