OBJECT_STATISTICS テーブル関数

OBJECT_STATISTICS テーブル関数は、ライブラリー内のオブジェクトについての情報を戻します。

許可:
  • ユーザーがライブラリーに対する *EXECUTE 権限、およびオブジェクトに対する *OBJOPR 権限と *READ 権限の両方を備えている場合、完全な詳細が返されます。
  • それ以外の場合は、SQL 警告「01548」とともに部分情報が返されます。
構文図を読む構文図をスキップする
>>-OBJECT_STATISTICS--(--library-name--,--object-type-list------>

>--+---------------------------------------+--)----------------><
   '-,--+-------------------+--object_name-'      
        '-OBJECT_NAME-- => -'                     

スキーマは QSYS2 です。
library-name
ライブラリーの名前を識別する文字またはグラフィック・ストリング式。ライブラリーの名前が区切られた名前である場合は、名前の区切り形式を指定する必要があります。ライブラリー名は、長い名前あと短い名前のどちらでもかまいません。
library-name には、以下の特殊値が許可されます。
*ALL
すべてのライブラリー。
*ALLUSR
*SYSBAS および現行スレッドの ASP グループ内のすべてのユーザー・ライブラリー。
*ALLUSRAVL
使用可能なすべての ASP のすべてのユーザー・ライブラリー。
*CURLIB
ジョブの現行ライブラリー。
*LIBL
ライブラリー・リスト。
*USRLIBL
ジョブの現行ライブラリーと、ライブラリー・リストのユーザー部分。
object-type-list が '*LIB' または 'LIB' の場合、library-name には以下の特殊値が許可されます。
*ALLSIMPLE
*SYSBAS 内および現行スレッドの ASP グループ内のすべてのユーザー名とシステム・ライブラリー名を取得する最短の方法。次の列の値が返されます: OBJNAME、OBJLONGNAME、OBJTYPE、OBJLIB、OBJLONGSCHEMA、変更の始まりIASP_NUMBER、および IASP_NAME変更の終わり。その他のすべての列については NULL が返されます。
object-type-list
ブランクまたはコンマで区切られた、1 つ以上のシステム・オブジェクト・タイプを含む文字またはグラフィック・ストリング式。オブジェクト・タイプの指定では、先頭の * 文字を含めることも除外することもできます。 特殊値「*ALL」または「ALL」を使用して、ライブラリー library-name 内のすべてのオブジェクトを返すことができます。
object-name
オブジェクトまたはライブラリーの名前を識別する文字またはグラフィック・ストリング式。オブジェクトの名前が区切られた名前である場合は、名前の区切り形式を指定する必要があります。オブジェクト名は、長い名前あと短い名前のどちらでもかまいません。オブジェクトがファイルまたはライブラリーでない限り、名前はオブジェクトの有効なシステム名でなければなりません。ファイルおよびライブラリーの場合、SQL 名を指定することができます。
このパラメーターを指定した場合、object-type-list 内のオブジェクト・タイプに対応している library-name 内のこの名前を持つオブジェクトのみが返されます。
このパラメーターを指定しなかった場合、object-type-list 内のオブジェクト・タイプに対応している library-name 内のすべてのオブジェクトが返されます。
object-name には、以下の特殊値が許可されます。
*ALLSIMPLE
ライブラリー内のオブジェクトのシステム名を取得する最短の方法。object-type-list 内のオブジェクト・タイプに対応している、library-name 内のすべてのオブジェクトが返されます。 次の列の値が返されます: OBJNAME、OBJTYPE、OBJLIB、OBJLONGSCHEMA、変更の始まりIASP_NUMBER、および IASP_NAME変更の終わり。その他のすべての列については NULL が返されます。
この関数の結果は、以下の表に示された形式の各オブジェクトの行を含むテーブルです。列はすべて NULL 可能です。
表 1. OBJECT_STATISTICS テーブル関数
列名 データ・タイプ 説明
OBJNAME VARCHAR(10) オブジェクトのシステム名。
OBJTYPE VARCHAR(8) オブジェクトのシステム・タイプ。
OBJOWNER VARCHAR(10) オブジェクトを所有しているユーザー・プロファイル。
OBJDEFINER VARCHAR(10) オブジェクトを作成したユーザー・プロファイル。
OBJCREATED TIMESTAMP オブジェクトが作成されたときのタイム・スタンプ。
OBJSIZE DECIMAL(15,0) オブジェクトのサイズ (バイト単位)。
OBJTEXT VARCHAR(50) オブジェクトの説明。

