Oracle Data Integratorスタンドアロン・エージェントを管理するためのOPMNの設定

<このテキストを削除しないでください。これは、"主要" なトピックの生成リストに対応するプレースホルダです。>

目的

このチュートリアルでは、Oracle Data Integrator 11g(ODI)スタンドアロン・エージェ ントを管理するためのOracle Process Manager and Notification Server(OPMN)の設定に必要な手順について説明します。 前提条件、OPMNをまだ取得していない場合のダウンロード先、Oracle Data Integrator 11gスタンドアロン・エージェントのOPMNへの追加方法、OPMNを使用したOracle Data Integratorスタンドアロン・エージェントの起動方法と停止方法、発生する可能性のある問題とその解決方法について学習します。

所要時間

約20分

概要

Oracle Data Integratorスタンドアロン・エージェントは、JEE以外の環境で動作するスタンドアロンのJavaプロセスです。 このエージェントを使用して、事前定義済みのスケジュールに基づいて、またはオンデマンドでOracle Data Integratorのシナリオを実行できます。

スタンドアロン・エージェントは通常、統合フローの最適なパフォーマンスを得るために、ソース・マシンまたはターゲット・マシン上にローカルに配置 されます。 スタンドアロン・エージェントは、Oracle Data Integrator Topology Managerで定義した後に起動できます。

Oracle Data Integratorスタンドアロン・エージェントはコマンドライン・インタフェースから起動することも、他のさまざまな手段で制御することもできます。 Oracle Data Integratorスタンドアロン・エージェントを制御するためのその他の手段の1つがOPMNを使用することです。 OPMNでは、JEEアプリケーションとJEE以外のアプリケーションの起動、停止、再起動などのプロセス制御アクションを管理できます。 OPMNを使用して、Oracle Data Integratorスタンドアロン・エージェントの起動、停止、監視を行うことができます。

Oracle Data Integrator 11gには、スタンドアロ ン・バージョンのOPMNは含まれません。 OPMNは、Oracle Enterprise Performance Managementスイート、Oracle Application Serverなど、一部のオラクルのミドルウェア製品インストールに含まれています。 一方、OPMNがお使いの環境でミドルウェアを経由して利用できない場合は、OPMNを個別にダウンロードできます。 このOBEチュートリアルでは、Oracle Web Tier Utilities 11gの サブセットをダウンロードすることで、OPMNを個別にダウンロードする方法を説明します。

注:Oracle Data Integratorスタンドアロン・エージェントを管理するためのOPMNの設定手順の概要は、『Oracle Fusion Middleware Oracle Data Integratorイ ンストレーション・ガイド11gリリース1(11.1.1)』においても説明されています。

このチュートリアルで学習する内容は、次のとおりです。

シナリオ

あなたは、Global Enterpriseのデータベース管理者として、 Oracle Data Integratorのシナリオ実行の管理を担当しています。 これまでは、Oracle Data Integratorのシナリオを実行するOracle Data Integratorスタンドアロン・エージェントを起動および停止するためにスクリプトを実行していました。 Oracle Data Integratorスタンドアロン・エージェントを管理するための代替手段としてOPMNを使用できることを学習しました。 OPMNを含むオラクルのミドルウェア製品が職場環境にない状況ですが、OPMNをダウンロードし、エージェントの管理に使用したいと考えています。

以下の図は、Oracle Data Integratorスタンドアロン・エージェントの管理に使用できる3つの手段を示しています。

これら3つの手段のうち、このOBEチュートリアルでは、Oracle Web Tier Utilities 11gでインストールされたOPMNを使用してOracle Data Integratorスタンドアロン・エージェントを管理する際に必要となる手順について、重点的に説明します。

 

ソフトウェアおよびハードウェア要件

ソフトウェア要件は、以下のとおりです。

前提条件

タスクを開始する前に、システム環境が以下の前提条件を満たしていることを確認してください。

.

Oracle Database 11gをインストールしてい ること。 Oracle Database 11gのサービスとコンポーネントを 起動していない場合は、起動します。

