4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IBM i Services Directory : QSYS2.Joblog_Info()表関数

Last updated at Posted at 2024-12-04

(QA) Db2 for i にACSからSQL実行した際のエラーを調べたいでご紹介したように、ジョブ実行結果、エラーが発生した際にログを確認する際利用できます。
(当然ですが、)ジョブログはSQL以外であってもそのジョブのロギングレベル等に応じて出力されますのでこのIBM i サービスで検索可能です。

概要

■表関数名:QSYS2. Joblog_Info
■カテゴリ:メッセージ処理サービス
■サポート:IBM i 7.2 SF99702 Level 3以降
■参照URL(IBM i 7.5):https://www.ibm.com/docs/ja/i/7.5?topic=services-joblog-info-table-function

使用例1 : ODBC, JDBCのログ確認

IBM i にODBC, JDBC等で接続したジョブのログを検索する例

SELECT * FROM TABLE(QSYS2.JOBLOG_INFO('328898/QUSER/QZDASOINIT'));

QZDASOINITの簡単な説明はこちら。
ODBC, JDBCジョブを接続した際にIBM i で起動する(処理実行する)ジョブになります。

ジョブ名の調べ方

色々ありますが5250ならWRKACTJOBコマンド、Navigator for iなら実行管理機能 → アクティブジョブなどがあります。QZDASOINITはIBM i OSが起動するサーバー・ジョブに該当するので、Navigator for i ではサーバー・ジョブ から検索したほうが早いと思います。
image.png

上記サーバージョブ画面でジョブ名のフィルターに QZDASOINIT を指定するとODBC, JDBCのサーバージョブの一覧を取得できます。

image.png

上図からは、
・このIBM i ではサーバー・ジョブが107個実行中、うちQZDASOINITのジョブ数=7個です。
・この7という値がODBC,JDBCの接続数になります。
・7は必ずしも接続ユーザー数とイコールではないかもしれません、アプリケーションのコーディングによっては1ユーザーが複数セッションを接続しているかもしれません。
・ですが、一般には接続ユーザー数とほぼ一緒と考えていいのではと思います。

上記で調べたジョブ名、現行ユーザー、番号を控えます・・
・・と見たら、ジョブ番号が表示されていないので、下記画像の右上 : をクリックして表示カラムを追加します。数値 というのがジョブ番号です。
image.png

下記のようにジョブ番号も表示されました。3行目の 673226 を調べることにします。
image.png

ここでもう一つ注意点があります。ユーザー名が実は2つあります。ユーザー名 と 現行ユーザー名 です。

下記ではカラムの表示順を変えてあります。Joblog_Info()はじめジョブ名を指定する場合は通常、ユーザー名の方を指定します。今回の例ではQUSERになります。

image.png

実行例

SELECT * FROM TABLE(QSYS2.JOBLOG_INFO('673226/QUSER/QZDASOINIT'));

image.png

このようにジョブログが検索できました。

ここから様々な条件でメッセージをフィルターして検索できます。

使用例2:5250ジョブ(QINTERサブシステム下のジョブ)のジョブログを検索する

下記のようにNavigator for i ではアクティブジョブの画面から、 サブシステム名 QINTERでフィルターします。(5250端末ID=ジョブ名などでフィルターしてもいいです)

GOMADSP1 GOMA 674408 のジョブログを検索してみます。

image.png

※上記の画面サンプルでは表示カラム、表示順序をカスタマイズしています。

コマンドは・・

SELECT * FROM TABLE(QSYS2.JOBLOG_INFO('674408/GOMA/GOMADSP1'));

image.png

上記で、SEVERITY 20以上は何らかのエラーメッセージですのでそれを確認することにします。
カラムが切れてしまっているので、実行SQLを修正します。

SELECT MESSAGE_ID, MESSAGE_TYPE, MESSAGE_SUBTYPE, SEVERITY, MESSAGE_TIMESTAMP, MESSAGE_TEXT, MESSAGE_SECOND_LEVEL_TEXT  FROM TABLE(QSYS2.JOBLOG_INFO('674408/GOMA/GOMADSP1') );

image.png

赤線の行がエラーのようです。存在しないCLプログラム名を指定していたようです。

4
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?