27 Февраль 2012

Копирование созданных в CalcMngr правил без LCM


      В продолжение поста о копировании приложения Planning, использующего EPMA 11.1.2.0 и Calculation Manager (далее – CalcMngr), опишу как можно скопировать созданные в CalcMngr правила из одного приложения Planning в другое, поскольку LCM в релизе 11.1.2.0 эту задачу не выполняет: 
  1. Выгрузить правила (а если используются Rulesets, то работать далее с ними) существующего приложения в CalcMngr. Для этого выделить все Rules (Rulesets) в исходном приложении, затем File Export.
  2. Исправить в полученном XML-файле с помощью Notepad++ все значения с именем старого приложения на имя нового приложения Planning по маскам:

    property name="application">староеИмя
    на property name="application">новоеИмя
    property name="scope">староеИмя.имяКуба
    на property name="scope">новоеИмя.имяКуба

    для Rulesets добавится еще одна маска замены
    property name="launch_application">староеИмя
    на property name="launch_application">новоеИмя

  3. (опционально) С именами кубов поступить аналогично. Маски просты и доступны в XML.
  4. Импортировать обновленные по пп. 2-3 правила. Для этого в CalcMngr перейти File Import. В опциях операции лучше установить параметры: Error out for duplicates и Update Location Details (выбрать целевое приложение Planning и его куб).
  5. Деплоить эти правила (наборы правил). Переменные (и правила в случае Rulesets) уже будут импортированы.
  6. Проверить наличие всех необходимых переменных для правил, сравнив с исходным приложением Planning.В случае необходимости скопировать используемые в правилах переменные по инструкции вендора. Чтобы ускорить этот процесс, можно выделить все необходимые переменные Ctrl+Left Click, Right Click - Copy, а затем вставить их в целевое приложение и сохранить.

26 Февраль 2012

Деплой приложения Planning в EPMA 11.1.2.0

В EPMA 11.1.2.0 есть такой баг в отношении приложений Planning: Невозможно задеплоить/передеплоить приложение Planning после добавления атрибутивного измерения.
Причины проблемы описаны в Deploy Aborts When Deploying Planning Attribute Dimension (1118393.1).

В моем случае было необходимо сделать копию приложения Planning на EPMA, в котором есть такие измерения, на том же инстансе. Порядок решения проблемы:
  1. Скопировать приложение Planning в Application Library (DuplicateAs New Appliction).
  2. Создать новый датасорс в Application Library (Tools Manage Planning Data Source).
  3. С помощью EPM Architect File Generator выгрузить метаданные из существующего (оригинального) приложения.
  4. Удалить привязанные к элементам направлений UDA ссылки на HSP_UDF.  Для этого сделать копию файла из п.3 и с помощью Notepad++ заменой удалить все упоминания HSP_UDF, сохранив файл в UTF-8.
  5. Загрузить в новое приложение метаданные (File Import Dimensions) из файла по п.4. В профайле импорта смело устанавливаем Merge (тип обновления) и опцию Remove Target Value for Missing Source Properties для НЕатрубутивных измерений.
  6. Удалить в новом приложении проблемное атрибутивное измерение. Ассоциации с другими измерениями удаляться автоматически.
  7. Сделать деплой приложения и рефреш Application Library.
  8. Накатить метаданные оригинального приложения Planning аналогично п.5, используя оригинальный файл метаданных из п.3.
  9. Сделать деплой приложения и рефреш Application Library.
  10. С помощью LCM накатить остальные артефакты приложения. Про перенос правил расчетов CalcMngr написал отдельно. Какие данные накатывать в Essbase – решать по задаче.
Трудозатраты: 1,5 часа.

25 Январь 2012

Please, don't kill me!

Не убивайте свои системы EPM 11.1.2.0, они сделают это сами :) ):


Бага оказалась небанальной:

