主題のご質問をいただきました。
エラーの状況
・収集サービスのデータ(*MGGCOLオブジェクトからCRTPFRTDTAコマンドで作成した各種テーブル・ビュー)はIBM i 上に存在している
・5250、OSコマンド等で上記ライブラリーは確認できる
例)GOMACOLというライブラリーに収集サービスデータを作成・復元済み
・にもかかわらず、Navigator for i のパフォーマンス分析パースペクティブ上に上記のライブラリー(例ではGOMACOL)が表示されない
原因
IBM i OSは収集サービスのデータが格納されているライブラリー情報を保持したテーブル(マニュアルでは収集表、と表記)があります。この収集表が何らかの操作時にシステム上に実在する収集サービス・データと乖離する事があるようです。
私の遭遇したケースでは、新しく復元した収集データライブラリーがNavigator for i のパフォーマンス分析の画面に表示されない、のほかに、既に削除済みのパフォーマンスデータライブラリーが表示される(分析もできる(^^;)というエラーもありました。
参考:収集表の再作成
リカバリー手順
上記マニュアルページにもあるとおり、収集表の再作成を実行することで、実在するパフォーマンスデータのライブラリーやファイルが表示可能になります。
手順は以下の通りです。
Navigator for i で すべての収集サービス を開く
アクション から 収集テーブルの再作成 を選択する
収集サービスの再ビルド というパネルが表示されるので、再ビルド ボタンを押します。
収集表の再ビルドが実行されます。
結果、下記のように表示されなかった収集データのライブラリーが表示されるようになります。
補足:OSコマンドによる再ビルド手順
GURI GURIさんからIBM i OSコマンドを使用したコレクションテーブルのリビルド手順を教えて頂きました♪ありがとうございます。
(以下引用)
Rebuilding the collection table from the green screen
To rebuild the collection table from a command line, you must call program QPMCCRBD.
The program has three parameters.
Collection format (10 character blank-padded string)
Allowed values: '*ALL ', '*CSFILE ', '*CSMGTCOL ', '*PEXFILE ',
'*PEXMGTCOL', '*JWFILE ', '*DWFILE ', '*BCHFILE '
Pointer to error feedback structure
Pass in a null pointer by using value x'00000000'
Library name (10 character blank-padded string) *only available in release 7.2 and later*
Allowed values: '*ALL ' or 10 character blank-padded library name string
Examples:
Rebuild all collection formats in all libraries:
CALL QSYS/QPMCCRBD ('*ALL ' x'00000000' '*ALL ')
Rebuild only *CSFILE collections in all libraries:
CALL QSYS/QPMCCRBD ('*CSFILE ' x'00000000' '*ALL ')
Rebuild all collection formats in library QPFRDATA
CALL QSYS/QPMCCRBD ('*ALL ' x'00000000' 'QPFRDATA ')
Rebuild only *CSFILE collections in library QPFRDATA
CALL QSYS/QPMCCRBD ('*CSFILE ' x'00000000' 'QPFRDATA ')