.

Oracle Data Integrator 11g Release 1をインストールしていること。

.

オラクルのミドルウェア環境の一部である既存のOPMNインストールにアクセスできること。そうでない場合は、Oracle Web Tier Utilities 11gの一部としてOPMNをダウンロー ドし、インストールします。

Oracle Web Tier Utilities 11gインストール・セットからのOPMNのダウンロード

.

OPMNをダウンロードする必要がある場合、OPMNは全種類のOracle Application Serverインストールに含まれていますが、 Oracle Web Tier Utilities 11gパッケージから取得することを推奨します。これは、OPMNのみをインストールするよう選択 できるためです。

OTNからOracle Web Tier Utilities 11gをダウンロードするためのWebサイトにアクセスするには、こ こをクリックします。

.

Oracle Web Tier Utilities 11.1.1.2.0をダウンロードします(これはフル・インストールです)。


.

インストーラを解凍して起動します。 たとえば、C:\ofm_webtier_win_11.1.1.2.0_32_disk1_1of1\Disk1\install\win32の 下にあるsetupをクリックします。


.

インストール・ウィザードのConfigure Componentsウィンドウで、「Oracle HTTP Server」 および「Oracle Webcache」のチェック・ボックスのみにチェックを入れます。 これら2つを選択すると、必要なOPMNコンポーネントがインストールされます。

 

.

Oracle Web Tier 11.1.1.3.0をダウンロードします(これはパッチセットです)。

 

.

インストーラを起動して、Oracle Web Tier 11.1.1.2.0に対して11.1.1.3.0のパッチを適用します。

必要に応じて、Oracle Web Tierのイ ンストレーション・ガイドを参照してください。


ワークステーション上のJavaバージョンの確認

 

OPMNに追加するための既存のOracle Data Integratorスタンドアロン・エージェントがある場合はそれを使用できますが、 既存のOracle Data Integratorスタンドアロン・エージェントがない場合は、Oracle Data Integrator Studio Topology Managerを使用してOracle Data Integratorスタンドアロン・エージェントを作成できます。

Oracle Data Integratorスタンドアロン・エージェントをOPMNに追加する前に、既存または新規のOracle Data Integratorスタンドアロン・エージェントが、稼動するマシン上でコマンド・プロンプトから起動できることをテストする必要があります。 これには、以下のワークフローが含まれます。

  • ワークステーション上のJavaのバージョンを確認する
  • Oracle Data Integrator 11gス タンドアロン・エージェントを、Oracle Web Tierのインストール先と同じホスト上にインストールする
  • Oracle Data Integrator Topology Managerを使用して、Oracle Data Integratorでそのエージェントを定義する
  • odiparams.batまたはodiparams.shファイルに、リポジトリ接続情報およびJava情報を入力する
  • コマンド・プロンプトからエージェントを起動して、以下の項目を確認する
    • ポートが開放されていること
    • エージェント・ホストがOracle Data Integratorリポジトリに接続できること
    • エージェント・プロセスが、指定されたJavaバージョンで実行できること
  • Oracle Data Integrator Topology Managerでエージェントをテストして、成功すればエージェントを停止する(後でOPMNを使用して起動します)。 成功しなければ、問題を修正して再試行する

 

.

上記のワークフロー・リストの最初のタスクに取りかかります。 稼働中のワークステーションのDOSコマンド・シェルでJavaバージョンを確認する必要があります。 Java Development Kit(JDK)1.6.0以降かどうかを確認することが重要です。これは、エージェントをOPMNに追加するスクリプトであるodi_opmn_addagentでは、最新のJDK 1.6(たとえばJDK 1.6.0.23)が必要となるためです。 JDKのそれ以前のバージョンでは、odi_opm_addagentをサポートしていません。

ワークステーションでJDKのバージョンを確認するには、コマンド・ウィンドウを開いて以下のコマンドを発行します。

java -version

