2012-09-04

Добавление агента ODI в автозапуск Win

Начиная с 11 версии вместо человеческого добавления в качестве Win-сервиса, необходимо добавлять агента в opmn. Сам opmn устанавливался вместе с Hyperion, сервис был запущен. Предпринятые шаги:

1. Конфигурируем файл odiparams.bat.
  • Там нет ничего сложного, кроме процедуры encode для кодирования пароля от схемы master rep базы данных ODI. 
  • Случайно поменял и ODI_SUPERVISOR_ENCODED_PASS, но вроде ничего страшного не произошло. 
  • В качестве java home выбираем jdk вместо jrockit ODI_JAVA_HOME=C:\oracle\Middleware\jdk160_21 
2. Пробуем запустить агента через бат файл и из студии тестируем, что он работает.
3. Конфигурируем файл agentcreate.properties. Тут есть небольшая тонкость для win: или указываем нормальные слеши, или экранируем их. Порт JMX=PORTNO + 1000. Содержание файла такое:
ORACLE_ODI_HOME=C:\\oracle\\ODI
INSTANCE_HOME=C:\\oracle\\Middleware\\epmsystemWin\\httpConfig\\ohs
COMPONENT_TYPE=odiagent
COMPONENT_NAME=oraclediagent
ODI_MASTER_DRIVER=oracle.jdbc.OracleDriver
ODI_MASTER_URL=jdbc:oracle:thin:@192.168.0.189:1521:hyp
ODI_MASTER_USER=odi_masterrep
ODI_MASTER_ENCODED_PASS=hZyXmvEifIF.gucldqHYcy
ODI_SECU_WORK_REPO=WREP1
ODI_SUPERVISOR_ENCODED_PASS=ccfH9gtdg9lHsjtHT8mTQkGTnn
PORTNO=20910
JAVA_HOME=C:\\oracle\\Middleware\\jdk160_21
ORACLE_OPMN_HOME=C:\\oracle\\Middleware\\ohs
JMXPORTNO=21910
Хеши паролей скопированы из odiparams.bat

4. Конфигурируем odi_opmn_addagent.bat
if "%ODI_HOME%" == "" set ODI_HOME=C:\oracle\ODI
REM call "%ODI_HOME%\bin\odiparams.bat"

if "%OPMN_HOME%" == "" set OPMN_HOME=C:\oracle\Middleware\ohs
if "%INSTANCE_HOME%" == "" set INSTANCE_HOME=C:\oracle\Middleware\epmsystemWin\httpConfig\ohs

set CLASSPATH=C:\oracle\ODI\oracledi\agent\lib\odi-standalone-agent.jar;%OPMN_HOME%\opmn\lib\opmneditor.jar;C:\oracle\ODI\setup\manual\oracledi-sdk\oracle.odi-sdk-jse_11.1.1.jar
Судя по всему, переменные тут нужны только для того, что бы правильно выставить CLASSPATH, который в итоге я прописал руками

5. Добавляем инфу об агенте в opmn.xml указанного нами INSTANCE_HOME. Команда
odi_opmn_addagent.bat "agentcreate.properties".
6. Запускаем (если не запущен) нашего агента
opmnctl startproc ias-component=oraclediagent

7. Если что-то не заработало -- вычищаем агента. Для этого правим файл odi_opmn_deleteagent.bat По-моему тема таже самая -- правильно выставить CLASSPATH. что можно сделать и ручками
if "%OPMN_HOME%" == "" set OPMN_HOME=C:\oracle\Middleware\ohs
if [%3]==[] goto SYNTAXERROR
if not [%4]==[] goto SYNTAXERROR

set CLASSPATH=C:\oracle\ODI\oracledi\agent\lib\odi-standalone-agent.jar;%OPMN_HOME%\opmn\lib\opmneditor.jar;C:\oracle\ODI\setup\manual\oracledi-sdk\oracle.odi-sdk-jse_11.1.1.jar
Запускаем удаление
odi_opmn_deleteagent.bat "C:\\oracle\\Middleware\\epmsystemWin\\httpConfig\\ohs" "C:\oracle\Middleware\ohs" "oraclediagent"
Не проверял, надо ли тут экранировать косые, делал так, что бы заработало.

1 комментарий:

Andrey Zaytsev комментирует...

Для нормальной работы агента необходимо проинициализировать переменные в opmn.xml