18 февраля 2011

Бэкап компонент EPM 11.1.2

Следуя рекомендациям Oracle, настроим бэкап следующего:
- Директории с конфигурациями продуктов EPM
%Hyperion_Home%\user_projects\epmsystem1\config
- Директорию WebLogic Domain
%Hyperion_Home%\user_projects\domains\EPMSystem
- Директорию контента LCM
%Hyperion_Home%\user_projects\epmsystem1\import_export
- Веток реестра с параметрами EPM
- Директории с настройками и данными приложений

Последний пункт обычно автоматизируют отдельно, о чем написано:
- Здесь про данные из баз приложений Essbase.
- Здесь про формы Planning.
- Некоторые дополнения напишу позже.
Поэтому в скрипте ниже эти моменты пропустим.

Итак, с целью максимальной автоматизации делаем следующее:
- Создаем папочку под бэкапы EPM. У меня это d:\BACKUP\EPM. Структура такова:
- Ложим туда такой bat-файл:

rem Batch 7zipped backup script by Antun Kulkov, 2011
@echo off
set year=%date:~6%
set month=%date:~3,2%
set day=%date:~0,2%
set hour=%time:~0,2%
if "%hour:~0,1%"==" " set hour=0%time:~1,1%
set minute=%time:~3,2%
set tdate=%year%-%month%-%day%-%hour%%minute%
set DOMAIN_HOME=C:\Hyperion\user_projects
set BACKUP_HOME=d:\BACKUP\EPM
set ZIP_HOME="c:\Program Files\7-Zip"
@echo on
rem Config Backup
%ZIP_HOME%\7za.exe a -t7z %BACKUP_HOME%\config\config-%tdate%.7z %DOMAIN_HOME%\epmsystem1\config -m0=BCJ -m1=LZMA:d=21 -mx=9 -ms -mmt > %BACKUP_HOME%\config\config-%tdate%.log

rem WebLogic Domain Dir Backup
rem call "%DOMAIN_HOME%\domains\EPMSystem\bin\stopWebLogic.cmd" %*
%ZIP_HOME%\7za.exe a -t7z %BACKUP_HOME%\weblogic_domain\wldomain-%tdate%.7z %DOMAIN_HOME%\domains\EPMSystem -m0=BCJ -m1=LZMA:d=21 -mx=9 -ms -mmt > %BACKUP_HOME%\weblogic_domain\wldomain-%tdate%.log
rem call "%DOMAIN_HOME%\domains\EPMSystem\bin\startWebLogic.cmd" %*

rem Lifecycle Management content Backup
%ZIP_HOME%\7za.exe a -t7z %BACKUP_HOME%\LCM_impexp\lcm-%tdate%.7z %DOMAIN_HOME%\epmsystem1\import_export -m0=BCJ -m1=LZMA:d=21 -mx=9 -ms -mmt > %BACKUP_HOME%\LCM_impexp\lcm-%tdate%.log

rem Registry Backup
set rkey_hklm="HKEY_LOCAL_MACHINE"
set rkey_osenv="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
DEL %BACKUP_HOME%\registry\*.reg
REG EXPORT %rkey_hklm% %BACKUP_HOME%\registry\HKLMreg-%tdate%.reg
REG EXPORT %rkey_osenv% %BACKUP_HOME%\registry\OSEnv-%tdate%.reg
%ZIP_HOME%\7za.exe a -t7z %BACKUP_HOME%\registry\reg-%tdate%.7z %BACKUP_HOME%\registry\*.reg -m0=BCJ -m1=LZMA:d=21 -mx=9 -ms -mmt > %BACKUP_HOME%\registry\reg-%tdate%.log
DEL %BACKUP_HOME%\registry\*.reg

rem Finished!

Все достаточно прозрачно:
- Сначала задаем нужные переменные для дат/времени и директорий DOMAIN_HOME (она = %Hyperion_Home%\user_projects\), BACKUP_HOME (собственно куда класть бэкапы) и ZIP_HOME (папка с архиватором; у меня 7-zip).
- Затем бэкапим то, что я описал в самом начале статьи.
- Отдельно про WebLogic Domain. Рекомендуют останавливать, но можно и так)) Поэтому я закомментил его остановку и старт. Вообще рекомендуют полную остановку EPM, но у меня разброс филиалов в 7 часовых поясов, что не позволяет выводить систему из рабочего состояния.
- Отдельно про реестр. Переменная rkey_hklm – это ветка реестра HKLM, где, в том числе, лежат параметры EPM. Здесь можно выбрать и конкретную ветку Hyperion Solutions, но я решил бэкапить все. А rkey_osenv – ветка с переменными окружения Windows. Порядок работы такой: выгружаем из реестра в два файла, бэкапим в архив и прибираемся, удаляя файлы выгрузок.

Ну, и добавляем наш волшебный файлик в Task Scheduler по расписанию. Enjoy!

2 комментария:

  1. Антон, а есть проверенный на практике чеклист холодного/горячего бекапов (не только настроек)? Необязательно для 11.1.2, можно и версии пониже.

    ОтветитьУдалить
  2. Роман, поясни пожалуйста, что ты понимаешь под "Чеклистом". Если это список того, что нужно бэкапить, то Оракл пишет тут: http://download.oracle.com/docs/cd/E17236_01/epm.1112/epm_backup_recovery/frameset.htm?launch.html
    В данном посте я описал как сделать вот эту часть: http://download.oracle.com/docs/cd/E17236_01/epm.1112/epm_backup_recovery/frameset.htm?ch02s03.html

    ОтветитьУдалить