JDKの最新バージョンをインストールする必要がある場合は、こ こをクリックして、Oracle JavaダウンロードWebサイトにアクセスします。 このWebサイトで、「Download JDK」 ボタンをクリックして、LinuxまたはWindows用のJava SE Development Kit 6u23をダウンロードします。これには、JDK 1.6のバージョンが含まれています。

.

PATH変数のJDKバージョン を確認します。
odi_opmn_addagentでは、PATH変数で最初に記載されているJavaバージョンが 使用されます。 そのため、「マイ コンピュータ」→「プロパティ」→「詳細設定」→「環境変数」 →「ユーザー環境変数」→「編集」に移動して、この変数にJDK 1.6へのパスを追加し、パスからJDKの以前のバージョンを削除します。

注:PATH環境変数にJDK 1.6へのパスを記述していない場合は、以下のエラーが発生します。

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version
number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14)

 

環境のセットアップ

.

既存のものでも新規に作成したものでもOracle Data Integratorスタンドアロン・エージェントを用意した後は、このチュートリアルで使用するファイルについて理解を深めていきます。
スタンドアロン・エージェントがインストールされているODI_HOME/oracledi/agent/bin/ディレクトリに移動します。

このチュートリアルで取り扱うファイルは、agentcreate.propertiesodi_opmn_addagent.batodi_opmn_deleteagent.batodiparams.batです。
UNIXを使用している場合、ファイルの拡張子は.batで はなく.shになります。

.

odiparams.batJAVA_HOMEおよびODI_JAVA_HOMEをJDK 1.6に設定します。

注:Javaへのパスにはスペース を含めないでください。含まれている場合は、DOSの ~構文(たとえば、C:\Progra~1\Java\jdk1.6.0_23 for C:\Program Files\Java\jdk1.6.0_23)を使用してください。

この対応を行わなければ、opmnctlを 使用したエージェントの起動が失敗し、以下のエラーがログ・ファイルに記録されます。

java.lang.NoClassDefFoundError: Files\Java\jdk1/6/0_23\lib\tools/jar
Caused by: java.lang.ClassNotFoundException: Files\Java\jdk1.6.0_23\lib\tools.jar
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)

.

agentcreate.propertiesファ イルとodi_opmn_addagent.batファ イルの両方で環境変数を設定します。 odi_opmn_addagent.batファ イルでjarファイルまたはclassファイルへの参照を特定できるように、環境変数を設定する必要があります。

  • agentcreate.properties:
    • ORACLE_ODI_HOMEには、Oracle Data Integrator 11gが インストールされているパスを記述します。

    • COMPONENT_NAMEには、Topologyで定義された物理エージェント名を記述します。

  • odi_opmn_addagent.bat:
    • ODI_HOMEには、Oracle Data Integrator 11gの 下のエージェント・ディレクトリのパスを記述します。たとえば、以下のとおりです。
      C:\WEBTIER_HOME\Oracle_WT1\odi_standalone\oracledi\agent
    • odi_opmn_addagent.batの すべての環境変数は、デフォルトで以下のように設定されています。
      • if "%INSTANCE_HOME%" == "" set INSTANCE_HOME=..
    • お使いの環境に応じて、各変数を明示的に設定する必要があります。たと えば、以下のとおりです。
      • if "%INSTANCE_HOME%" == "" set INSTANCE_HOME=C:\WEBTIER_HOME\Oracle_WT1\instances\instance1
    • 変数が正しく設定されていない場合、たとえばODI_HOME変 数であれば、odi_opmn_addAgentで以下のエラーが発生して失敗します。

      Exception in thread "main" java.lang.NoClassDefFoundError: oracle/odi/AddAgentTo
      Opmn
      Caused by: java.lang.ClassNotFoundException: oracle.odi.AddAgentToOpmn
      at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
      ...
      Could not find the main class: oracle.odi.AddAgentToOpmn. Program will exit.
      opmnctl reload: reconfiguring opmn.

.

各変数を検証した後でも、odi_opmn_addagent.batの 実行時に以下のエラーが表示されることがあります。

Error reading file
Please provide the value forORACLE_ODI_HOME
while you have set ORACLE_ODI_HOME correctly in agentcreate file.