オブジェクトにテキストがない場合は、NULL 値が入ります。

OBJLONGNAME VARCHAR(128) オブジェクトの SQL 名。

外部プロシージャーまたは外部関数の場合、該当する *PGM または *SRVPGM オブジェクトの単一のプロシージャーまたは関数が存在する場合にこの名前は戻されます。

SQL 名を返すことができない場合は、NULL 値が入ります。

LAST_USED_TIMESTAMP TIMESTAMP オブジェクトが最後に使用された日付。タイム・スタンプの時刻部分は常に 0 になります。

オブジェクトが使用されていない場合には、NULL 値が入ります。

DAYS_USED_COUNT INTEGER システム上でオブジェクトが使用されていた日数。
LAST_RESET_TIMESTAMP TIMESTAMP 使用日数が最後にゼロにリセットされた日付。タイム・スタンプの時刻部分は常に 0 になります。

使用日数カウントがリセットされていない場合は、NULL 値が入ります。

IASP_NUMBER SMALLINT 記憶域がオブジェクトに割り振られる補助記憶域プール (ASP)。
変更の始まりIASP_NAME変更の終わり 変更の始まりVARCHAR(10)変更の終わり 変更の始まり独立補助記憶域プール (IASP) の装置記述名。

特殊値 *SYSBAS は、SYSBASE を表し、これにはシステム ASP (ASP 1) と基本ユーザー ASP (ASP 2 から 32) が含まれます。

変更の終わり
OBJATTRIBUTE VARCHAR(10) このオブジェクトのタイプの属性 (ある場合)。

属性がない場合、空ストリングが入ります。

OBJLONGSCHEMA VARCHAR(128) このオブジェクトの SQL スキーマ名。
TEXT VARGRAPHIC(50) CCSID 1200 *LIB オブジェクトのオブジェクトの説明。

OBJTYPE が *LIB でない場合は、NULL 値が入ります。

SQL_OBJECT_TYPE VARCHAR(9) オブジェクトの SQL タイプ。値は次の通りです。
  • ALIAS
  • FUNCTION
  • INDEX
  • PACKAGE
  • PROCEDURE
  • ROUTINE
  • SEQUENCE
  • TABLE
  • TRIGGER
  • TYPE
  • VARIABLE
  • VIEW
  • XSR

オブジェクトが SQL オブジェクトでない場合は、NULL 値が入ります。

OBJLIB VARCHAR(10) スキーマのシステム名
CHANGE_TIMESTAMP TIMESTAMP オブジェクトが最後に変更されたときのタイム・スタンプ。
USER_CHANGED VARCHAR(3) オブジェクトがユーザーによって変更されたかどうかを示します。値は次の通りです。
NO
オブジェクトは、ユーザーによって変更されていません。
YES
オブジェクトはユーザーによって変更されました。

オペレーティング・システムの一部としてインストールされた特定のオブジェクトでは、NULL 値が入ります。

SOURCE_FILE VARCHAR(10) オブジェクトの作成に使用されたソース・ファイルの名前。

ソース・ファイルが使用されなかった場合は、NULL 値が入ります。

SOURCE_LIBRARY VARCHAR(10) オブジェクトの作成に使用されたソース・ファイル・ライブラリーの名前。

ソース・ファイルが使用されなかった場合は、NULL 値が入ります。

SOURCE_MEMBER VARCHAR(10) オブジェクトの作成に使用されたソース・ファイル・メンバーの名前。

ソース・ファイルが使用されなかった場合は、NULL 値が入ります。

SOURCE_TIMESTAMP TIMESTAMP オブジェクトが作成された時点におけるソース・ファイル内のメンバーの最後のソース更新のタイム・スタンプ。

ソース・ファイルが使用されなかった場合、変更の始まりまたはソース・タイム・スタンプが使用可能でない場合は、変更の終わりNULL 値が入ります。

CREATED_SYSTEM VARCHAR(8) オブジェクトが作成されたシステムの名前。
CREATED_SYSTEM_VERSION VARCHAR(9) オブジェクトが作成されたときのオペレーティング・システムのバージョン。このフィールドのフォーマットは VxRxMx です。ここで、
Vx
文字 V の後にはバージョン番号が続きます。
Rx
文字 R の後にはリリース・レベルが続きます。
Mx
文字 M の後にはモディフィケーション・レベルが続きます。
LICENSED_PROGRAM VARCHAR(7) オブジェクトがライセンス・プログラムの一部である場合、ライセンス・プログラムの名前。

オブジェクトがライセンス・プログラムの一部でない場合は、NULL 値が入ります。

LICENSED_PROGRAM_VERSION VARCHAR(9) オブジェクトがライセンス・プログラムの一部である場合、ライセンス・プログラムのバージョン番号、リリース・レベル、およびモディフィケーション・レベル。このフィールドのフォーマットは VxRxMx です。ここで、
Vx
文字 V の後にはバージョン番号が続きます。
Rx
文字 R の後にはリリース・レベルが続きます。
Mx
文字 M の後にはモディフィケーション・レベルが続きます。

オブジェクトがライセンス・プログラムの一部でない場合は、NULL 値が入ります。

COMPILER VARCHAR(7) コンパイラーのライセンス・プログラム ID。

オブジェクトがコンパイラーで作成されなかった場合は、NULL 値が入ります。

COMPILER_VERSION VARCHAR(9) コンパイラーのライセンス・プログラム・バージョン番号、リリース・レベル、およびモディフィケーション・レベル。このフィールドのフォーマットは VxRxMx です。ここで、
Vx
文字 V の後にはバージョン番号が続きます。
Rx
文字 R の後にはリリース・レベルが続きます。
Mx
文字 M の後にはモディフィケーション・レベルが続きます。

オブジェクトがコンパイラーで作成されなかった場合は、NULL 値が入ります。

USER_DEFINED_ATTRIBUTE VARCHAR(10) さらに、オブジェクト・タイプを定義します。 このフィールドは、QLICOBJD API を使用してユーザーによって設定されます。

属性が設定されていない場合は、NULL 値が入ります。

COMPRESSED VARCHAR(4) オブジェクトが圧縮されているのか、圧縮解除されているのかを示します。値は次の通りです。
NO
永続的に圧縮解除されており、圧縮可能です。
YES
圧縮されています。
TEMP
一時的に圧縮解除されています。
FREE
保存され、記憶域が解放されているため、圧縮状況を判別できません。

オブジェクトが永続的に圧縮解除されていて、圧縮可能でない場合は、NULL 値が入ります。

OBJECT_DOMAIN VARCHAR(7) オブジェクトが入っているドメイン。値は次の通りです。
*SYSTEM
オブジェクトはシステム・ドメイン内にあります。
*USER
オブジェクトはユーザー・ドメイン内にあります。
OBJECT_AUDIT VARCHAR(10) オブジェクトの監査のタイプ。 値は次の通りです。
*NONE
どのユーザーがオブジェクトにアクセスしているかには関係なく、この オブジェクトの読み取りまたは変更時に、オブジェクトの監査は行われません。
*USRPRF
現行のユーザーが監査されている場合にのみ、このオブジェクトを監査します。このオブジェクトの監査を実行するかどうか判別するために、現行のユーザーが検査されます。ユーザー・プロファイルを使用して、このオブジェクトの変更アクセスだけを監査するか、それとも変更アクセスと読み取りアクセスの両方を監査するかを指定できます。
*CHANGE
システム上のすべてのユーザーによるこのオブジェクトへの変更アクセスをすべて監査します。
*ALL
システム上のすべてのユーザーによるこのオブジェクトへのすべてのアクセスを監査します。 アクセスはすべて,読み取りまたは変更の操作として定義されます。

すべてのオブジェクト (*ALLOBJ) 特殊権限も監査 (*AUDIT) 特殊権限もない場合は、NULL 値が入ります。

OBJECT_SIGNED VARCHAR(3) オブジェクトにディジタル・シグニチャーがあるかどうかを示します。
NO
オブジェクトはデジタル・シグニチャーをもちません。
YES
オブジェクトはデジタル・シグニチャーをもちます。
SYSTEM_TRUSTED_SOURCE VARCHAR(3) オブジェクトがシステムで信頼されているソースによって署名されているかどうかを示します。
NO
いずれのオブジェクト・シグニチャーもシステムで信頼されるソースからきたものではありません。
YES
オブジェクトはシステムで信頼されたソースによって署名されています。 オブジェクトに複数のシグニチャーがある場合は,少なくとも1つのシグニチャーがシステムによって信頼されるソースからのものです。
MULTIPLE_SIGNATURES VARCHAR(3) オブジェクトに複数のデジタル・シグニチャーがあるかどうかを示します。
NO
オブジェクトには 1 つだけデジタル・シグニチャーがあるか、デジタル・シグニチャーがありません。
YES
オブジェクトに複数のデジタル・シグニチャーがあります。
SAVE_TIMESTAMP TIMESTAMP オブジェクトが最後に保存されたときのタイム・スタンプ。

オブジェクトが保存されていない場合には、NULL 値が入ります。

RESTORE_TIMESTAMP TIMESTAMP オブジェクトが最後に復元されたときのタイム・スタンプ。

オブジェクトが復元されていない場合には、NULL 値が入ります。

SAVE_WHILE_ACTIVE_TIMESTAMP TIMESTAMP オブジェクトの活動時保管が実行されたときのタイム・スタンプ。

オブジェクトの活動時保管が実行されていない場合は、NULL 値が入ります。

SAVE_COMMAND VARCHAR(10) オブジェクトの保存に使用されたコマンド。

オブジェクトが保存されていない場合には、NULL 値が入ります。

SAVE_DEVICE VARCHAR(5) オブジェクトが最後に保存された装置のタイプ。有効な値は以下のとおりです。
*OPT
オブジェクトは光ディスクに保存されました。
*SAVF
オブジェクトは保管ファイルに保存されました。
*TAP
オブジェクトはテープに保存されました。

オブジェクトが保存されていない場合には、NULL 値が入ります。

SAVE_FILE_NAME VARCHAR(10) オブジェクトの保存に使用された保管ファイル。

オブジェクトが最後に保管ファイルに保存されなかった場合は、NULL 値が入ります。

SAVE_FILE_LIBRARY VARCHAR(10) オブジェクトの保存に使用された保管ファイル・ライブラリー。

オブジェクトが最後に保管ファイルに保存されなかった場合は、NULL 値が入ります。

SAVE_VOLUME VARCHAR(71) オブジェクトの保存に使用されたテープまたは光ディスク・ボリューム。最大で 10 個のボリュームが返されます。ストリングでは、ボリューム ID 間に 1 つのブランクが含まれます。10 個を超えるボリュームが使用された場合、10 個目のボリュームの ID の右に省略符号 (...) が返されます。

オブジェクトが最後にテープまたは光ディスクに保存されなかった場合は、NULL 値が入ります。

SAVE_LABEL VARCHAR(17) オブジェクトがテープまたは光ディスクに保存されたときに使用されたファイル・ラベル。

オブジェクトが最後にテープまたは光ディスクに保存されなかった場合は、NULL 値が入ります。

SAVE_SEQUENCE_NUMBER DECIMAL(10,0) オブジェクトがテープに保存されたときに使用されたシーケンス番号。

オブジェクトが最後にテープに保存されなかった場合は、NULL 値が入ります。

LAST_SAVE_SIZE DECIMAL(10,0) 最後の保存時におけるオブジェクトのサイズ (バイト)。この値は、オブジェクトの復元時に必要となる記憶域の容量を定義します。

オブジェクトが保存されていない場合には、NULL 値が入ります。

JOURNALED VARCHAR(3) オブジェクトの現行ジャーナル処理状況を識別します。有効な値は以下のとおりです。
NO
このオブジェクトは現在ジャーナル処理されていません。
YES
このオブジェクトは現在ジャーナル処理されています。
JOURNAL_NAME VARCHAR(10) ジャーナル処理された変更を受け取るジャーナルの名前、あるいはオブジェクトが現在ジャーナル処理されていない場合は最後のジャーナルの名前。

オブジェクトがジャーナル処理されていない場合には、NULL 値が入ります。

JOURNAL_LIBRARY VARCHAR(10) ジャーナル処理された変更を受け取る ジャーナル・ライブラリーの名前、あるいはオブジェクトが現在ジャーナル 処理されていない場合は最後のジャーナル・ライブラリーの名前。

オブジェクトがジャーナル処理されていない場合には、NULL 値が入ります。

JOURNAL_IMAGES VARCHAR(6) オブジェクトの変更で生成されるイメージの種類を示します。有効な値は以下のとおりです。
*AFTER
変更後イメージだけがオブジェクトに対する変更用に生成されます。
*BOTH
変更前イメージと変更後イメージの両方がオブジェクトに対する変更用に生成されます。

オブジェクトがジャーナル処理されていない場合には、NULL 値が入ります。

OMIT_JOURNAL_ENTRY VARCHAR(7) 除外されるジャーナル項目を指定します。 有効な値は以下のとおりです。
*NONE
ジャーナル項目は除外されません。
*OPNCLO
オープンおよびクローズ項目が除外されます。指定したファイル・メンバーに対するオープンおよびクローズ操作では、オープンおよびクローズ・ジャーナル項目は作成されません。

オブジェクトがジャーナル処理されていない場合には、NULL 値が入ります。

REMOTE_JOURNAL_FILTER VARCHAR(3) オブジェクトのリモート・ジャーナル・フィルター値。有効な値は以下のとおりです。
NO
オブジェクト用に保管されたジャーナル項目は、リモート・ジャーナル・フィルター操作について適格ではなくなります。
YES
オブジェクト用に保管されたジャーナル項目は、リモート・ジャーナル・フィルター操作について適格になります。

オブジェクトがジャーナル処理されていない場合には、NULL 値が入ります。

JOURNAL_START_TIMESTAMP TIMESTAMP ジャーナル処理が最後に開始されたときのタイム・スタンプ。

オブジェクトがジャーナル処理されていない場合には、NULL 値が入ります。

APPLY_STARTING_RECEIVER VARCHAR(10) ジャーナル処理済み変更の適用 (APYJRNCHG) またはジャーナル処理済み変更の除去 (RMVJRNCHG) コマンドの正常使用に必要な最古のジャーナル・レシーバーの名前を示します。

オブジェクトがジャーナル処理されていないか、ジャーナル処理の開始以降に保存および復元されていない場合は、NULL 値が入ります。

APPLY_STARTING_RECEIVER_LIBRARY VARCHAR(10) ジャーナル処理済み変更の適用 (APYJRNCHG) またはジャーナル処理済み変更の除去 (RMVJRNCHG) コマンドの正常使用に必要な最古のジャーナル・レシーバーのライブラリー名を示します。

オブジェクトがジャーナル処理されていないか、ジャーナル処理の開始以降に保存および復元されていない場合は、NULL 値が入ります。

変更の始まりAUTHORITY_COLLECTION_VALUE変更の終わり 変更の始まりVARCHAR(10)変更の終わり 変更の始まり区画でオブジェクトの権限収集がアクティブなときにオブジェクトに使用される権限収集値を指定します。有効な値は以下のとおりです。
*NONE
区画でオブジェクトの権限収集がアクティブなとき、このオブジェクトの権限情報は収集されません。
オブジェクト・タイプが権限収集によってサポートされていない場合は、値 *NONE が返されます。
*OBJINF
区画でオブジェクトの権限収集がアクティブなとき、このオブジェクトの権限情報は収集されます。権限検査に関連付けられたオブジェクト・レベル情報の各固有インスタンスについて権限検査情報が収集されます。
変更の終わり

  • ライブラリー MJATST のすべてのジャーナルを検出します。
    SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS('MJATST ','JRN') ) AS X
    または
    SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS('MJATST ','*JRN') ) AS X 
  • ライブラリー MJATST のすべてのジャーナルとジャーナル・レシーバーを検出します。
    SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS('MJATST ','JRN JRNRCV') ) AS X
    または
    SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS('MJATST ','*JRN *JRNRCV') ) AS X 
  • ライブラリー MYLIB 内のすべてのプログラムとサービス・プログラムを検出します。詳細情報を省略して、速くリストを返すようにするには、*ALLSIMPLE を使用します。
    SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS('MYLIB','PGM SRVPGM','*ALLSIMPLE')) X