|
バッチ・ジョブ・システムは、重要なメインフレーム・ビジネス・アプリケーション・モデルです。Tuxedo Job Enqueueing Service (TuxJES)エミュレーション・アプリケーションを使用すると、メインフレーム・アプリケーションをオープン・システムへ円滑に移行できます。TuxJESは、メインフレームJES2関数のサブセットを実装しています(ジョブの送信、ジョブの表示、ジョブの保留、ジョブの解放、ジョブの取消しなど)。
TuxJESは、次のバッチ・ジョブ・フェーズに対処しています。
TuxJESはOracle Tuxedoアプリケーションであり、TuxJESを実行するためにはOracle Tuxedoが必要です。
分散環境でTuxJESをデプロイするためには、共有ファイル・システム(NFSなど)が必要です。
genjesprofileOracle Tuxedoアプリケーションのセキュリティ・プロファイルを生成します
artjesadminTuxJESコマンド・インタフェース。Oracle Tuxedoクライアントです
ARTJESADMTuxJES管理サーバー。Oracle Tuxedoサーバーです。
ARTJESCONVTuxJES変換サーバー。Oracle Tuxedoサーバーです。
ARTJESINITIATORTuxJESジョブ・イニシエータ。Oracle Tuxedoサーバーです。
ARTJESPURGETuxJESパージ・サーバー。Oracle Tuxedoサーバーです。
詳細情報は、『Oracle Tuxedo Application Runtime for Batchリファレンス・ガイド』を参照してください。
TuxJESは、Oracle Tuxedoアプリケーションです。大部分のTuxJESコンポーネントは、Oracle TuxedoクライアントまたはOracle Tuxedoサーバーです。まずTuxJESをOracle Tuxedoアプリケーションとして構成する必要があります。TuxJESがインストールされたディレクトリを参照する環境変数JESDIRが、正しく構成される必要があります。
リスト1に、TuxJESシステムのためのOracle Tuxedo構成ファイル(UBBCONFIG)例の一部を示します。
*GROUPS
QG
LMID=L1 GRPNO=2 TMSNAME=TMS_QM TMSCOUNT=2
OPENINFO="TUXEDO/QM:/jes2queue/QUE:JES2QSPACE"
ARTG
LMID=L1 GRPNO=4
EVTG
LMID=L1 GRPNO=8
*SERVERS
DEFAULT:
CLOPT="-A"
TMUSREVT SRVGRP=EVTG SRVID=1 CLOPT="-A"
TMQUEUE
SRVGRP = QG SRVID = 1
RESTART = Y CONV = N MAXGEN=10
CLOPT = "-s JES2QSPACE:TMQUEUE -- -t 5 "
ARTJESADM SRVGRP =ARTG SRVID = 1 MIN=1 MAX=1
CLOPT = "-A -- -i jesconfig"
ARTJESCONV SRVGRP =ARTG SRVID = 20 MIN=1 MAX=1
CLOPT = "-A --"
ARTJESINITIATOR SRVGRP =ARTG SRVID = 30
CLOPT = "-A -- -c ABCDEFG
ARTJESPURGE SRVGRP =ARTG SRVID = 100
CLOPT = "-A --"
Oracle Tuxedo構成ファイル(UBBCONFIG)には、次のTuxJESサーバーが含まれている必要があります。
| 注意: | ARTJESADM、ARTJESCNOV、ARTJESINITIATORおよびARTJESPURGEの複数のインスタンスを構成できます。 |
TuxJES管理サーバーARTJESADMの場合、-i オプションを使用してTuxJES構成ファイルを指定する必要があります。ARTJESADMは、Oracle Tuxedo構成ファイル(UBBCONFIG)で、ARTJESCONV、ARTJESINITIATORまたはARTJESPURGEの各サーバーより前に構成される必要があります。
詳細情報は、『Oracle Tuxedo Application Runtime for Batchリファレンス・ガイド』を参照してください。
TuxJESはOracle Tuxedo /Qコンポーネントを使用するため、UBBCONFIGファイル内に、TMS_QMが構成されたOracle Tuxedoメッセージング・サーバーTMQUEUEを持つOracle Tuxedoグループが必要です。/Qキュー・スペースの名前は、JES2QSPACEと構成する必要があります。
TuxJESはOracle Tuxedo Eventコンポーネントを使用するため、Oracle Tuxedoユーザー・イベント・サーバーTMUSREVTが、UBBCONFIGファイルにある必要があります。
TuxJESシステムは、単一のマシン上で動作するOracle Tuxedo SHMアプリケーション、または複数のマシン上で動作するOracle Tuxedo MPアプリケーションのいずれかです。
Oracle Tuxedoアプリケーションを設定する方法に関する詳細な情報は、Oracle Tuxedo関連のドキュメントを参照してください。
SCANUNITおよびBLOCKTIMEパラメータを設定することで、ブロッキング・メッセージ、トランザクションおよびその他のシステム・アクティビティのタイムアウト期間数を指定できます。割り当てる値は5の倍数の正数である必要があります。
*RESOURCES
IPCKEY 113333
DOMAINID jesdomain
MASTER SITE1
MODEL SHM
MAXACCESSERS 200
MAXSERVERS 50
NOTIFY SIGNAL
SCANUNIT 20 BLOCKTIME 50
この例では、サニティ・スキャンは20秒ごとに実行され、リクエストが20 * 50 = 1000秒を超えてブロックされることはありません。
1つのTuxJESシステムにつき、JES2QSPACEという名前を持つ/Qキュー・スペースが1つ作成される必要があります。また、このキュー・スペースの中に、いくつかの/Qキューが作成される必要があります。TuxJESには、キュー・スペース(JES2QSPACE)とキューを作成するサンプル・シェル・スクリプト(jesqinit)が用意されています。詳細情報は、『Oracle Tuxedo Application Runtime Batchリファレンス・ガイド』を参照してください。
TuxJESは、ファイル・システムを使用して、バッチ実行エンジンと通信します。TuxJESとバッチ実行エンジンの間の通信のために、ファイル・システム上にディレクトリが作成されます。ディレクトリの名前は、TuxJES構成ファイルで指定されている必要があります。複数のマシン上にTuxJESシステムをデプロイする場合、このディレクトリは共有ファイル・システム(たとえば、NFS)に存在する必要があります。
TuxJES管理サーバーARTJESADMに対して構成ファイルを指定できます。構成ファイルでは、次のパラメータを構成できます。
EVENTPOSTが指定されない場合、イベントはポストされません。イベントのポストでのデータ・バッファはFML32タイプで、フィールドはtuxjes/include/jesflds.hで定義されます。
USER_IDENTICAL: ジョブが、JESシステムに参加するJESクライアントを使用してOracle Tuxedoユーザーによって実行されることを示します。この値を選択する前に、Oracle Tuxedoの各ユーザーが既存のOSユーザーに対応することを確認します。
USER_MAPPING: この値を指定すると、JESシステムはTuxJESユーザー・マッピング・ファイルを参照し、JESシステムに参加するJESクライアントを使用してOracle Tuxedoユーザーに対応するOSユーザーを検出して、このOSユーザーをジョブの実行者として指名します。
TuxJESでは、Oracle Tuxedoセキュリティ・メカニズムを活用して認証を実装します。認証が有効の場合、genapprofileユーティリティを使用してセキュリティ・プロファイルを生成し、それをartjesadminパラメータとして使用して、TuxJESシステムにアクセスしてください。プロファイルで使用されるユーザーは、ジョブ所有者です。ジョブを管理(取消し、パージ、保留および解放)できるのは、所有者だけです。ジョブは、誰でも表示できます。ジョブに所有者がない場合、誰でも操作できます。
Oracle Tuxedoアプリケーションはセキュリティが構成されていない場合でも、genjesprofileユーティリティを使用してジョブ所有者権限のチェックを強制し、データベース接続MT_DB_LOGINを格納できます。
PRIVILEGE_MODE値をMAPPING_CREDENTIALに指定する場合、ユーザー・マッピング・ファイルがロードされ有効になります。Oracle TuxedoユーザーとOSユーザーの間のマッピング関係を定義します。マッピング・ファイル内のすべての行は次のフォーマットになります。
tuxedousername OSusernameユーザー・マッピング・ファイルの所有者はルート、ファイル権限は「-rw-------」にすることをお薦めします。
リスト3に、TuxJESシステム用ユーザー・マッピング・ファイルのセグメント例を示します。
tuxedouser1 OSuser1tuxedouser2 OSuser2TuxJESは、MPモード内で容易に構成できるようになりました。ただし、ジョブを実行するには、EJRとTuxJESの両方で、ジョブを異なるマシンで同時に実行できるように構成を調整する必要があります。この項では、MPモードでバッチ・ランタイムを構成するための必須の構成について具体的に説明します。
TuxJESドメインの異なるマシン上のすべてのサーバーで共有されるジョブのデータは、共有記憶域(NFS)に置いて、ドメイン内のすべてのマシンでアクセスできるようにする必要があります。さらに、NFSはすべてのマシンで同じマウント・ポイントでマウントする必要があります。最後に、JESROOTは、各ノードで共有JESルート・ディレクトリを指すように正しく構成する必要があります。実行時には、すべてのマシン上のTuxJESサーバーが、そのような共有JESROOTに対してデータの書込みや取得を行います。
MPモードでのEJRの構成の詳細は、「バッチ・ランタイムの使用」の「MPモードでのバッチ・ランタイムの構成」を参照してください。
TuxJESシステムが起動したら、artjesadminユーティリティを使用して、ジョブの送信、保留、解放、取消し、パージ、ジョブ情報の表示、ジョブ・ステータス変更のためのイベントのサブスクライブを行うことができます。
artjesadminのサブコマンドsubmitjobを使用して、ジョブを送信することができます。
scriptfileパラメータは、送信されるジョブ・スクリプトです。ジョブ・スクリプトは、Oracle Tuxedo ART WorkbenchによってJCLから生成されます。絶対パス形式、現在の作業ディレクトリの相対パス、または、設定されている場合は、JOBREPOSITORYの相対パスを使用できます。その長さは1023に制限されています。artjesadminは、次の書式を使用する直接ジョブ送信もサポートします。artjesadmin -i scriptfile
JCLFileパラメータは、送信されるJCLジョブ・スクリプトです。絶対パス形式、現在の作業ディレクトリの相対パス、または、設定されている場合は、JOBREPOSITORYの相対パスを使用できます。その長さは1023に制限されています。artjesadminは、次の書式を使用する直接ジョブ送信もサポートします。 artjesadmin -I JCLFile
ジョブを同期的に送信するには、次の書式でartjesadminを使用します。
artjesadmin [-f [security_profile]] [-o ejr_option] [-s shell_option] [-y [-t timeout(s)]] -i/-I scriptfile
| 注意: | ジョブを同期的に送信するには、TuxJES構成ファイル内にEVENTPOST=Aを設定し、UBBCONFIGファイル内でNOTIFYをDIPINに設定して、サーバーTMUSREVTを設定する必要があります。 |
00000002,JOBA,DONE,C0000
00000002,JOBA,FAILED,U056800000002,JOBA,Already Timeout! artjesadminのサブコマンドprintjobを使用して、単独のジョブまたは一連のジョブの情報を表示することができます。
printjobサブコマンドの出力には、次の内容が含まれます。
| 注意: | JES2システムにあるジョブが多すぎる場合、コンソールですべてのジョブのステータスを出力するときにタイムアウトが発生する可能性があります。この状況を回避するには、JESのubbconfigに十分長いブロック・タイムを設定する必要があります。 |
| 注意: | ブロック・タイムの設定の詳細は、「TuxJES用のUBBCONFIG内のブロック・タイム」を参照してください。 |
ジョブ・ステータスを同期的に取得するには、次の書式でartjesadminを使用します。
artjesadmin [-f [security_profile]] -p -j jobid
00000002,JOBA,DONE,C000000000002,JOBA,FAILED,U056800000002,JOBA,EXECUTING artjesadminのサブコマンドholdjobを使用して、CONVINGまたはWAITINGステータスにあるジョブまたは一連のジョブを保留することができます。
artjesadminのサブコマンドreleasejobを使用して、HOLD_WAITINGまたはHOLD_CONVINGステータスにあるジョブまたは一連のジョブを解放することができます。
artjesadminのサブコマンドcanceljobを使用して、単独のジョブまたは一連のジョブの情報を取り消すことができます。
artjesadminのサブコマンドpurgejobを使用して、単独のジョブまたは一連のジョブの情報をパージすることができます。
DONEまたはFAILステータスの完了されたジョブが、パージ・キューへ移動されます。他のジョブの場合、purgejobが、canceljobと同じ効果を持っています。purgejobコマンドは、ジョブを直接パージしません。ARTJESPURGEサーバーが、TuxJESシステムからジョブを削除します。
artjesadmin のサブコマンドprintconcurrentを使用して、ARTJESINITIATORサーバーの最大同時実行ジョブ数を表示することができます。
artjesadmin のサブコマンドchangeconcurrentを使用して、ARTJESINITIATORサーバーの最大同時実行ジョブ数を変更することができます。
artjesadmin のサブコマンドeventを使用して、ジョブ・ステータス変更イベントをサブスクライブまたはサブスクライブ解除することができます。
イベントをサブスクライブすると、対応するイベントが生成したときに、artjesadminコンソール上に通知されます。
|