среда, 9 февраля 2011 г.

Импорт части данных из старого бекапа

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

Итак, приступим...
  1. На тестовом окружении/приложении (оно ведь у вас есть? :) надо полностью восстановить приложение из бекапа – Restore Database в EAS

  2. Повторить изменения структуры приложения, приводящие его к текущему состоянию

  3. Выгрузить в текстовом виде без столбцов (т.н. free-form) необходимый блок данных, например так:

  4. SET DATAEXPORTOPTIONS {
    DataExportLevel ALL;
    DataExportColFormat OFF;
    };
    FIX (
    /* Scenario */ "Budget",
    /* Version  */ "Version 1"
    )
    DATAEXPORT "File" " " "exp.budget.v1.txt" "#Mi";
    ENDFIX;

  5. Экспорт осуществляется в папку \Hyperion\products\Essbase\EssbaseServer\app\ – если текущее приложение находится не на одном сервере с тестовым, то необходимо перенести экспортированные файлы в аналогичную папку боевого на боевом сервере

  6. Загрузить данные в нужный куб текущего приложения в EAS с помощью Load Data... (напрямую, без использования rule-файлов). 

  7. Повторить для всех кубов приложения
Альтернативный способ, подсказанный Михаилом Легким и Евгением Расюком – на тестовом приложении очистить все данные кроме нужных, сделать выгрузку оставшихся данных куба через Export... в EAS; загрузка аналогична пункту 5. Полное описание процесса см. в Database Administration Guide.

Подробности:
Экспорт данных – DATAEXPORT
Импорт бинарных данных – DATAIMPORTBIN
Тонкая настройка экспорта данных – DATAEXPORTOPTIONS
Отмена проверки временной метки при импорте – DATAIMPORTIGNORETIMESTAMP

Комментариев нет:

Отправить комментарий