Симптомы
Недоступность системы для работы пользователей.
Во время работы пропал доступ к сервису Reporting & Analysis Framework, ответственного за формирование отчетов Financial Reporting и Web Analysis. Cервис Reporting & Analysis Framework в свою очередь связан с модулем Workspace – основной точкой входа во все приложения CIBRIS (Hyperion Planning, Hyperion Financial Consolidation). Риска потери данных в системе не было.

Диагностика
1. Неработоспособность Reporting & Analysis Framework привела к неработоспособности Workspace. Кроме того, была обнаружена неявная ошибка: компонент Reporting & Analysis Framework не мог записывать данные в свой лог-файл (баг вендора), из-за чего также не работал корректно.
2. SmartView не работал, т.к. использует протокол http через workspace.
3. Анализ лога WebLogic Server (WLS) указал на множество накопленных «мертвых», неиспользуемых объектов системы, в частности Reporting & Analysis Framework, из-за чего запросы выполнялись дольше установленного таймаута, что не позволяло возвращать результаты по запросу в установленное время.
4. Антивирус на сервере не настроен в соответствии с рекомендациями вендора Recommendations Regarding Antivirus Settings for Enterprise Performance Management (EPM) System Products [ID 1315173.1].

Лечение
Никогда не оставляйте включенным утюг опцию Change Ownership Event в этой версии здесь:
Workspace - Navigate - Administer - Reporting & Analysis - Event Tracking
и беспощадно убейте этот лог-файл:
Middleware_Home\user_projects\epmsystem1\diagnostics\logs\ReportingAnalysis\rafservletsUTBackup.log
Все подробности в документе Raframework Web Application Crashes Due to Usage Tracking. [ID 1334441.1].

23 Январь 2012

Оптимизация БД EPMA для EPM 11.1.x

Со временем сильно увеличивается БД EPM Architect, что негативно сказывается на скорости работы этого компонента. А в некоторых случаях, веб-сервер не успевает получить ответ в установленный таймаут, и возникает проблема, когда приложение (наример, Planning) может остаться в подвешенном состоянии.

