вторник, 21 апреля 2015 г.

Заполнение поля Media Management Settings в Enterprise Manager для архивирования Oracle через NetBackup

Если для настройки архивирования БД Oracle на ленту\с использованием Media Manager (NetBackup) используется Enterprise Manager, то поле Media Management Vendor Library Parameters (Availability - Backup Settings) следует заполнить следующим образом:

SBT_LIBRARY=/usr/openv/netbackup/bin/libobk.so64, ENV=(NB_ORA_SERV=master.domain.ru, NB_ORA_CLIENT=client.domain.ru)

Понятно, что master.domain.ru - мастер сервер вашей инсталяции NetBackup, client.domain.ru - сервер на которой установлен БД Oracle.

Если клиент NetBackup уже связан с oracle ( запущен oracle_link из /usr/openv/netbackup/bin/ ) и создана политика (обязательно тип Oracle - Application Backup - указан клиент), то после нажатия кнопки Test Tape Backup не должно выдаваться сообщений об ошибках, а в консоли управления NetBackup можно будет увидеть два выполненных задания с этого клиента - backup и restore.

четверг, 19 февраля 2015 г.

Ошибка "The requested lookup key was not found in any active activation context"

MS SQL 2000 (32 бит) на Win 2003 r2 (64 бит) + symantec netbackup (у меня - 7.5.0.6)
Решение есть по ссылке http://blogs.msdn.com/b/psssql/archive/2009/02/26/you-encounter-error-message-the-system-cannot-find-the-file-specified-when-attempting-to-perform-backups-using-sqlvdi.aspx.
 У меня:
  •  x86 библиотека  - версия 2000.85.1054.0, размер 119 296 байт
  • x64 библиотека - версия 2000.85.1054.0, размер 156 160 байт
 С x86 библиотекой после установки SP4 ( версия 2000.80.2039.0, размер 43 008 байт ) не заработало.
Перезагрузка не нужна.

Предварительное создание файлов БД при восстановлении ms sql 2000

При тестовых восстановлениях БД MS SQL 2000 через symantec netbackup получил несколько ошибок связанных с таймаутами:
  1. Created VDI object for SQL Server instance "instance". Connection timeout is "300" seconds.
  2. Client read timeout.
Обе ошибки были в принципе излечимы:
  1.  Установить VDITIMEOUTSECONDS в скрипте восстановления
  2. Установить нужный timeout в свойствах мастер сервера symantec netbackup.
Однако они не решали еще одной проблемы - восстановление идет очень долго. Причем большую часть времени занимает не запись данных из архива, а создание файлов БД и заполнение их нулями (zero initialization). Поскольку в sql 2000 нет возможности instant file initialization, то создание "пустышки" для 300 ГБт базы данных становилось оченььььь долгим делом. Ситуацию также усугубляло то, что разбалованный Windows 2008 R2, я в созданной виртуальной машине Windows 2003 не выровнял диски.
Существует однако простая замена instant file initialization на "педальном" приводе:
  1. Создаем пустые файлы для данных и логов нужного размера. Можно посмотреть текущие и сделать несколько больше (перед копированием данных они будут подрезаны в нужный размер). Я использовал для этого  fsutil file createnew filename length. Например: fsutil file createnew XXX_data.MDF 300000000000
  2. Запускаем задание восстановления с перемещением. Для symantec netbackup скрипт может выглядеть как то так
OPERATION RESTORE
OBJECTTYPE DATABASE
RESTORETYPE MOVE
DATABASE "XXX"
MOVE  "XXX_Data"
TO  "d:\DATA\XXX_data.MDF"
MOVE  "XXX_Log"
TO  "d:\DATA\XXX_Log.LDF"
#
# The following image is type: Full
NBIMAGE "srv-sql01.MSSQL7.SRV-SQL01.db.XXX.~.7.001of001.20150217180955..C"
SQLHOST "srv-stend12"
NBSERVER "SRV-BCK01"
BROWSECLIENT "srv-sql01"
MAXTRANSFERSIZE 6
BLOCKSIZE 7
RESTOREOPTION REPLACE
RECOVEREDSTATE NOTRECOVERED
NUMBUFS 2
ENDOPER TRUE

OPERATION RESTORE
OBJECTTYPE DATABASE
DUMPOPTION INCREMENTAL
RESTORETYPE MOVE
DATABASE "XXX"
# The following image is type: Full database differential
NBIMAGE "srv-sql01.MSSQL7.SRV-SQL01.inc.XXX.~.7.001of001.20150218180207..C"
SQLHOST "srv-stend12"
NBSERVER "SRV-BCK01"
BROWSECLIENT "srv-sql01"
MAXTRANSFERSIZE 6
BLOCKSIZE 7
RESTOREOPTION REPLACE
RECOVEREDSTATE RECOVERED
NUMBUFS 2
ENDOPER TRUE

 Где XXX_data.MDF, XXX_Log.LDF - созданные ранее файлы.

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