1
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 上のオブジェクトの作成日・最終使用日・使用日数などを調べたい

Last updated at Posted at 2025-04-01

おさらい:IBM i 上に存在する操作対象は全てオブジェクト

IBM i OSから操作可能(識別可能)な一つ一つはすべて「オブジェクト」とよばれます。

image.png

ほかのOSとの違いとしては、
・データベース(テーブル、ビュー、SQL関連のオブジェクト、ジャーナル(DBログ))等もすべてIBM i OSの管理するオブジェクト
・APサーバー(WebSphere Application Server)やHTTPサーバーの全てのファイル類、その他ミドルウェア、ベンダー製S/W類もIBM i OSの管理するオブジェクト

になる、という点でしょうか。
補足すると狭義のIFS上のテキストファイル、JPEG他イメージファイルetc.もIBM i OSの管理するオブジェクトです。

IBM i OSのオブジェクト管理はデータベース、ユーザープログラム、その他M/W、IBM i OSオブジェクト、etc.に分け隔てなくすべて共通

IBM i OS上で操作可能な一つ一つのオブジェクトはすべてOSが共通の操作体系で管理されている、よって以下のようなIBM i OSが管理するする属性・情報はすべてのオブジェクトが等しく保持しています。
・オブジェクトの作成日時
・オブジェクトの作成ユーザー・プロフィール
・オブジェクトの使用日数
・オブジェクトのバックアップ・復元情報

以下が本稿の本題となりますが、IBM i OSのオブジェクトの作成日・最終使用日・使用日数等を調べる方法になります。

オブジェクトの作成日・変更日・最終使用日・使用日数等は DSPOBJD コマンドで確認できる

DSPOBJD(DiSPlay OBJect Definition)コマンドの使用例はこちら

PF(テーブル)TOKMSPのオブジェクト属性を5250端末上に表示する

DSPOBJD OBJ(DEMOLIB/TOKMSP) OBJTYPE(*FILE) OUTPUT(*)

上記でOUTPUTパラメーターを*PRINT, *OUTFILEとするとスプール、PF(テーブル)に出力できます。*OUTFILEの場合は以下のように出力先PF名も指定します。

DSPOBJD OBJ(DEMOLIB/TOKMSP) OBJTYPE(*FILE) OUTPUT(*OUTFILE) OUTFILE(GOMALIB/OBJINF_1) 

OUTFILEのPF名、ライブラリー名は任意です。

くどいですが、DSPOBJDコマンドを使用するとオブジェクトの種類(システムオブジェクトか、データベースオブジェクトか、その他M/Wか、ユーザー作成アプリケーション関連オブジェクトか等)に関係なく基本的には共通の情報を取得できます。

たとえばユーザー作成RPGプログラムの場合は以下のように指定します。

DSPOBJD OBJ(DEMOLIB/IPH110) OBJTYPE(*PGM) OUTPUT(*) 

OBJTYPEが*PGMと指定するのが上のPF(テーブル)の場合との相違ですね。

※OUTPUTパラメーターのデフォルトは '*' (5250ディスプレイに表示)なので省略できます。

DSPOBJDコマンドの実行例① テーブル

実行コマンド例はこちら

DSPOBJD OBJ(DEMOLIB/TOKMSP) OBJTYPE(*FILE) 

出力例がこちら
image.png
5250表示の場合、この画面でOPT欄に 5 または 8 を入力して情報を確認します。以下でいくつか紹介します。

以下の画面ではオブジェクト(例ではDBテーブル)の作成日・作成ユーザー・作成したシステム名(IBM i LPAR毎に固有のシステム名)などが確認できます。
image.png

ページをスクロールすると、以下のような画面が表示されます。
image.png
この画面では、システム・レベルという欄でこのDBテーブル(TOKMSP)がOS/400 V4R5で作成されたことがわかります。実際操作しているIBM i は7.5なので10世代前のバージョンになりますね(^^;。たぶん2000年代前半に一つ上の画像にある作成ユーザープロフィールSAWADA さんが作成された、と言う事が分かります。

現在の正式サポートではIBM i OSバージョン間の保管・復元は2世代までですので、数回、OSバージョン間の保管・復元を経験しているDBテーブルだと分かります。

上のサンプルではソースファイルの属性がブランクです。これはこのテーブルがSQL DDLで作成された為です。Db2 for i は一般的なSQL DDLではなくCRTPFコマンドという方法で作成されることが一般です(でした)。その場合SQL DDLに相当する情報をDDSというソースに記述してCRTPFコマンド(コンパイルコマンド)で指定してPF(テーブル)を作成します。その情報がこの欄に入ります。

実行例② RPGプログラムの例

RPGプログラムの場合は下記のように表示されます。
image.png

上記の画面ではコンパイル時に指定したソース名が確認できます。

(実行例①つづき)最終使用日の確認

更にスクロールすると、下記の画面が表示されます
image.png

ここでは、
最終使用日が2025/03/18とあり当画像作成日の一週間前だったことが分かります。
使用日数カウウント はこのPF(テーブル)が作成・復元されて以降何日間アクセス(READ or UPDATE)があったかが分かります。上の方の画像で2024/1/4に作成(ここでは現在のシステムにバックアップイメージから復元された日付)されたことが分かるので、これ以降の使用日数は95日だとわかります。

(つづき)保管情報の確認

更にスクロールすると、
image.png

上記画像ではこのPFが2025/3/28にバックアップされたことがわかります。
また、現在のシステムに復元された日付は2023/2/20であることも分かります。

あれ?上の方ではこのPFの作成日は2024/1/4だったはず・・ということですので、おそらくはまず2023/2/20にバックアップからこのPFが復元され、その後2024/1/4にSQL DDLから同じ名前で(再)作成されたのではないか、という予想が成り立ちます。

以上、DBテーブルとRPGプログラムで紹介しましたが、他のオブジェクトもすべて同様な情報を保持しており、DSPOBJDコマンドで確認できます。

1
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
1
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?