Ниже представлено решение этой проблемы для EPM 11.1.3+
  1. Остановить службу EPMA Process Manager
  2. Сделать полный бэкап БД EPM Architect
  3. Запустить службу EPMA Process Manager
  4. Запустить утилиту database_cleanup_utility.exe, которая находится
    либо здесь для 11.1.1.x: \Hyperion\products\Foundation\BPMA\AppServer\DimensionServer\ServerEngine\bin\
    либо здесь для 11.1.2.x: \Oracle\Middleware\EPMSystem11R1\products\Foundation\BPMA\AppServer\DimensionServer\ServerEngine\bin
  5. Использовать администраторский логин/пароль EPM
  6. Запустить очистку для записей старше 45-60 дней
  7. Либо почистить БД EPM Architect скриптом (пример для Oracle DB 10g+):
    SELECT TO_CHAR(SYSDATE,'Dy DD-Mon-YYYY HH24:MI:SS') AS "Current Time 1" FROM DUAL;

    CREATE TABLE tmp_DS_MaxTransactions NOLOGGING AS
    SELECT a.i_application_id, MAX(i_transaction_id) AS i_transaction_id
      FROM DS_Transaction_History a
      JOIN DS_Application b
      ON a.i_library_id = b.i_library_id
      AND a.i_application_id = b.i_application_id
      JOIN DS_Library c
      ON a.i_library_id = c.i_library_id
      WHERE c.b_master = 1
      AND a.i_application_id IS NOT NULL
      AND (b.i_first_deploy_transaction_id IS NOT NULL OR b.b_master = 1)
      AND i_transaction_id >= COALESCE(b.i_last_deployed_transaction_id, b.i_first_deploy_transaction_id, 0)
      AND e_transaction_action = 'OrderChildren'
      GROUP BY a.i_application_id;
    COMMIT;

    SELECT TO_CHAR(SYSDATE,'Dy DD-Mon-YYYY HH24:MI:SS') AS "Current Time 2" FROM DUAL;

    -- Keep newest OrderChildren row for each application.  Logging resumes for this table
    -- after it is created and populated by this statement.
    CREATE TABLE tmp_DS_Transaction_History NOLOGGING AS
      SELECT a.* FROM DS_Transaction_History a
        JOIN tmp_DS_MaxTransactions b
        ON a.i_transaction_id = b.i_transaction_id;
    COMMIT;

    SELECT TO_CHAR(SYSDATE,'Dy DD-Mon-YYYY HH24:MI:SS') AS "Current Time 3" FROM DUAL;

    DROP TABLE tmp_DS_MaxTransactions;

    SELECT TO_CHAR(SYSDATE,'Dy DD-Mon-YYYY HH24:MI:SS') AS "Current Time 4" FROM DUAL;

    ALTER TABLE tmp_DS_Transaction_History NOLOGGING;

    SELECT TO_CHAR(SYSDATE,'Dy DD-Mon-YYYY HH24:MI:SS') AS "Current Time 5" FROM DUAL;

    -- Add back all non-OrderChildren rows.
    INSERT INTO tmp_DS_Transaction_History
      SELECT * FROM DS_Transaction_History
      WHERE e_transaction_action != 'OrderChildren';
    COMMIT;

    SELECT TO_CHAR(SYSDATE,'Dy DD-Mon-YYYY HH24:MI:SS') AS "Current Time 6" FROM DUAL;

    DROP TABLE DS_Transaction_History;

    SELECT TO_CHAR(SYSDATE,'Dy DD-Mon-YYYY HH24:MI:SS') AS "Current Time 7" FROM DUAL;

    RENAME tmp_DS_Transaction_History TO DS_Transaction_History;

    SELECT TO_CHAR(SYSDATE,'Dy DD-Mon-YYYY HH24:MI:SS') AS "Current Time 8" FROM DUAL;

    ALTER TABLE DS_Transaction_History
      ADD CONSTRAINT PK_TranHist PRIMARY KEY (i_transaction_id, i_detail_id);

    SELECT TO_CHAR(SYSDATE,'Dy DD-Mon-YYYY HH24:MI:SS') AS "Current Time 9" FROM DUAL;

    CREATE INDEX IdxTranHist01 ON DS_Transaction_History(i_library_id, i_dimension_id, i_member_id);

    SELECT TO_CHAR(SYSDATE,'Dy DD-Mon-YYYY HH24:MI:SS') AS "Current Time 10" FROM DUAL;

    CREATE INDEX IdxTranHist02 ON DS_Transaction_History(i_library_id, d_created);

    SELECT TO_CHAR(SYSDATE,'Dy DD-Mon-YYYY HH24:MI:SS') AS "Current Time 11" FROM DUAL;

    ALTER TABLE DS_Transaction_History LOGGING;

    SELECT TO_CHAR(SYSDATE,'Dy DD-Mon-YYYY HH24:MI:SS') AS "Current Time 12" FROM DUAL;

12 Январь 2012

Utilities for Troubleshooting Oracle Hyperion Enterprise Performance Management

(1) A new troubleshooting tool introduced in Oracle EPM 11.1.2.1 is \Oracle\Middleware\user_projects\epmsystem1\bin\ziplogs.bat|.sh file. The output of this is generated in \Oracle\Middleware\user_projects\epmsystem1\diagnostics\ziplogs\EPM_logs__11.1.2.1.0.zip

(2) Oracle Configuration Manager (OCM) is an advanced tool which collects and evaluates settings from configuration files (but not Hyperion Registry) and stores them in a central database administered by Oracle. It was first introduced into EPM in version 11.1.2.0

(3) Remote Desktop Assistant (RDA) collects and zips up a large amount of information concerning the software and hardware environments of Oracle products. If Perl 5.1 or later is installed on the computer and accessible from the command line (test: perl -version), then run: \Oracle\Middleware\ohs\rda\rda.cmd from the command line to access the RDA tool. Alternately, precompiled RDA executables are available for several platforms.

