guriguriさんからのご質問です。
※確認途中です…(^^;
検証してみる
STEP1.ユーザーID GOMA4を新規作成した直後のQSYS2.User_Storage ビューは
SELECT * FROM QSYS2.USER_STORAGE
WHERE USER_NAME = 'GOMA4';
となりました。ユーザーIDを作成しただけで3つのエントリーが作成されることがわかります。
内訳はおそらく以下の3つです。
①自身のユーザー・プロファイル USRPRFオブジェクト(GOMA4)
②ユーザー・プロファイルに紐づいて作成されるメッセージキュー MSGQ (GOMA4)
③プライベートオーソリティエントリー : 自分が所有者でないオブジェクトへの権限の数でしょうか?
①はWRKUSRPRFコマンドでGOMA4がある事で確認できます。
②はIBM i サービスQSYS2.OBJECT_OWNERSHIPでGOMA4が所有者のオブジェクトをリストできます。
ユーザーが所有するライブラリーオブジェクトの一覧をリストするIBM iサービスQSYS2.OBJECT_OWNERSHIP
GOMA4が所有者であるライブラリーオブジェクトをリストIBM i サービスは、
SELECT * FROM QSYS2.OBJECT_OWNERSHIP
WHERE AUTHORIZATION_NAME = 'GOMA4';
また、IFSオブジェクトをリストするIBM i サービスは、
SELECT * FROM QSYS2.OBJECT_OWNERSHIP
WHERE AUTHORIZATION_NAME = 'GOMA4'
AND PATH_NAME IS NOT NULL;
下のIFSオブジェクトはユーザーIDを作成しただけでは何もないので、ライブラリーの方の結果を貼ると、
となり、②のオブジェクトがリストされました。
③が何か今わからないので後で調べます・・
ユーザー GOMA4 にオブジェクト権限を1つ付与してみる。
たまたまQUERY/400の定義体*QRYDFNがあったのでこれにGOMA4の権限を追加してみます。
EDTOBJAUT OBJ(GOMALIB/QRY1) OBJTYPE(*QRYDFN)
ここで再度、QSYS2.USER_STORAGEを実行すると、結果は、
上記のように、Total Profile Entriesが+1(=4)、Private Authority Entriesも+1(=2)になりました。ここでの操作はオブジェクトに権限を1つ付与しただけですので、この操作によってTotal Profile EntriesとPrivate Authority Entriesが追加されることがわかります。
ちなみに既存のユーザーQPGMRの所有オブジェクトを調べると、
前の記事と別なシステム,ユーザーIDなので値が異なります。A)Total Profile Entriesが4974, B)Owner Entriesが2469, C)Private Authority Entriesが2377でした。B)+C)=4,846ですね。A)-4,846=128個少ないですね。。
ここでQPGMRが所有者のオブジェクト一覧をリストすると、1,284個と出ました。先のコマンド結果Owner Entriesが2,469個なのでここも差があります。??
以上から、Total Profile Entriesが4974 には、自分が所有者以外の権限情報(4974-1284)も含まれてカウントされているようです。
自分が所有者でないオブジェクトに対する権限のリストはプログラミングすればできそうですが、IBM i サービスだと現状無いようです。。もう少し調べてみたいと思います・・。
P.S guriguriさんの備忘録(^^
私も勉強します。
Message MCH2804 on a User Profile
User Profile Size Limit/Limit of Pointers to Objects Owned by a User Profile
Getting Message MCH2804 Tried to go larger than storage limit for object &1 for a user profile, however PRTPRFINT does not show the profile as being full.