このエラーは、odi_opmn_addagent.batが、 指定されたagentcreate.propertiesファ イルを見つけることができないために発生します。 agentcreate.propertiesの 名前を、拡張子の.propertiesと ともに正しいスペルで記述する必要があります。

上記のエラーが発生する場合は、以下の正しいコマンド構文を使用してodi_opmn_addagent.batを 実行していることを確認します。

odi_opmn_addagent "agentcreate.properties"

 


Oracle Data Integrator 11gスタンドアロン・エージェントのOPMNへの追加

.

スタートメニューから、OPMNおよびohs1を起動します。

  • スタート」→「すべてのプログラム」→「Oracle Web Tier Instance-instance 1」→「Start Oracle Process Manager
  • スタート」→「すべてのプログラム」→「Oracle Web Tier Instance-instance 1」→「Start Oracle HTTP Server-ohs1

コマンド・プロンプトを起動し、カレント・ディレクトリをC:\WEBTIER_HOME\Oracle_WT1\instances\instance1\binに 変更します。

OPMNが実行中でohs1が有効であることを確認するには、以下のコマンドを発行します。

opmnctl status



.

既存のOracle Data Integratorスタンドアロン・エージェントをOPMNにまだ追加していない場合は、次の手順として、Oracle Data Integrator Studio Topology Managerを使用してスタンドアロン・エージェント定義を作成します。 Oracle Data Integratorの起動方法: 「スタート」→「すべてのプログラム」→「Oracle ODI 11g-Home」→「Oracle Data Integrator」→「ODI Studio

 

Hostフィー ルドにはスタンドアロン・エージェントが稼働するホスト名を指定します。 この例では、Namelocal_agentで、Port20910です。

Oracle Data Integratorスタンドアロン・エージェントについて、詳しくは、OBEチュートリアルのODI11g: Setting up and installing an ODI agentを参照してください。

.

agentcreate.propertiesファ イルで、各環境変数が正しく設定されていることを確認します。 Oracle Data IntegratorのHomeディレクトリの外に元のファイルのコピーを保存してください。

agentcreate.propertiesファ イルの内容例:

# Use / as path seperator to specify path in Unix as well as Windows.
ORACLE_ODI_HOME=/WEBTIER_HOME/Oracle_WT1/odi_standalone
INSTANCE_HOME=/WEBTIER_HOME/Oracle_WT1/instances/instance1
COMPONENT_TYPE=odiagent
COMPONENT_NAME=local_agent
ODI_MASTER_DRIVER=oracle.jdbc.OracleDriver
ODI_MASTER_URL=jdbc:oracle:thin:@localhost:1521:orcl
ODI_MASTER_USER=ODIM
ODI_MASTER_ENCODED_PASS=d1yaGzWPRiJEdE5KLDgdH5dp
ODI_SECU_WORK_REPO=WORKREP1
ODI_SUPERVISOR_ENCODED_PASS=fDyXsq.YMRuAn7hyx1Ds
PORTNO=20910
JAVA_HOME=/Progra~1/Java/jdk1.6.0_23
ORACLE_OPMN_HOME=/WEBTIER_HOME/Oracle_WT1
JMXPORTNO=21910

注: COMPONENT_NAMEPORTNOの値 は、前述の手順においてTopology ManagerでNamePortに定義し た値と同じものです。
JMXPORTNOは デフォルトではPORTNO + 1000であり、この例では21910です。

 

.

odi_opmn_addagent.batの 環境変数を確認します。

odi_opmn_addagent.batの 内容例:

rem if "%ODI_HOME%" == "" set ODI_HOME=..
rem if "%OPMN_HOME%" == "" set OPMN_HOME=..
rem if "%INSTANCE_HOME%" == "" set INSTANCE_HOME=..

if "%ODI_HOME%" == "" set ODI_HOME=C:\WEBTIER_HOME\Oracle_WT1\odi_standalone\oracledi\agent
if "%OPMN_HOME%" == "" set OPMN_HOME=C:\WEBTIER_HOME\Oracle_WT1
if "%INSTANCE_HOME%" == "" set INSTANCE_HOME=C:\WEBTIER_HOME\Oracle_WT1\instances\instance1