(4) Configuration settings have been moved from configuration files to a database repository associated with Shared Services. These may be extracted to an HTML formatted file by running \Oracle\Middleware\user_projects\epmsystem1\bin\epmsys_registry.bat|.sh without parameters from the command line. The output is generated to file \Oracle\Middleware\user_projects\epmsystem1\diagnostics\reports\registry.html The username/login/jdbc URL for the Hyperion/HSS registry are kept in \Oracle\Middleware\user_projects\epmsystem1\config\foundation\11.1.2.0\reg.properties file.

(5) A much enhanced validation tool is available in \Oracle\Middleware\user_projects\epmsystem1\bin\validate.bat. In EPM 11.1.2.1 the output files are of the form \Oracle\Middleware\user_projects\epmsystem1\diagnostics\reports\instance_report_20YYMMDD_######.html (where YY is the year, MM is the month, DD is the day, and ###### is a unique integer). It also runs the tool under (1) and gives the output of that tool.

(6) Individual log files may be found in subdirectories under (those 'starred' are not collected by ziplogs):
\Oracle\Middleware\user_projects\domains\EPMSystem\servers\\logs *
\Oracle\Middleware\logs *
\Oracle\Middleware\wlserver_10.3 *
\Oracle\Middleware\user_projects\epmsystem1\tmp *
\Oracle\Middleware\ohs\cfgtoollogs\opatch *
\Oracle\Middleware\EPMSystem11R1\diagnostics\logs
\Oracle\Middleware\user_projects\epmsystem1\diagnostics\logs\
\Program Files\Oracle\Inventory\logs
C:\Users\\Oracle\oradiag_\diag\
C:\Users\\.oracle\logs\

(7) Some debug tools (*) can be activated if under http://:19000/workspace/index.jsp > Navigate > Administration > Workspace Server Settings > Client Debug Enabled: is set to Yes (then click 'OK' button, close all browser windows, and restart browser).
* http://hostname:19000/workspace/debug/configInfo.jsp
* http://hostname:19000/workspace/debug/userInfo.jsp
* http://hostname:19000/workspace/debug/userGroupQuery.jsp


Other tools are available at these URLs (largely derived from validate.bat output). A non-Error response indicates that the web service of each particular application is active.:
http://hostname:19000/workspace/status
http://hostname:19000/workspace/BPMContext
http://hostname:8600/mappingtool/faces/info.jspx
http://hostname:10080/easconsole/console.html
http://hostname:16000/WebAnalysis
http://hostname:6373/oracle-epm-fm-webservices/ApplicationService
http://hostname:8300/HyperionPlanning/
http://hostname:13080/aps/APS
http://hostname:8200/hr/status.jsp
http://hostname:19091/awb/conf/AwbConfig.xml
http://hostname:8500/calcmgr/index.htm

10 Январь 2012

Internet Explorer 7 (IE7) and Internet Explorer 8 (IE8) Recommended Settings for Oracle Hyperion Products

1. Configure browser to check for new version every time user visits a page

•Open Internet Explorer
•Go to Tools > Internet options > General

•In 'Browsing history' section select 'Every time I visit the webpage'

•Click Ok, then Apply.
2. Disable default pop-up blocking

•Open Internet Explorer
•Go to Tools > Internet options > Privacy tab

•Uncheck 'Turn on Pop-up Blocker'
3. Add workspace URL to trusted sites

•Open Internet Explorer
•Go to Tools > Internet options > Security tab

•Select Trusted sites from Select a zone to view or change security settings.

•Type your workspace URL in form http://workspaceserver:portnumber in 'Add this website to the zone'
•Uncheck 'Require server verification (https:) for all sites in this zone'
•Click Add, then Close.
•Click Ok and Apply.
4. Minimize security setting for trusted sites

•Open Internet Explorer
•Go to Tools > Internet options > Security tab
•Select Trusted Sites from select a zone to view or change security settings

•Select custom level

•From Reset to list select Low
•Click Ok
•Click Apply, then Ok
5. Customize security settings

