一部のデータベースは、iSeriesおよびAS400のマシンにインストールされています。Oracle Data Integratorの実行エージェントをこれらのマシンにインストールし、次のことを実行できます。
AS/400でのロード・プロセスの実行
OS400のシステム・コマンドの実行
ネットワーク・フローの削減(AS/400にソースとターゲットの両方が存在する場合)
AS/400マシンにOracle Data Integratorの実行エージェントを実装するためのインストール手順は、次のとおりです。
次のPTFが適用されたAS/400、AS/400 V5R1またはV4R4M0:
SF61800
SF55849
SF54922
インストールするプログラム:
IBM Toolbox for Java
Java仮想マシン1.3.1
AS/400マシンで構成および起動されたTCP/IPサービス
使用するJavaおよびJDBCコンポーネントは、次のとおりです。
Oracle Data Integrator実行エージェント
Java仮想マシン1.3.1
データベース・アクセス用のJDBCドライバ
ドライバに関する注意: AS/400からDB2/400に接続する場合、AS/400用のドライバ・ラッパーの使用を検討する必要があります。詳細は、「DB2/400データ・サーバーの作成」を参照してください。
AS/400にOracle Data Integratorファイルを格納するためのディレクトリ・ツリーを作成します。
MKDIR DIR('/odi')
MKDIR DIR('/odi/bin')
MKDIR DIR('/odi/lib')
MKDIR DIR('/odi/lib/scripting')
MKDIR DIR('/odi/drivers')
Oracle Data IntegratorのCDの/oraclediディレクトリから、手順1で作成したAS/400のディレクトリに(FTPなどを使用して)ファイルを転送します。
コピーするファイルの場所は、次のとおりです。
/oracledi/bin/
/oracledi/lib/
/oracledi/lib/scripting(Oracle Data Integratorのスクリプト機能を使用する場合)
/oracledi/drivers(使用するドライバのみコピーが必要)
AS/400でのパフォーマンス上の理由から、Javaパッケージ(.class、.jarまたは.zipファイル)はJavaプログラムに変換する必要があります。
次のようにCLコマンドを実行します。
CRTJVAPGM CLSF('<.class, .zip or .jar file location>')OPTIMIZE(40)
たとえば、odi.zipファイル(Javaエージェント)からJavaプログラムを作成するには、次のコマンドを実行します。
CRTJVAPGM CLSF('/odi/lib/odi.zip') OPTIMIZE(40)
注意: Javaプログラムの作成は、Javaパッケージの内容によっては長い時間がかかります。実際に使用するクラスのプログラムのみを作成することをお薦めします。
実行エージェントは、次の2つの方法で起動できます。
シェル・インタプリタ(QSHまたはSTRQSH)の使用: これは、UNIX互換シェルを実装するOS/400のオプションです。多くのUNIXコマンド(ls、chmod、chownなど)に加え、javaコマンドも使用できます。Oracle Data Integratorの/binに含まれるUNIXスクリプト(.sh拡張子)で標準の構文を使用することで、Oracle Data Integratorを起動できます。エージェントを実行する前に、odiparams.shファイルを構成する必要があります。AS/400では、グラフィカル・モジュール(トポロジやデザイナなど)を使用できます。
OS/400コマンド(CL)の使用: RUNJVAまたはJAVA CLコマンドでJavaアプリケーションを実行します。エージェントやシナリオを起動する場合、CLプログラムを使用すると便利です。これらの操作用のプログラム・テンプレートを次に示します。
JVMバージョンに関する注意: 複数のJavaマシンがAS/400にインストールされている場合、状況によってはJavaコマンドで使用されるJavaのバージョンを強制的に指定する必要があります。
- QSHの場合: バージョンを強制するには、Javaコマンドのフラグ-Djava.version=<java version>(-Djava.version=1.3.1など)を使用します。
- OS/400コマンドの場合: JAVAコマンド・パラメータとして-PROP((<property> <value>) (<property> <value>))のようにプロパティを渡します。たとえば、-PROP((java.version 1.3.1)のように指定します。
エージェントの名前付けに関する注意: 通常、AS/400では、エージェントをリスナーとして実行する際にそのエージェントの名前を明示的に指定します。そのため、エージェントの実行時には、エージェントのフラグ-name=<agent name>を使用する必要があります。
PGM PARM(&NAME &PORT &VERB)
/* Command AGENT */
/* Parameters: */
/* &NAME: physical name of the agent */
/* &PORT: port number */
/* &VERB: verbose mode -V=[1..5] */
/* Example of call: */
/* CALL PGM(<myLib/myPGM>) PARM('-NAME=myAgt' '-PORT=20910' '-V=5') */
DCL VAR(&NAME) TYPE(*CHAR) LEN(128)
DCL VAR(&PORT) TYPE(*CHAR) LEN(30)
DCL VAR(&VERB) TYPE(*CHAR) LEN(30)
/* All classes below should be compiled */
/* with the CRTJVAPGM command */
/* with optimize 40. */
DCL VAR(&PROJ) TYPE(*CHAR) LEN(512) +
VALUE('/odi/lib/odi.zip:+
/odi/lib/sunjce_provider.jar:+
/odi/lib/commons-net.jar:+
/odi/lib/local_policy.jar:+
/odi/lib/jakarta-ant-optional.jar:+
/odi/lib/US_export_policy.jar:+
/odi/lib/jce1_2_2.jar')
/* Replace the drivers below with your own drivers. */
DCL VAR(&JDBC) TYPE(*CHAR) LEN(512) +
VALUE('/odi/drivers/jt400Native.jar:+
/odi/drivers/snpsdb2.jar:+
/odi/drivers/ojdbc14.jar')
/* Build the Java CLASSPATH */
DCL VAR(&PATH) TYPE(*CHAR) LEN(1024)
CHGVAR &PATH (&PROJ *tcat ':' *tcat &JDBC)
/* Start the Agent */
SBMJOB CMD(JAVA CLASS(oracle.odi.Agent) CLASSPATH(&PATH) +
PARM('&NAME &PORT &VERB') +
OPTIMIZE(40) +
OUTPUT(*PRINT))
ENDPGM
PGM PARM(&SCEN &VERS &CTX &VERB)
/* Command STARTSCEN */
/* Parameters: */
/* &SCEN: scenario name */
/* &VERS: scenario version */
/* &CTX: context */
/* &VERB: verbose mode -V=[1..5] */
/* Example of call: */
/* CALL PGM(<myLib/myPGM>) PARM('myScen' 'myVers' 'GLOBAL' '-V=5') */
DCL VAR(&SCEN) TYPE(*CHAR) LEN(30)
DCL VAR(&VERS) TYPE(*CHAR) LEN(30)
DCL VAR(&CTX) TYPE(*CHAR) LEN(30)
DCL VAR(&VERB) TYPE(*CHAR) LEN(30)
/* All classes below should be compiled */
/* with the CRTJVAPGM command */
/* with optimize 40. */
DCL VAR(&PROJ) TYPE(*CHAR) LEN(512) +
VALUE('/odi/lib/odi.zip:+
/odi/lib/sunjce_provider.jar:+
/odi/lib/commons-net.jar:+
/odi/lib/local_policy.jar:+
/odi/lib/jakarta-ant-optional.jar:+
/odi/lib/US_export_policy.jar:+
/odi/lib/jce1_2_2.jar')
/* Replace the drivers below with your own drivers. */
DCL VAR(&JDBC) TYPE(*CHAR) LEN(512) +
VALUE('/odi/drivers/jt400Native.jar:+
/odi/drivers/snpsdb2.jar:+
/odi/drivers/ojdbc14.jar')
/* Adapt all parameters below to your environment before use. */
DCL VAR(&DRV) TYPE(*CHAR) LEN(128) +
VALUE('-SECU_DRIVER=com.ibm.as400.access.AS400JDBCDriver')
DCL VAR(&URL) TYPE(*CHAR) LEN(128) +
VALUE('-SECU_URL=jdbc:as400://195.10.10.13;libraries=ODI')
DCL VAR(&USER) TYPE(*CHAR) LEN(30) +
VALUE('-SECU_USER=QSECOFR')
DCL VAR(&PASS) TYPE(*CHAR) LEN(128) +
VALUE('-SECU_PASS=XYZ')
DCL VAR(&WREP) TYPE(*CHAR) LEN(30) +
VALUE('-WORK_REPOSITORY=WORKREP1')
DCL VAR(&SUSER) TYPE(*CHAR) LEN(30) +
VALUE('-ODI_USER=SUPERVISOR')
DCL VAR(&SPASS) TYPE(*CHAR) LEN(128) +
VALUE('-ODI_PASS=XYZ')
DCL VAR(&PATH) TYPE(*CHAR) LEN(1024)
/* Build the Java CLASSPATH */
DCL VAR(&PATH) TYPE(*CHAR) LEN(1024)
CHGVAR &PATH (&PROJ *tcat ':' *tcat &JDBC)
/* Execute the Scenario */
SBMJOB CMD(JAVA CLASS(oracle.odi.Agent) CLASSPATH(&PATH) +
PARM(&DRV &URL &USER &PASS &WREP &SUSER &SPASS +
SCEN &SCEN &VERS &CTX &VERB))
ENDPGM
注意: 指定するパスワードは、コマンドagent ENCODE <password>を使用して暗号化する必要があります。