Очень интересное и простое решение, которое можно использовать, например на время бэкапа или обновления метаданных (через ODI/batch).
В первом случае [бэкап] обычно используют MaxL скрипт, который принудительно прерывает операции в Essbase и производит выгрузку данных. При этом пользователь обычно может войти в приложение, но получит ошибку при открытии формы, поскольку Essbase находится в этот момент в режиме обслуживания. Не очень красиво, конечно. Да, и пользователь начнет писать гневные письма.
Во втором случае [обновления справочников/измерений в приложении Planning] желательно пользователей до завершения деплоя вообще не пускать в приложение.
Таким образом, очень удобно поставить в расписание перед бэкапом, обновлением и т.п. задачу перевода приложения в режим обслуживания с доступом только администраторам, а по окончании этих работ - обратно дать доступ пользователям.
Метод изменения режима обслуживания приложения Planning через batch-файл описан по этой ссылке.
Блог посвящен большей частью информационным системам класса BPM/CPM. В основном - продуктам линейки Oracle (Hyperion) EPM System. Здесь описываются важнейшие моменты, интересные how-to, hints, tips & tricks.
Показаны сообщения с ярлыком Backup. Показать все сообщения
Показаны сообщения с ярлыком Backup. Показать все сообщения
11 марта 2011
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-файл:
Все достаточно прозрачно:
- Сначала задаем нужные переменные для дат/времени и директорий 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!
- Директории с конфигурациями продуктов 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!
14 января 2009
Backup. Формы в Planning.
когда я настраивал резервное копирование, то посчитал, что метаданные из оракла будет бекапить скрипт бекапа базы данных.
Но буквально вчера девушка случайно затерла очень сложную форму и попросила меня ее восстановить. И тут я понял всю глубину моей ошибки. Мы просто посчитали время на откат ее изменений и поняли что проще заново построить эту форму.
В результате сегодня похлебывая матэ набросал скриптец для резервного копирования форм.
Но буквально вчера девушка случайно затерла очень сложную форму и попросила меня ее восстановить. И тут я понял всю глубину моей ошибки. Мы просто посчитали время на откат ее изменений и поняли что проще заново построить эту форму.
В результате сегодня похлебывая матэ набросал скриптец для резервного копирования форм.
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 folder=prodohp_%year%%month%%day%%hour%%minute%
mkdir %folder%
cd %folder%
call %HYPERION_HOME%\Planning\bin\FormDefUtil.cmd export -all server user password application
zip -r -m E:\Forms_Backups\%folder%.zip D:\%folder%
cd ..
rmdir %folder%
24 июня 2008
Backup
А как же без того, чтобы потерять данные?:-)
Как и во всех проектах, где я принимал участие, бекапы начинали делаться только тогда, когда один-два раза данные исчезают. Вот и сейчас 5 гигов кануло:-) Но поводов для уныния особо нет - на то она и опытная эксплуатация. Главное, что родился скрипт на MAXL:
P.S. Логично, в принципе, заменить XCOPY на gzip - время работы скрипта не сильно увеличивается, а вот бекапы занимают раз в 20 меньше места.
Как и во всех проектах, где я принимал участие, бекапы начинали делаться только тогда, когда один-два раза данные исчезают. Вот и сейчас 5 гигов кануло:-) Но поводов для уныния особо нет - на то она и опытная эксплуатация. Главное, что родился скрипт на MAXL:
login your_login your_password on your_essbase_host;Особая благодарность Максиму Кудряшову за проделанную работу.
set timestamp on;
alter application $1 disable commands;
alter system kill request on application $1;
alter system logout session on application $1;
alter database $1.Plan1 unlock all objects;
alter database $1.Plan2 unlock all objects;
drop lock on application $1;
alter system kill request on application $1;
alter database $1.Plan1 begin archive to file "tmp1.txt";
alter database $1.Plan2 begin archive to file "tmp2.txt";
shell XCOPY D:\\Hyperion\\AnalyticServices\\app\\$1 E:\\Essbase_Backups\\$1_%date:~0%_%time:~0,2%.%time:~3,2% /e /c /i /h /k /y;
alter database $1.Plan1 end archive;
alter database $1.Plan2 end archive;
alter application $1 enable commands;
logout;
exit;
P.S. Логично, в принципе, заменить XCOPY на gzip - время работы скрипта не сильно увеличивается, а вот бекапы занимают раз в 20 меньше места.
Подписаться на:
Сообщения (Atom)