OBJECT_STATISTICS テーブル関数
OBJECT_STATISTICS テーブル関数は、ライブラリー内のオブジェクトについての情報を戻します。
- *FILE オブジェクトの場合:
- 呼び出し側はライブラリーに対する *EXECUTE 権限を持っていなければなりません。
- 呼び出し側がオブジェクトに対する *OBJOPR 権限を持っている場合には、全詳細が戻されます。
- 呼び出し元に以下のいずれかがある場合、SQL 警告「01548」とともに部分的な情報が返されます。
- オブジェクトに対する何らかの許可、または
- QIBM_LIST_ALL_OBJS_SQL 関数使用 ID に対する許可。
- 呼び出し側はライブラリーに対する *EXECUTE 権限を持っていなければなりません。
- ILE *SRVPGM または *PGM オブジェクトの場合:
- 呼び出し側はライブラリーに対する *EXECUTE 権限を持っていなければなりません。
- 呼び出し側がオブジェクトに対する *OBJOPR および *READ 権限を持っている場合には、全詳細が戻されます。
- 呼び出し元に以下のいずれかがある場合、SQL 警告「01548」とともに部分的な情報が返されます。
- オブジェクトに対する何らかの許可、または
- QIBM_LIST_ALL_OBJS_SQL 関数使用 ID に対する許可。
- 呼び出し側はライブラリーに対する *EXECUTE 権限を持っていなければなりません。
- *JOBQ または *OUTQ オブジェクトの場合:
- 呼び出し側はライブラリーに対する *EXECUTE 権限を持っていなければなりません。
- 呼び出し側がオブジェクトに対して何らかの権限を持っている場合は、全詳細が戻されます。
- 呼び出し元に以下のいずれかがある場合、SQL 警告「01548」とともに部分的な情報が返されます。
- *SPLCTL 特殊権限、または
- *JOBCTL 特殊権限とキューに OPRCTL (*YES) があり、また
- QIBM_LIST_ALL_OBJS_SQL 関数使用 ID に対する許可。
- 呼び出し側はライブラリーに対する *EXECUTE 権限を持っていなければなりません。
- *AUTL オブジェクトの場合:
- 呼び出し側がオブジェクトに対して何らかの権限を持っている場合は、全詳細が戻されます。
- 呼び出し元に以下のいずれかがある場合、SQL 警告「01548」とともに部分的な情報が返されます。
- オブジェクトの所有者、または
- オブジェクトに対する *AUTLMGT 権限、または
- QIBM_DB_SECADM 機能使用 ID に対する許可。
- QIBM_LIST_ALL_OBJS_SQL 関数使用 ID に対する許可。
- *USRPRF オブジェクトの場合:
- 呼び出し側には、ユーザー・プロファイルに対する何らかの権限が必要です。
そうでない場合には、ユーザー・プロファイル・オブジェクト情報は戻されません。
- 呼び出し側には、ユーザー・プロファイルに対する何らかの権限が必要です。
- その他のオブジェクト・タイプの場合:
- 呼び出し側はライブラリーに対する *EXECUTE 権限を持っていなければなりません。
- 呼び出し側がオブジェクトに対して何らかの権限を持っている場合は、全詳細が戻されます。
- 呼び出し元に以下の情報がある場合、SQL 警告「01548」とともに部分的な情報が返されます。
- QIBM_LIST_ALL_OBJS_SQL 関数使用 ID に対する許可。
- 呼び出し側はライブラリーに対する *EXECUTE 権限を持っていなければなりません。
- オブジェクト-スキーマ
- ライブラリーの名前を識別する文字ストリング式またはグラフィック・ストリング式。 ライブラリーの名前が区切られた名前である場合は、名前の区切り形式を指定する必要があります。 ライブラリー名は、長い名前あと短い名前のどちらでもかまいません。オブジェクト・スキーマには、以下の特殊値を使用できます。
- *ALL
- すべてのライブラリー。
- *ALLAVL
- 使用可能なすべての ASP 内のすべてのライブラリー。
- *ALLUSR
- *SYSBAS および現行スレッドの ASP グループ内のすべてのユーザー・ライブラリー。
- *ALLUSRAVL
- 使用可能なすべての ASP のすべてのユーザー・ライブラリー。
- *CURLIB
- ジョブの現行ライブラリー。
- *LIBL
- ライブラリー・リスト。
- *USRLIBL
- ジョブの現行ライブラリーと、ライブラリー・リストのユーザー部分。
オブジェクト・タイプ・リストが「*LIB」または「LIB」の場合、オブジェクト・スキーマには次の特殊値を使用できます。- *ALLSIMPLE
- *SYSBAS 内および現行スレッドの ASP グループ内のすべてのユーザー名とシステム・ライブラリー名を取得する最短の方法。 列 OBJNAME、OBJLONGNAME、OBJTYPE、OBJLIB、OBJLONGSCHEMA、 IASP_NUMBER、および IASP_NAMEの値が返されます。 その他のすべての列については NULL が返されます。
- オブジェクト・タイプ・リスト
- ブランクまたはコンマで区切られた、1 つ以上のシステム・オブジェクト・タイプを含む文字ストリング式またはグラフィック・ストリング式。 オブジェクト・タイプの指定では、先頭の * 文字を含めることも除外することもできます。 特殊値「*ALL」または「ALL」を使用すると、ライブラリーオブジェクト・スキーマ内のすべてのオブジェクトを戻すことができます。
- オブジェクト名
- オブジェクトまたはライブラリーの名前を識別する文字ストリング式またはグラフィック・ストリング式。 オブジェクトの名前が区切られた名前である場合は、名前の区切り形式を指定する必要があります。 オブジェクト名は、長い名前あと短い名前のどちらでもかまいません。 オブジェクトがファイルまたはライブラリーでない限り、名前はオブジェクトの有効なシステム名でなければなりません。ファイルおよびライブラリーの場合、SQL 名を指定することができます。
列名 | データ・タイプ | 説明 |
---|---|---|
OBJNAME | VARCHAR(10) | オブジェクトのシステム名。 |
OBJTYPE | VARCHAR(8) | オブジェクトのシステム・タイプ。 |
OBJOWNER | VARCHAR(10) | オブジェクトを所有しているユーザー・プロファイル。 使用可能な所有者がない場合は、NULL 値が入ります。 |
OBJDEFINER | VARCHAR(10) | オブジェクトを作成したユーザー・プロファイル。 オブジェクト定義者が不明な場合は、NULL 値が入ります。 |
OBJCREATED | TIMESTAMP | オブジェクトが作成されたときのタイム・スタンプ。 |
OBJSIZE | DECIMAL(15,0) | オブジェクトのサイズ (バイト単位)。 |
OBJTEXT | VARCHAR(50) | オブジェクトの記述。 オブジェクトにテキストがない場合は、NULL 値が入ります。 |
OBJLONGNAME | VARCHAR(128) | オブジェクトの SQL 名。 外部プロシージャーまたは外部関数の場合、該当する *PGM または *SRVPGM オブジェクトの単一のプロシージャーまたは関数が存在する場合にこの名前は戻されます。 SQL 名を返すことができない場合は、NULL 値が入ります。 |
LAST_USED_TIMESTAMP | TIMESTAMP | オブジェクトが最後に使用された日付。 タイム・スタンプの時刻部分は常に 0 になります。 オブジェクトが使用されていない場合には、NULL 値が入ります。 |
LAST_USED_OBJECT | VARCHAR(4) | LAST_USED_TIMESTAMP 値がこのオブジェクトに対して意味があるかどうかを示します。
|
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 タイプ。 値は次の通りです。
オブジェクトが SQL オブジェクトでない場合は、NULL 値が入ります。 |
OBJLIB | VARCHAR(10) | スキーマのシステム名 |
CHANGE_TIMESTAMP | TIMESTAMP | オブジェクトが最後に変更されたときのタイム・スタンプ。 |
USER_CHANGED | VARCHAR(3) | オブジェクトがユーザーによって変更されたかどうかを示します。 値は次の通りです。
オペレーティング・システムの一部としてインストールされた特定のオブジェクトでは、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 です。ここで、
|
LICENSED_PROGRAM | VARCHAR(7) | オブジェクトがライセンス・プログラムの一部である場合、ライセンス・プログラムの名前。 オブジェクトがライセンス・プログラムの一部でない場合は、NULL 値が入ります。 |
LICENSED_PROGRAM_VERSION | VARCHAR(9) | オブジェクトがライセンス・プログラムの一部である場合、ライセンス・プログラムのバージョン番号、リリース・レベル、およびモディフィケーション・レベル。 このフィールドのフォーマットは VxRxMx です。ここで、
オブジェクトがライセンス・プログラムの一部でない場合は、NULL 値が入ります。 |
COMPILER | VARCHAR(7) | コンパイラーのライセンス・プログラム ID。 オブジェクトがコンパイラーで作成されなかった場合は、NULL 値が入ります。 |
COMPILER_VERSION | VARCHAR(9) | コンパイラーのライセンス・プログラム・バージョン番号、リリース・レベル、およびモディフィケーション・レベル。 このフィールドのフォーマットは VxRxMx です。ここで、
オブジェクトがコンパイラーで作成されなかった場合は、NULL 値が入ります。 |
OBJECT_CONTROL_LEVEL | CHAR(8) | オブジェクトのオブジェクト・コントロール・レベル。 オブジェクト制御レベルがない場合は、NULL 値が入ります。 |
BUILD_ID | BINARY(16) | オブジェクトのビルド ID の値。 これは QLICOBJD (オブジェクト記述変更) API を使用して設定することができます。 オブジェクトにビルド ID が設定されていない場合は、NULL 値が入ります。 |
PTF_NUMBER | CHAR(7) | このオブジェクトの作成の原因となったプログラム一時修正。 ユーザー作成オブジェクトの場合は、NULL 値が入ります。 |
APAR_ID | CHAR(6) | プログラム診断依頼書 (APAR)。この識別番号は、最後の変更に関連付けられています。 CHGCMDDFT を使用して変更されるコマンドの場合には、値 CHGDFT が入ります。 オブジェクト記述変更(QLICOBJD) APIによって,このフィールドをどの値にも変更できます。 使用可能な値がない場合は、NULL 値が入ります。 |
USER_DEFINED_ATTRIBUTE | VARCHAR(10) | さらに、オブジェクト・タイプを定義します。 このフィールドは、QLICOBJD API を使用してユーザーによって設定されます。 属性が設定されていない場合は、NULL 値が入ります。 |
ALLOW_CHANGE_BY_PROGRAM | VARCHAR(3) | オブジェクト記述変更(QLICOBJD) APIによって,テキストまたは使用日数およびリセット日以外の変更がオブジェクトの記述に対して可能かどうかを識別します。
|
CHANGED_BY_PROGRAM | VARCHAR(3) | オブジェクトがオブジェクト記述変更 (QLICOBJD) API によって変更されたかどうかを識別します。
|
COMPRESSED | VARCHAR(4) | オブジェクトが圧縮されているのか、圧縮解除されているのかを示します。 値は次の通りです。
オブジェクトが永続的に圧縮解除されていて、圧縮可能でない場合は、NULL 値が入ります。 |
PRIMARY_GROUP | VARCHAR(10) | オブジェクトの1次グループであるユーザー・プロファイルの名前。 オブジェクトの 1 次グループがない場合は、NULL 値が入ります。 |
STORAGE_FREED | VARCHAR(3) | オブジェクト・データのストレージ状況。
|
ASSOCIATED_SPACE_SIZE | INTEGER | オブジェクトの1次関連スペースのサイズ(バイト数)。 オブジェクトに 1 次関連スペースがない場合は、NULL 値が入ります。 |
OPTIMUM_SPACE_ALIGNMENT | VARCHAR(3) | オブジェクトの 1 次関連スペースが最適に位置合わせされているかどうかを示します。 最適位置合わせによって,オブジェクトを扱うアプリケーションのパフォーマンスはよくなる場合があります。
オブジェクトにスペースが関連付けられていない場合は、NULL 値が入ります。 |
OVERFLOW_STORAGE | VARCHAR(3) | 補助記憶域プールに存在しているオブジェクトがオーバーフローしたかどうかを示します。
|
OBJECT_DOMAIN | VARCHAR(7) | オブジェクトが入っているドメイン。 値は次の通りです。
|
OBJECT_AUDIT | VARCHAR(10) | オブジェクトの監査のタイプ。 値は次の通りです。
すべてのオブジェクト (*ALLOBJ) 特殊権限も監査 (*AUDIT) 特殊権限もない場合は、NULL 値が入ります。 |
OBJECT_SIGNED | VARCHAR(3) | オブジェクトにディジタル・シグニチャーがあるかどうかを示します。
|
SYSTEM_TRUSTED_SOURCE | VARCHAR(3) | オブジェクトがシステムで信頼されているソースによって署名されているかどうかを示します。
|
MULTIPLE_SIGNATURES | VARCHAR(3) | オブジェクトに複数のデジタル・シグニチャーがあるかどうかを示します。
|
SAVE_TIMESTAMP | TIMESTAMP | オブジェクトが最後に保存されたときのタイム・スタンプ。 オブジェクトが保存されていない場合には、NULL 値が入ります。 |
RESTORE_TIMESTAMP | TIMESTAMP | オブジェクトが最後に復元されたときのタイム・スタンプ。 オブジェクトが復元されていない場合には、NULL 値が入ります。 |
SAVE_WHILE_ACTIVE_TIMESTAMP | TIMESTAMP | オブジェクトの活動時保管が実行されたときのタイム・スタンプ。 オブジェクトの活動時保管が実行されていない場合は、NULL 値が入ります。 |
SAVE_COMMAND | VARCHAR(10) | オブジェクトを保管するのに使用されるコマンド オブジェクトが保存されていない場合には、NULL 値が入ります。 |
SAVE_DEVICE | VARCHAR(5) | オブジェクトが最後に保管された装置のタイプ。 有効な値は以下のとおりです。
オブジェクトが保存されていない場合には、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(15,0) | 最後の保存時におけるオブジェクトのサイズ (バイト)。 この値は、オブジェクトの復元時に必要となる記憶域の容量を定義します。 オブジェクトが保存されていない場合には、NULL 値が入ります。 |
JOURNALED | VARCHAR(3) | オブジェクトの現行ジャーナル処理状況を識別します。 有効な値は以下のとおりです。
|
JOURNAL_NAME | VARCHAR(10) | ジャーナル処理された変更を受け取るジャーナルの名前,あるいはオブジェクトが現在ジャーナル処理されていない場合は前のジャーナルの名前。 オブジェクトがジャーナル処理されていない場合には、NULL 値が入ります。 |
JOURNAL_LIBRARY | VARCHAR(10) | ジャーナル処理された変更を受け取る
ジャーナル・ライブラリーの名前、あるいはオブジェクトが現在ジャーナル
処理されていない場合は最後のジャーナル・ライブラリーの名前。 オブジェクトがジャーナル処理されていない場合には、NULL 値が入ります。 |
JOURNAL_IMAGES | VARCHAR(6) | オブジェクトの変更で生成するイメージの種類を指定します。 有効な値は以下のとおりです。
オブジェクトがジャーナル処理されていない場合には、NULL 値が入ります。 |
OMIT_JOURNAL_ENTRY | VARCHAR(7) | 除外されるジャーナル項目を指定します。 有効な値は以下のとおりです。
オブジェクトがジャーナル処理されていない場合には、NULL 値が入ります。 |
REMOTE_JOURNAL_FILTER | VARCHAR(3) | オブジェクトのリモート・ジャーナル・フィルター値。 有効な値は以下のとおりです。
オブジェクトがジャーナル処理されていない場合には、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) | 区画でオブジェクトの権限収集が活動中のときにオブジェクトに使用される権限収集値を指定します。 有効な値は以下のとおりです。
|
例
- ライブラリー 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
- パラメーターのデフォルトの値が変更されているすべての CL コマンドを見つけてください。
SELECT * FROM TABLE(QSYS2.OBJECT_STATISTICS('QSYS', '*CMD')) WHERE APAR_ID = 'CHGDFT';