目次 前 次 PDF


CSIMPAPP (簡単なCOBOLアプリケーション)のチュートリアル

CSIMPAPP (簡単なCOBOLアプリケーション)のチュートリアル
このトピックには次の項が含まれます:
CSIMPAPPとは
CSIMPAPPは、Oracle Tuxedoシステムに同梱されているサンプルATMIアプリケーションです。ここで説明する内容はMicrofocus COBOLコンパイラを前提としているため、ご使用のコンパイラによって手順が異なる場合があります。Oracle TuxedoシステムでサポートされているCOBOLプラットフォームを確認するには、『Oracle Tuxedoシステムのインストール』付録A「Oracle Tuxedo 10gリリース3 (10.3)プラットフォーム・データ・シート」を参照してください。
CSIMPAPPでは、クライアントとサーバーがそれぞれ1つずつ使用されています。サーバーでは、1つのサービスだけが実行されます。つまり、クライアントから文字列を受け取り、その文字列を大文字で返します。
CSIMPAPPのファイルおよびリソースの準備
ここでは、CSIMPAPPの開発を始めるための準備作業について説明します。図4-1は、それらの準備作業をまとめたものです。
各作業をクリックすると、その作業を行う手順が表示されます。
図4-1 csimpappの開発プロセス
 
 
始める前に
このチュートリアルを実行するには、Oracle Tuxedo ATMIクライアント/サーバー・ソフトウェアがインストールされ、ここで説明するファイルやコマンドを使用できることが必要です。Oracle Tuxedoシステム・ソフトウェアのインストールを行う場合は、『Oracle Tuxedoシステムのインストール』のインストール手順を参照してください。すでにインストールされている場合は、ソフトウェアのインストール先ディレクトリのパス名(TUXDIR)を確認する必要があります。また、Oracle Tuxedoシステム・ディレクトリ構造内のディレクトリとファイルに読取りパーミッションと実行パーミッションを設定し、CSIMPAPPの各ファイルをコピーしたり、Oracle Tuxedoシステムの各コマンドを実行できるようにします。
このチュートリアルの目的
ここで説明する作業を行うと、クライアントおよびサーバーが実行できるタスクについて理解し、環境に応じて構成ファイルを変更でき、tmadminを呼び出してアプリケーションの動作を確認できるようになります。つまり、Oracle Tuxedoのすべてのアプリケーションの基本的な要素(クライアント・プロセス、サーバー・プロセス、構成ファイルなど)を理解し、Oracle Tuxedoシステムの各コマンドを使用してアプリケーションを管理できるようになります。
ステップ1 : CSIMPAPPファイルのコピー
1.
CSIMPAPP用にディレクトリを作成し、そのディレクトリに移動します。
mkdir CSIMPDIR
cd CSIMPDIR
注意:
この作業は省略せずに行ってください。この作業を行うと、最初からあったCSIMPAPPのファイルと、手順に従って作成したファイルを確認できるようになります。cshを使用せずに、標準シェル(/bin/sh)またはKornシェルを使用してください。
2.
環境変数を設定し、エクスポートします。
TUXDIR=<pathname of the BEA Tuxedo System root directory>
APPDIR=<pathname of your present working directory>
TUXCONFIG=$APPDIR/TUXCONFIG
COBDIR=<pathname of the COBOL compiler directory>
COBCPY=$TUXDIR/cobinclude
COBOPT="-C ANS85 -C ALIGN=8 -C NOIBMCOMP -C TRUNC=ANSI -C OSEXT=cbl"
CFLAGS="-I$TUXDIR/include"
PATH=$TUXDIR/bin:$APPDIR: $PATH
LD_LIBRARY_PATH=$COBDIR/coblib:${LD_LIBRARY_PATH}
export TUXDIR APPDIR TUXCONFIG UBBCONFIG COBDIR COBCPY
export COBOPT CFLAGS PATH LD_LIBRARY_PATH
TUXDIRおよびPATHを設定して、Oracle Tuxedoディレクトリ構造内のファイルにアクセスでき、Oracle Tuxedoコマンドを実行できるようにします。
Sun Solarisでは、PATHの最上位ディレクトリとして/usr/5binを指定する必要があります。
AIXプラットフォーム(RS/6000)では、LD_LIBRARY_PATHではなくLIBPATHを使用します。
HP-UXプラットフォーム(HP 9000)では、LD_LIBRARY_PATHのかわりにSHLIB_PATHを使用します。ステップ4で示すように、TUXCONFIGを設定して、構成ファイルをロードできるようにする必要があります。
3.
CSIMPAPPファイルをコピーします。
cp TUXDIR/samples/atmi/CSIMPAPP/* .
注意:
一部のファイルは、後で編集して実行可能ファイルを作成します。そのため、ソフトウェアに同梱のオリジナルのファイルではなく、そのコピーを使用することをお薦めします。
4.
ファイルを一覧表示します。
$ ls
CSIMPCL.cbl
CSIMPSRV.cbl
README
TPSVRINIT.cbl
UBBCSIMPLE
WUBBCSIMPLE
envfile
ws
$
このアプリケーションを構成するファイルは、次のとおりです。
CSIMPCL.cbl - クライアント・プログラムのソース・コード
CSIMPSRV.cbl - サーバー・プログラムのソース・コード
TPSVRINIT.cbl - サーバー初期化プログラムのソース・コード
UBBCSIMPLE - このアプリケーション用のテキスト形式の構成ファイル
WUBBCSIMPLE - ワークステーションのサンプル用構成ファイル
ws - 3種類のワークステーション・プラットフォームに対するクライアント・プログラムの.MAKファイルが置かれたディレクトリ
ステップ2 :クライアント・プログラムの検証およびコンパイル
クライアント・プログラムの検証
クライアント・プログラムのソース・コードの内容を確認します。
$ more CSIMPCL.cbl
次に出力結果を示します。
リスト4-1 CSIMPCL.cblのソース・コード
1 IDENTIFICATION DIVISION.
2 PROGRAM-ID. CSIMPCL.
3 AUTHOR. Tuxedo DEVELOPMENT.
4 ENVIRONMENT DIVISION.
5 CONFIGURATION SECTION.
6 WORKING-STORAGE SECTION.
7 *****************************************************
8 * Tuxedo definitions
9 *****************************************************
10 01 TPTYPE-REC.
11 COPY TPTYPE.
12 *
13 01 TPSTATUS-REC.
14 COPY TPSTATUS.
15 *
16 01 TPSVCDEF-REC.
17 COPY TPSVCDEF.
18 *
19 01 TPINFDEF-REC VALUE LOW-VALUES.
20 COPY TPINFDEF.
21 *****************************************************
22 * Log messages definitions
23 *****************************************************
24 01 LOGMSG.
25 05 FILLER PIC X(8) VALUE "CSIMPCL:".
26 05 LOGMSG-TEXT PIC X(50).
27 01 LOGMSG-LEN PIC S9(9) COMP-5.
28 *
29 01 USER-DATA-REC PIC X(75).
30 01 SEND-STRING PIC X(100) VALUE SPACES.
31 01 RECV-STRING PIC X(100) VALUE SPACES.
32 *****************************************************
33 * Command line arguments
34 *****************************************************
35 * Start program with command line args
36 ******************************************************
37
38 PROCEDURE
39 START-CSIMPCL.
40 MOVE LENGTH OF LOGMSG TO LOGMSG-LEN.
41 ACCEPT SEND-STRING FROM COMMAND-LINE.
42 DISPLAY ���SEND-STRING:��� SEND-STRING.
43
44 MOVE ���Started��� TO LOGMSG-TEXT.
45 PERFORM DO-TPINIT.
46 PERFORM DO-TPCALL.
47 DISPLAY ���RECV-STRING:��� RECV-STRING.
48 PERFORM DO-TPTERM.
49 PERFORM EXIT-PROGRAM.
50 *****************************************************
51 * Now register the client with the system.
52 *****************************************************
53 DO-TPINIT.
54 MOVE SPACES TO USRNAME.
55 MOVE SPACES TO CLTNAME.
56 MOVE SPACES TO PASSWD.
57 MOVE SPACES TO GRPNAME.
58 MOVE ZERO TO DATALEN.
59 SET TPU-DIP TO TRUE.
60
61 CALL "TPINITIALIZE" USING TPINFDEF-REC
62 USER-DATA-REC
63 TPSTATUS-REC.
64
65 IF NOT TPOK
66 MOVE "TPINITIALIZE Failed" TO LOGMSG-TEXT
67 PERFORM DO-USERLOG
68 PERFORM EXIT-PROGRAM
69 END-IF.
70
71 *****************************************************
72 * Issue a TPCALL
73 *****************************************************
74 DO-TPCALL.
75 MOVE 100 to LEN.
76 MOVE "STRING" TO REC-TYPE.
77 MOVE "CSIMPSRV" TO SERVICE-NAME.
78 SET TPBLOCK TO TRUE.
79 SET TPNOTRAN TO TRUE.
80 SET TPNOTIME TO TRUE.
81 SET TPSIGRSTRT TO TRUE.
82 SET TPCHANGE TO TRUE.
83
84 CALL "TPCALL" USING TPSVCDEF-REC
85 TPTYPE-REC
86 SEND-STRING
87 TPTYPE-REC
88 RECV-STRING
89 TPSTATUS-REC.
90
91 IF NOT TPOK
92 MOVE "TPCALL Failed" TO LOGMSG-TEXT
93 PERFORM DO-USERLOG
94 END-IF.
95
96 *****************************************************
97 * Leave Tuxedo
98 *****************************************************
99 DO-TPTERM.
100 CALL "TPTERM" USING TPSTATUS-REC.
101 IF NOT TPOK
102 MOVE "TPTERM Failed" TO LOGMSG-TEXT
103 PERFORM DO-USERLOG
104 END-IF.
105
106 *****************************************************
107 * Log messages to the userlog
108 *****************************************************
109 DO-USERLOG.
110 CALL "USERLOG" USING LOGMSG
111 LOGMSG-LEN
112 TPSTATUS-REC.
113
114 *****************************************************
115 *Leave Application
116 *****************************************************
117 EXIT-PROGRAM.
118 MOVE "Ended" TO LOGMSG-TEXT.
119 PERFORM DO-USERLOG.
120 STOP RUN.
 
 
表4-1 CSIMPCL.cblソース・コードでの重要なコード行
行数
ファイル/関数
目的
11、14、17、20
COPY
Oracle Tuxedo ATMI関数を使用する場合に、常に必要となるファイルをレプリケートするためのコマンド。
61
TPINITIALIZE
クライアント・プログラムがアプリケーションに参加する際に使用されるATMI関数。
84
TPCALL
SERVICE-NAMEで指定されたサービスにメッセージ・レコードを送信する際に使用されるATMI関数。TPCALLは、メッセージが返されるまで待機します。STRINGは、Oracle Tuxedoの3つの基本的なレコード・タイプのいずれかになります。LEN IN TPTYPE-REC引数は、USER-DATA-RECのレコードの長さを指定します。
100
TPTERM
アプリケーションを終了するためのATMI関数。TPTERMは、STOP RUNを実行する前にアプリケーションを終了する場合に呼び出します。
110
USERLOG
tpcallが正常に実行された場合に、サーバーから返されるメッセージを表示する関数。
クライアント・プログラムのコンパイル
1.
buildclientを実行して、ATMIクライアント・プログラムをコンパイルします。
buildclient -C -o CSIMPCL -f CSIMPCL.cbl
CSIMPCLは出力ファイル、CSIMPCL.cblは入力ソース・ファイルです。
2.
結果を確認します。
$ ls CSIMPCL*
CSIMPCL CSIMPCL.cbl CSIMPCL.idy CSIMPCL.int CSIMPCL.o
CSIMPCLという実行可能モジュールが作成されました。
関連項目
『Oracle Tuxedoコマンド・リファレンス』buildclient(1)に関する項
『Oracle Tuxedo ATMI COBOL関数リファレンス』TPINITIALIZE(3cbl)に関する項
『Oracle Tuxedo ATMI COBOL関数リファレンス』TPTERM(3cbl)に関する項
『Oracle Tuxedo ATMI COBOL関数リファレンス』TPCALL(3cbl)に関する項
『Oracle Tuxedo ATMI COBOL関数リファレンス』USERLOG(3cbl)に関する項
ステップ3 :サーバーの検証およびコンパイル
サーバー・プログラムの検証
1.
CSIMPSRV ATMIサーバー・プログラムのソース・コードの内容を確認します。
$ more CSIMPSRV.cbl
リスト4-2 CSIMPSRV.cblのソース・コード
1 IDENTIFICATION DIVISION.
2 PROGRAM-ID. CSIMPSRV.
3 AUTHOR. BEA Tuxedo DEVELOPMENT.
4 ENVIRONMENT DIVISION.
5 CONFIGURATION SECTION.
6 WORKING-STORAGE SECTION.
7 ******************************************************
8 * Tuxedo definitions
9 ******************************************************
10 01 TPSVCRET-REC.
11 COPY TPSVCRET.
12 *
13 01 TPTYPE-REC.
14 COPY TPTYPE.
15 *
16 01 TPSTATUS-REC.
17 COPY TPSTATUS.
18 *
19 01 TPSVCDEF-REC.
20 COPY TPSVCDEF.
21 ******************************************************
22 * Log message definitions
23 ******************************************************
24 01 LOGMSG.
25 05 FILLER PIC X(10) VALUE
26 "CSIMPSRV :".
27 05 LOGMSG-TEXT PIC X(50).
28 01 LOGMSG-LEN PIC S9(9) COMP-5.
29 ******************************************************
31 * User defined data records
32 ******************************************************
33 01 RECV-STRING PIC X(100).
34 01 SEND-STRING PIC X(100).
35 *
36 LINKAGE SECTION.
37 *
38 PROCEDURE DIVISION.
39 *
40 START-FUNDUPSR.
41 MOVE LENGTH OF LOGMSG TO LOGMSG-LEN.
42 MOVE "Started" TO LOGMSG-TEXT.
43 PERFORM DO-USERLOG.
44
45 ******************************************************
46 * Get the data that was sent by the client
47 ******************************************************
48 MOVE LENGTH OF RECV-STRING TO LEN.
49 CALL "TPSVCSTART" USING TPSVCDEF-REC
50 TPTYPE-REC
51 RECV-STRING
52 TPSTATUS-REC.
53
54 IF NOT TPOK
55 MOVE "TPSVCSTART Failed" TO LOGMSG-TEXT
56 PERFORM DO-USERLOG
57 PERFORM EXIT-PROGRAM
58 END-IF.
59
60 IF TPTRUNCATE
61 MOVE "Data was truncated" TO LOGMSG-TEXT
62 PERFORM DO-USERLOG
63 PERFORM EXIT-PROGRAM
64 END-IF.
65
66 INSPECT RECV-STRING CONVERTING
67 "abcdefghijklmnopqrstuvwxyz" TO
68 "ABCDEFGHIJKLMNOPQRSTUVWXYZ".
69 MOVE "Success" TO LOGMSG-TEXT.
70 PERFORM DO-USERLOG.
71 SET TPSUCCESS TO TRUE.
72 COPY TPRETURN REPLACING
73 DATA-REC BY RECV-STRING.
74
75 ******************************************************
76 * Write out a log err messages
77 ******************************************************
78 DO-USERLOG.
79 CALL "USERLOG" USING LOGMSG
80 LOGMSG-LEN
81 TPSTATUS-REC.
82 ******************************************************
83 * EXIT PROGRAM
84 ******************************************************
85 EXIT-PROGRAM.
86 MOVE "Failed" TO LOGMSG-TEXT.
87 PERFORM DO-USERLOG.
88 SET TPFAIL TO TRUE.
89 COPY TPRETURN REPLACING
90 DATA-REC BY RECV-STRING.
 
 
表4-2 CSIMPSRV.cblソース・コードでの重要なコード行
行数
ルーチン
目的
49
TPSVCSTART
このサービスを開始し、サービスのパラメータとデータを取得するためのルーチン。呼出しが成功すると、クライアントによって送信されたデータがRECV-STRINGに格納されます。
66-68
INSPECT
入力を大文字に変換する文(Microfocus固有)。
72
COPY TPRETURN
TPSUCCESSに設定された値と、変換された文字列をクライアントに返すコマンド行。
79
USERLOG
Oracle Tuxedoシステムおよびアプリケーションで使用されるメッセージを記録するルーチン。
2.
サーバーの初期化時(つまり、サービス・リクエストの処理がサーバーで開始される前)に、Oracle TuxedoシステムによってTPSVRINITサブルーチンが呼び出されます。TPSVRINITを理解するには、そのソース・コードの内容を参照します。
$ more TPSVRINIT.cbl
リスト4-3 TPSVRINIT.cblのソース・コード
1 IDENTIFICATION DIVISION.
2 PROGRAM-ID. TPSVRINIT.
3 ENVIRONMENT DIVISION.
4 CONFIGURATION SECTION.
5 *
6 DATA DIVISION.
7 WORKING-STORAGE SECTION.
8 *
9 01 LOGMSG.
10 05 FILLER PIC X(11) VALUE "TPSVRINIT :".
11 05 LOGMSG-TEXT PIC X(50).
12 01 LOGMSG-LEN PIC S9(9) COMP-5.
13 *
14 01 TPSTATUS-REC.
15 COPY TPSTATUS.
16 *********************************************************
17 LINKAGE SECTION.
18 01 CMD-LINE.
19 05 ARGC PIC 9(4) COMP-5.
20 05 ARG.
21 10 ARGS PIC X OCCURS 0 TO 9999 DEPENDING ON ARGC.
22 *
23 01 SERVER-INIT-STATUS.
24 COPY TPSTATUS.
25 ***********************************************************
26 PROCEDURE DIVISION USING CMD-LINE SERVER-INIT-STATUS.
27 A-000.
28 MOVE LENGTH OF LOGMSG TO LOGMSG-LEN.
29 ***********************************************************
30 * There are no command line parameters in this TPSVRINIT
31 ***********************************************************
32 IF ARG NOT EQUAL TO SPACES
33 MOVE "TPSVRINIT failed" TO LOGMSG-TEXT
34 CALL "USERLOG" USING LOGMSG
35 LOGMSG-LEN
36 TPSTATUS-REC
37 ELSE
38 MOVE "Welcome to the simple service" TO LOGMSG-TEXT
39 CALL "USERLOG" USING LOGMSG
40 LOGMSG-LEN
41 TPSTATUS-REC
42 END-IF.
43 *
44 SET TPOK IN SERVER-INIT-STATUS TO TRUE.
45 *
46 EXIT PROGRAM.
 
Oracle Tuxedoシステムでは、デフォルトでサーバーが起動したことを示すメッセージがUSERLOGに書き込まれます。
サーバー・プログラムのコンパイル
1.
次に示すようにbuildserverを実行して、ATMIサーバー・プログラムをコンパイルします。
buildserver -C -o CSIMPSRV -f CSIMPSRV.cbl -f TPSVRINIT.cbl -s CSIMPSRV
CSIMPSRVは作成される実行可能ファイル、CSIMPSRV.cblおよびTPSVRINIT.cblは入力ソース・ファイルです。-s CSIMPSRVは、CSIMPSRVサーバーによって提供されているサービスです。
2.
カレント・ディレクトリにあるファイルのリストを出力し、結果を確認します。
$ ls
CSIMPCL CSIMPCL.int CSIMPSRV.cbl CSIMPSRV.o TPSVRINIT.int
CSIMPCL.cbl CSIMPCL.o CSIMPSRV.idy TPSVRINIT.cbl TPSVRINIT.o
CSIMPCL.idy CSIMPSRV CSIMPSRV.int TPSVRINIT.idy UBBCSIMPLE
CSIMPSRV実行可能モジュールが作成されました。
関連項目
『Oracle Tuxedoコマンド・リファレンス』buildserver(1)に関する項
『Oracle Tuxedo ATMI COBOL関数リファレンス』TPSVCSTART(3cbl)に関する項
『Oracle Tuxedo ATMI COBOL関数リファレンス』TPSVRINIT(3cbl)に関する項
『Oracle Tuxedo ATMI COBOL関数リファレンス』TPRETURN(3cbl)に関する項
『Oracle Tuxedo ATMI COBOL関数リファレンス』USERLOG(3cbl)に関する項
ステップ4 :構成ファイルの編集とロード
構成ファイルの編集
1.
テキスト・エディタで、CSIMPAPPの構成ファイルの内容を確認します。
リスト4-4 CSIMPAPP構成ファイル
#Skeleton UBBCONFIG file for the BEA Tuxedo COBOL Simple Application.
#Replace the <bracketed> items with the appropriate values.
*RESOURCES
IPCKEY <Replace with a valid IPC Key>
#Example:
#IPCKEY 123456

DOMAINID UBBCSIMPLE
MASTER simple
MAXACCESSERS 5
MAXSERVERS 5
MAXSERVICES 10
MODEL SHM
LDBAL N
*MACHINES
DEFAULT:
APPDIR="<Replace with the current pathname>"
TUXCONFIG="<Replace with TUXCONFIG Pathname>"
TUXDIR="<Root directory of BEA Tuxedo (not /)>"
ENVFILE="<pathname of file of environment vars>"
#Example:
# APPDIR="/home/me/simpapp"
# TUXCONFIG="/home/me/simpapp/TUXCONFIG"
# TUXDIR="/usr/tuxedo"
# ENVFILE=���/home/me/simpapp/envfile���
<Machine-name> LMID=simple
#Example:
#usltux LMID=simple
*GROUPS
GROUP1
LMID=simple GRPNO=1 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
CSIMPSRV SRVGRP=GROUP1 SRVID=1
*SERVICES
CSIMPSRV
 
2.
string(山カッコで囲まれたイタリック表示の文字列)をそれぞれ適切な値に置き換えます:
IPCKEY - ほかのユーザーと競合しない値を指定します。
TUXCONFIG - TUXCONFIGバイナリ・ファイルのフルパス名を指定します。
TUXDIR - Oracle Tuxedoシステム・ルート・ディレクトリのフルパス名を指定します。
APPDIR - アプリケーションを起動するディレクトリ(この例ではカレント・ディレクトリ)のフルパス名を指定します。
ENVFILE - mcviewctmloadcfなどで使用される環境ファイルのフルパス名を指定します。
machine-name - UNIXプラットフォームのuname -nコマンドで返されるマシン名を指定します。
注意:
TUXCONFIGおよびTUXDIRのパス名は、すでに設定してエクスポートしたTUXCONFIGおよびTUXDIRのパス名と一致する必要があります。実際のパス名を指定してください。TUXCONFIGなどの環境変数で参照されるパス名は使用できません。山かっこは必ず削除してください。
構成ファイルのロード
1.
tmloadcfを実行して、構成ファイルをロードします。
$ tmloadcf UBBCSIMPLE
Initialize TUXCONFIG file: /usr/me/CSIMPDIR/TUXCONFIG [y, q] ? y
$
2.
カレント・ディレクトリにあるファイルのリストを出力し、結果を確認します。
$ ls
CSIMPCL CSIMPCL.o CSIMPSRV.int TPSVRINIT.int
CSIMPCL.cbl CSIMPSRV CSIMPSRV.o TPSVRINIT.o
CSIMPCL.idy CSIMPSRV.cbl TPSVRINIT.cbl TUXCONFIG
CSIMPCL.int CSIMPSRV.idy TPSVRINIT.idy UBBCSIMPLE
Oracle Tuxedoシステムによって制御される新しいファイルTUXCONFIGがロードされました。
関連項目
『Oracle Tuxedoコマンド・リファレンス』tmloadcf(1)に関する項
『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』UBBCONFIG(5)に関する項
ステップ5 :アプリケーションの起動
tmbootを実行して、アプリケーションを起動します。
$ tmboot
Boot all admin and server processes? (y/n): y
Booting all admin and server processes in /usr/me/CSIMPDIR/TUXCONFIG
Booting all admin processes ...
exec BBL -A:
process id=24223 ... Started.
Booting server processes ...
exec CSIMPSRV -A :
process id=24257 ... Started.
2 processes started.
$
BBL (Bulletin Board Liaison)は、アプリケーションの共有メモリーをモニターする管理プロセスです。CSIMPSRVは、リクエストを受け取るために継続的に実行しているCSIMPAPPサーバーです。
関連項目
『Oracle Tuxedoコマンド・リファレンス』tmboot(1)に関する項
ステップ6 :ランタイム・アプリケーションのテスト
CSIMPAPPをテストするには、クライアントからリクエストを送信します。
$ CSIMPCL ���hello world���
HELLO WORLD
ステップ7 :ランタイム・アプリケーションのモニター
システム管理者はtmadminコマンド・インタプリタを使用して、アプリケーションを調べ、動的に変更を加えることができます。tmadminを実行するには、TUXCONFIG変数を設定する必要があります。
tmadminを使用すると、50個以上のコマンドを解釈したり実行したりできます。完全なリストについては、『Oracle Tuxedoコマンド・リファレンス』tmadmin(1)に関する項を参照してください。この例では、2つのtmadminコマンドを使用します。
1.
次のコマンドを入力します。
tmadmin
次が出力されます。
tmadmin - Copyright (c) 1999 BEA Systems Inc.; 1991 USL.All rights reserved.
>
注意:
大なり記号(>)は、tmadminのプロンプトです。
2.
printserver(psr)コマンドを入力して、サーバーに関する情報を出力します。
> psr
a.out Name Queue Name Grp Name ID RqDone Load Done Current Service
---------- ---------- -------- -- ------ --------- ---------------
BBL 531993 simple 0 0 0 (IDLE)
CSIMPSRV 00001.00001 GROUP1 1 0 0 (IDLE)
>
3.
printservice(psc)コマンドを入力して、サービスに関する情報を出力します。
> psc
Service Name Routine Name a.out Name Grp Name ID Machine # Done Status
------------ ------------ ---------- -------- -- ------- ---- -------
CSIMPSRV CSIMPSRV CSIMPSRV GROUP1 1 simple - AVAIL
>
4.
プロンプトで「q」と入力して、tmadminを終了します。アプリケーションの起動と停止は、tmadminから行うことができます。
関連項目
『Oracle Tuxedoコマンド・リファレンス』tmadmin(1)に関する項
ステップ8 :アプリケーションの停止
1.
tmshutdownを実行して、アプリケーションを停止します。
$ tmshutdown
Shutdown all admin and server processes? (y/n): y
Shutting down all admin and server processes in /usr/me/CSIMPDIR/TUXCONFIG
Shutting down server processes ...
Server Id = 1 Group Id = GROUP1 Machine = simple: shutdown succeeded.
Shutting down admin processes ...
Server Id = 0 Group Id = simple Machine = simple: shutdown succeeded.
2 processes stopped.
$
2.
ULOGの内容を確認します。
$ cat ULOG*
$
140533.usltux!BBL.22964: LIBTUX_CAT:262: std main starting
140540.usltux!CSIMPSRV.22965: COBAPI_CAT:1067: INFO: std main starting
140542.usltux!CSIMPSRV.22965: TPSVRINIT :Welcome to the simple service
140610.usltux!?proc.22966: CSIMPCL:Started
140614.usltux!CSIMPSRV.22965: CSIMPSRV :Started
140614.usltux!CSIMPSRV.22965: CSIMPSRV :Success
140614.usltux!?proc.22966: switch to new log file
/home/usr_nm/CSIMPDIR/ULOG.112592
140614.usltux!?proc.22966: CSIMPCL:Ended
このセッションでは、ULOGの各行に意味があります。まず、ULOG行の形式を確認してください。
time (hhmmss).machine_uname!process_name.process_id: log message
次に、実際のコード行を確認してください。
140542です。CSIMPSRVのTPSVRINITのメッセージ
関連項目
『Oracle Tuxedoコマンド・リファレンス』tmshutdown(1)に関する項
『Oracle Tuxedo ATMI COBOL関数リファレンス』USERLOG(3cbl)に関する項
 

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved