NetBackup: Ошибка восстановления из резервной копии Базы данных SQL

01 февраль 2018, Четверг
4 498
0
1 1
Столкнулся с проблемой восстановления базы данных MS SQL средствами Veritas Netbackup SQL Client. Используя мастер восстановления базы данных, был автоматически сгенерирован скрипт восстановления:
NBIMAGE "xxx.MSSQL7.XXXXXX.db.XX_xXX_X.~.7.001of004.20171204211155..C"
SQLHOST "XXX.XXXXX.XX"
NBSERVER "XXX.XXXXX.XX"
STRIPES 004
BROWSECLIENT "XXXXXX.XXXXX.XX"
MAXTRANSFERSIZE 6
BLOCKSIZE 7
RECOVEREDSTATE RECOVERED
SQLCOMPRESSION TRUE
NUMBUFS 2
ENDOPER TRUE
Запуск этого скрипта проходил успешно, однако спустя некоторое время задания прерывалось ошибкой 2850, а точнее:
1/31/2018 01:50:58 - Info bpbrm (pid=18784) child done, status 41 
01/31/2018 01:50:58 - Info bpbrm (pid=18784) sending message to media manager: STOP RESTORE xxx.xxxxx.xx_1512411259 
01/31/2018 01:51:01 - Error bptm (pid=12412) The following files/folders were not restored: 
01/31/2018 01:51:01 - Error bptm (pid=12412) UTF - /xxx.MSSQL7.XXXXXXXXXX.db.XXXXX_xxxx.~.7.001of004.20171204211155..C 
01/31/2018 01:51:02 - Info bpbrm (pid=18784) media manager for backup id xxxx.xxxxx.xx_1512411259 exited with status 150: termination requested by administrator 
Поиск по коду ошибки 2850, подсказал, что задание автоматически завершается по причине истечении времени ожидание (TimeOut), а для исправления ситуации рекомендуется увеличить значение параметра Client read timeout в несколько раз, например, до 2 часов.
Изменения параметра Client read timeout, привело лишь к эффекту, что аварийное время завершения задания также увеличилось в 2 раза, и все с тем же неудачным статусом восстановления.

Однако, в базе знаний компании veritas также отыскалась интересная статья, что ситуация с завершением заданий резервного копирования по timeout, может возникать из-за, ожидания завершения разных паралелельных потоков восстановления (https://www.veritas.com/support/en_US/article.000030813):
When the restore of the first stripe finishes, it will wait until the second stripe finishes too.
During this time the drive and tape used by the first stripe are still reserved and not available to another job.
If the second restore stripe needs more time than the "Media mount timeout" setting to complete,
the restore operation will time out.
This may be caused by throughput differences during the backup on each stripe causing the subsequent stripe
images to be greatly different in size.

Стандартное решение, рекомендуемое при появлении подобной ошибки:
Increase the “ Media Mount Timeout” (Netbackup Administration Console -> Host Properties -> Master Servers-> Timeouts)
to a setting greater than the difference in restore times of each stripe.

Но в моем случае обе части резервной копии располагались на одной ленте. что по сути являлось смертельной блокировкой, обреченной на timeout, подошло только альтернативное решение:
modify the SQL restore script and set STRIPES to 1.
После изменения значение STRIPES до 1, операция восстановления сразу же запустила восстановление БД, без какого-либо долгого ожидания.
Комментарии:
Прокомментировать
При использовании материалов ссылка на сайт UserMan.ru обязательна.
Политика конфиденциальности
Пользовательское соглашение
UserMan.ru © 2017-2024
Соцсети: VK