set CLASSPATH=%ODI_HOME%\lib\odi-standalone-agent.jar;%OPMN_HOME%\opmn\lib\opmneditor.jar
java -classpath %CLASSPATH% oracle.odi.AddAgentToOpmn %*
CALL %INSTANCE_HOME%\bin\opmnctl reload
:ENDCOMMAND


.

oracledi\agent\binで以 下のコマンドを発行して、エージェントをOPMNに追加します。

odi_opmn_addagent "agentcreate.properties"

 

.

ディレクトリをC:\WEBTIER_HOME\Oracle_WT1\instances\instance1\binま たはWeb Tierのインストール先である同様のディレクトリに移動します。

以下のコマンドを発行して、エージェントが追加されていることを確認します。

opmnctl status

 

.

opmnctlを使用してエージェ ントを起動し、再度ステータスを確認します。

opmnctl.bat startproc ias-component=local_agent

 

.

Oracle Data Integrator Topology Managerでエージェントをテストします。

注:

前述の手順でエージェントの起動に失敗する場合は、
C:\WEBTIER_HOME\Oracle_WT1\instances\instance1\diagnostics\logs\OPMN\opmn\co nsole~local_agent~odiagent~1.logにあるログ・ファイルを確認してください。

エージェントのログに記録されている問題を解決し(このOBEチュートリアルに含まれるエラー・メッセージの可能性もあります)、エージェントの起動を再 試行します。

 


エージェントの停止方法

.

以下のコマンドを発行します。

opmnctl.bat stopproc ias-component=local_agent

 


バックスラッシュが原因でエージェントを起動できない問題のトラブルシューティング

.

Oracle Data IntegratorリポジトリへのJDBC URLに"//"が含まれる場合、OPMNを使用してエージェントを起動できないことがあります。

たとえば、Microsoft SQL ServerでホストされたOracle Data Integratorリポジトリでは、OPMNを使用したエージェントの起動が失敗します。

検査をすると、
<WebTIER_HOME>\Oracle_WT1\instances\instance1\diagnostics\logs\OPMN\opmn\console~local_agent~odiagent~1.log

にあるOPMN診断ログには以下のエラーが表示されます。

Caused by: java.sql.SQLNonTransientConnectionException: [OWLS][SQLServer JDBC Driver]A value was not specified for a required property: serverName for datadirect driver

Caused by: java.sql.SQLException: No suitable driver for MS SQL server driver.


OPMN診断ログの調査を進めると、OPMNによってJDBC URLのスラッシュ"//"が"\\"に変換されており、このためマスター・リポジトリへの接続が失敗していることがわかります。

デフォルトでは、データ値の文字列内のスラッシュは、OPMNが稼働しているシステムのディレクトリ・パスの区切り文字に変換されま す。つまり、UNIXでは'\'が'/'に変換され、Windowsでは'/'が'\'に変換されます。 変換を無効にするには、この属性をfalseに設定します。

この問題を解決するには、opmn.xmlファイルを編集して、以下のようにprocess-conversion="false"を追加します。

<variable id="ODI_MASTER_URL" value="jdbc:sqlserver://rplewis-lap.idc.oracle.com:2213;databaseName=ODI11G_MASTER;selectMethod=cursor" process-conversion="false"/>

"process-conversion"の前にスペースがあることに注意してください。

OPMNを再起動し、OPMNを使用してOracle Data Integratorスタンドアロン・エージェントを起動してください。

OPMN設定ファイルのその他の資料については、こ ちらを参照してください。

 

まとめ

このチュートリアルで学習した内容は、以下のとおりです。

参考資料

 

Hardware and Software Engineered to Work Together 会 社情報 |オラクルとサン | Oracle RSS Feeds | 採用情報 | お問い合わせ | サイ トマップ | 情報保護基 本方針 | ウェ ブサイトのご使用条件 | 個人情報保護基本方針