•Open Internet Explorer
•Go to Tools > Internet options > Security Tab > Custom Level
•In 'Miscellaneous' section enable the option "Allow script-initiated windows without size or position constraints"
•In 'ActiveX controls and plug-ins' section enable “Run ActiveX controls and plug-ins” and “Script ActiveX controls marked safe for scripting.”
6. Enable option "Always allow session cookies".

•Open Internet Explorer
•Go to Tools > Internet options > Privacy Tab > Advanced > Check the "Override automatic cookie handling" and accept the first and third party cookies and check the "Always allow session cookies" option.
7. Disable option "Enable Native XMLHTTP".

•Open Internet Explorer
•Go to Tools > Internet options > Advanced Tab > Uncheck the option "Enable Native XMLHTTP".

13 Декабрь 2011

Модерн. Флешка

Чуток оффтоп, но не удержался ;)

Предыстория. Начал у меня погибать внешний USB-диск с кучей документации, дистрибутивами и прочей полезной в работе мелочью. Он молодец, прослужил мне почти 4 года.

Требования. Итак, нужен новый надежный внешний жесткий или флешка достаточно объема, который бы не боялся тряски. Для меня это стало важным требованием.

Выбор. Оценив рынок и полюбив SSD, я решил рискнуть. Готовые решения внешних жестких на SSD еще мало распространены и поэтому достаточно дороги по сравнению с тем, что получилось у меня. Оформить его мне хотелось в металлический корпус.
Отдельно я размышлял про интерфейс. И, оценив всю имеющуюся дома и на работе технику, пришел к классическому USB 2.0.
Я приобрел (менее, чем за 10k RUR):
Риски. Я понимал, что запись мелких файлов на диск будет не столь высока. Однако скорость записи и чтения больших архивов (большинство информации у меня хранится именно в таком виде) выше всяких похвал. Кроме того, SSD подвержены большему риску выхода из строя по причине электронно-магнитных излучений. Но я вспомнил, что в аэропортах пассажиры регулярно проносят современные ноутбуки, оснащенные SSD-накопителями, через рентген-аппараты и тут же расслабился :) Ведь у них все в порядке с техникой.

Итог. В итоге я получил среднюю скорость работы 60-80MB/sec вместо 20-25MB/sec с предыдущим внешним накопителем на HDD через аналогичный USB 2.0 интерфейс.

UPD: Результаты теста с проверенным Intel IOMeter при конфигурации Workstation Access Pattern (as defined by StorageReview.com):
  • % of Access Specification = 100%
  • Transfer Size Request = 8 KB
  • % Reads = 80%
  • % Random = 80%
  • # of Outstanding I/Os = 16 

08 Декабрь 2011

Проблемы при запуске EAS Console 11.1.2.0

День начинался удачно.... Пока не перестала работать EAS Console 11.1.2.0 ни с моего рабочего места, ни с сервера (локально).
Советы по устранению:
0. Смотрю логи здесь:
- \Middleware\user_projects\epmsystem1\diagnostics\logs\eas\
- \Middleware\user_projects\domains\EPMSystem\servers\EssbaseAdminServices0\logs\EssbaseAdminServices0.log
1. Отслеживаю логи, пытаясь запустить консоль. Судя по последнему логу, запуск приложения на WebLogic application server прошел успешно...
2. Останавливаю службу EAS. Удаляю папку из \Middleware\user_projects\epmsystem1\tmp\2\servers\ директорию EssbaseAdminServices0. В ней отсутствовал какой-то .war файл. Эта папка генерируется автоматически сервером Weblogic.
3. Вижу предупреждение о том, что в DNS имени сервера соответствуют 2 адреса – IPv4 и IPv6. ИТ-шникам сообщил :)
4. Запускаю сервис и пытаюсь войти в консоль по IPv4 адресу сервера. Все работает!

21 Ноябрь 2011

Отличная вводная презентация про новый EPM 11.1.2.1 и как на него перейти (англ.): http://vimeo.com/21658460