NEWS
できるIBM i 温故知新編 できるIBM i 温故知新編
2023.03.09

【温故知新】第1回「IBM i のシステム値とは」

【温故知新】第1回「IBM i のシステム値とは」
【温故知新】第1回 IBM i のシステム値とは

IBM i 7.5発表からしばらくたち実業務がIBM i 7.5で稼働中のお客様も徐々に増えてきました。今回の連載ではIBM i 7.5での機能拡張・変更点を解説するとともに、一般的なユーザーシステムでの推奨設定値等についてもご紹介したいと思います。主旨としてIBM iユーザーでは世代交代が進んでおり、これまでのいわば第一世代の担当者間では常識とされてきたことを、第二世代の担当者に継承されることを願ってのこととなります。以降の連載でも同様なテーマで記事を予定しています。

※2023年3月17日 掲載内容に一部補足を追記

日本アイ・ビー・エム株式会社
Power Systems テクニカル・セールス
佐々木 幹雄

Part.1 IBM i システム値とは

システム値とはIBM i OSとして一つだけ指定可能なシステム全体の挙動を決定する設定値です。

▲図1.システム値はIBM i 全体のふるまいを規定します

システム値にはシステム日付やライブラリーリスト(プログラムを実行する際オブジェクトを検索する範囲を指定するパス)など様々なものが存在します。通常、システム値の設定はシステム全体の動作時に反映されます。たとえば、システム日付を日本時間で指定した場合、システム上のすべてのジョブはシステムの日付を基準に実行されます。

ところがシステム日付だけしか日付を持てないと問題が発生する場合も考えられます。
たとえば一日の締め処理プログラムを深夜23時から翌朝3時まで実行する場合、システム日付で処理すると日付が変わってしまいます。

そのような場合に使用する日付としてジョブ日付というものを指定できます。
ジョブ日付を23時時点の日付に設定してジョブ時間を参照して締め処理を実行すれば日付をまたぐ影響を回避できます。

このようにシステム日付は全般の動作を制御しますが、業務要件によってはシステム日付以外の日付を利用することもできます。同様に、システム値のライブラリーリストは本番業務用ライブラリーを使うようにセットしておきますが、テスト用やユーザー研修用にはテスト・研修用ライブラリーを参照するように変更することができます(テスト・研修用のユーザープロフィールのライブラリーリストを変更する、テスト・研修用ジョブの開始時にCLプログラムでライブラリーリストを変更する等)。

このように、様々なシステム値を一時的に或いは特定の条件の場合に変更(上書き)して使用することは可能ですが、システム全体のデフォルト動作を決定するのがシステム値です。

以下ではシステム値のうち一般によく参照されるものを中心に説明したいと思います。最後にIBM i 7.5でのシステム値の変更点もご説明します。

Part.2 IBM i システム値の表示・変更方法

システム値は5250端末、Navigator for i ブラウザーから表示・変更が可能です。また、IBM i サービスを使えばIBM i の外部からSQLで様々な方法でシステム値を参照できます。

(1). 5250端末から

WRKSYSVAL SYSVAL(*ALL) コマンド

▲図2. システム値の表示・変更5250から

画面が表示されます。オプション5で現行設定値を表示、2で設定値を変更できます。

(2). Navigator for i から

ブラウザーで以下のURLからNavigator for i に接続します。

  • http://IBM iホスト名:2002/Navigator/login 新ナビゲーターまたは
  • http://IBM i ホスト名:2004/ibm/console/logon.jsp 旧ナビゲーター

新ナビゲーターの場合、システムをクリック → ノードの管理 → 左列のアイコンから構成およびサービス → システム値

▲図3. 新Navigator for i でのシステム値表示・変更

Navigator for iではシステム値がカテゴリ表示されるので、任意のカテゴリをクリックして個々のシステム値を表示・変更します。

旧ナビゲーターの場合も基本的な操作は同様ですが、画面レイアウト等が異なって見えます。

▲図4. 旧Navigator for i でのシステム値表示・変更

(3). IBM iサービスから

IBM i サービスはSQLを実行してIBM i OSコマンドやNavigator for i と同様な機能を実行するものです。

例 SELECT * FROM QSYS2.SYSTEM_VALUE_INFO

IBM i に様々な方法で接続してSQLを実行できる環境・プログラムから実行できます。以下では一例としてACS付属のSQLスクリプトの実行画面を使用しました。SQLですので様々な条件式等を記述可能です。システム値をSQLで更新したい場合はSQLインターフェースの中からCLコマンド CHGSYSVALコマンド等を実行します。

▲図5. SQLスクリプト実行画面からIBM iサービスを実行してシステム値一覧を取得

ご参考:
IBM iサービス SYSTEM_VALUE_INFOの説明
https://www.ibm.com/docs/ja/i/7.5?topic=services-system-value-info-view

Part.3 全システム値のリスト取得方法

一括でシステム値のリストを取得する方法は上記3.のIBM iサービスでも可能ですし、別な方法としては5250ほかからシステム値のリストをスプール出力し、ローカルにテキストファイルでダウンロードするなども可能です。以下でその手順をご紹介します。

(1). 5250から

WRKSYSVAL OUTPUT(*PRINT)

▲図6. 5250でシステム値一覧をスプールに出力

上記コマンドでスプールファイルが出力されます。CPYSPLFコマンドで物理ファイルにコピーすることもできます。Navigator for iでスプールファイルを表示してエクスポートすればテキストファイルでダウンロードすることもできます。(図7、図8)

▲図7. スプールをテキストファイルでダウンロードする(Navigator for i)

▲図8. Navigator for iからテキストでスプールをダウンロード

Part.4 主なシステム値の紹介、変更推奨システム値

以下ではシステム値で代表的なものを、変更推奨値と併せていくつかご紹介します。推奨値はすべてのシステムに該当するものではありませんが、一般的な業務稼働システムにおいて変更をご検討いただくべきものを中心にリストしています。現行システムで異なるシステム値が設定されている場合は、変更による影響を十分検討の上、設定変更を実施してください。

システム値 出荷時
デフォルト
推奨値 説明
変更推奨 QASTLVL *BASIC *INTERMED ユーザー援助レベル
WRKSYSSTS画面その他画面の表示レベルを制御。出荷時の*BASICでは実運用時に不便なことがあるので*BASICが推奨
変更推奨 QAUTOVRT 0 *NOMAX 仮想装置の自動構成
0だとACS等からの5250接続時に5250端末用デバイス定義(*DEVD)が自動作成されず接続できない。(手動で*DEVD作成が必要)必要数の値か*NOMAXを指定が推奨。
変更推奨 QCCSID 65535 5035, 1399 コード化文字セット識別コード
65535はユーザー側で明確な目的がある場合以外には適さない。新規構築する日本語システムでは5035(日本語英小文字、文字セットはJIS90準拠),または1399(日本語英小文字、文字セットはJIS2004準拠)が推奨。すでに稼働中のシステムの設定変更は事前に影響点調査を実施の上で判断。
(システム値ではありませんが、言語環境として考えるとQCCSIDが5035/1399の場合、一次言語は2930を推奨)
変更推奨 QCTLSBSD QSYS/QBASE QSYS/QCTL 制御サブシステム
デフォルト値はQBASEサブシステムは比較的小規模なシステム向け。一般的にはQCTLの利用を推奨。
変更推奨 QJOBMSGQFL *NOWRAP *WRAP ジョブ・メッセージ待ち行列満杯処置
*MSGQが満杯になった際の挙動を制御。デフォルト*NOWRAPではメッセージ町行列がいっぱいになるとジョブが終了してしまうため、*WRAPが推奨(*PRTWRAPも可)。
必要に応じて検討 QJOBMSGQMX 16 16 ジョブ・メッセージ待ち行列の最大サイズ
通常はデフォルトでOKだが、メッセージ待ち行列*MSGQが頻繁に16MBに達する場合は、この値を必要分増やす。(増やしすぎるとメモリを無駄に消費するので増やしすぎない)
必要に応じて検討 QLMTDEVSSN 0 1~9 装置セッション限界
同じユーザープロフィールでサインオンできる端末数を指定。0は制限なしで複数接続可能。1~9を指定するとその数しか同時接続できない。
必要に応じて検討 QLMTSECOFR 1 0 機密保護担当者の装置アクセスの制約
1は*SECOFRクラスのユーザーがサインオンするためにはその端末装置オブジェクト*DEVDに*CHANGE権限以上を追加しないとサインオンできない。0はどの端末装置*DEVDでもサインオンできる。
必要に応じて検討 QMAXSGNACN 3 1または2 サインオンの試みが失敗した場合の処置
サインオンをQMAXSIGNに指定した回数連続して失敗すると、この値の処理が実行される。3は該当の*DEVDとユーザープロフィールが使用不可*DISABLEDになる。1は*DEVDのみ使用不可にする、2はユーザープロフィールのみ使用不可にする。
必要に応じて検討 QMAXSIGN 3 4以上、または1,2, *NOMAX 認められる最大サインオン試行回数
連続して許可されるサインオンの試行回数。この回数に達すると上記のQMAXSGNACNの処置が実行される。
変更推奨 QPFRADJ 2 2または3 2はIPL時と稼働中定期的にパフォーマンスを自動調整する。
3はIPL時の調整は行わず稼働中の定期的なパフォーマンス調整のみ実施する。
必要に応じて検討 QPWDLVL 0 2または3または4 パスワード・レベル
パスワード長やパスワード暗号化の強度などが異なる。レベル1は現代的には脆弱といえるため2以上を検討する。
必要に応じて検討 QPWDMAXLEN 8 8 必要な長さ 最大パスワード長
パスワードの最大長。上記QPWDLVLと関連しているが、現代では10~16文字以上の長さが適していると思われます。
必要に応じて検討 QPWDMINLEN 6 6 必要な長さ 最小パスワード長
パスワードの最大長。上記QPWDLVLと関連しているが、現代では10~16文字以上の長さが適していると思われます。
必要に応じて検討 QPWDPOSDIF 0 1 パスワード文字位置の制限
パスワード変更時、変更前後で同じ位置のパスワード文字が同一だと辺境を許可しない
必要に応じて検討 QPWDRQDDGT 0 1 パスワードに数字が必要
1はパスワードには必ず数字を含める必要がある
必要に応じて検討 QPWDRQDDIF 0 0 または 1~8 重複パスワード制御
パスワードの履歴を何世代持つかの指定。履歴と同じパスワードに変更することはできない。
必要に応じて検討 QSTRUPPGM QSYS/QSTRUP QGPL/QSTRUP やその他ユーザーライブラリーのスタートアッププログラムを指定する 始動プログラム
IPL直後に開始されるCLプログラム名を指定。QSYSライブラリーはバージョンアップその他で書き換えされる懸念もあるため、QGPLまたはユーザー作成ライブラリーにQSYS/QSTRUPのCLPをRTVCLSRCコマンドでソースを取得して、ユーザーのロジックを追加したのち、CRTCLPGMでQSYS以外に作成する。そのCLPのPGMオブジェクト名をこの値に指定するのが推奨。
必要に応じて検討 QTIMZON ‘ ‘ QP0900JST タイムゾーンの指定
一般的には適切な値が設定されていると思われますが、万一設定されていない(ブランク)の場合は適切な値を設定する。日本時間の場合は、QP0900JST を指定。

Part.5 IBM i 7.5でのシステム値の変更点

新しいIBM i OSバージョンで変更されたシステム値(とその他変更点)は プログラム資料説明書(Memo to Users) というドキュメントにまとめられています。IBM i 7.5のプログラム資料説明書は以下からダウンロードできます。

IBM i 7.5プログラム資料説明書 https://www.ibm.com/docs/ja/i/7.5?topic=documentation-memo-users
上記PDFのリンク: https://www.ibm.com/docs/ja/ssw_ibm_i_75/pdf/rzaq9.pdf

IBM i 7.5では現代的な事情を鑑みて、セキュリティ関連のシステム値デフォルトがより高いレベルに変更されました。代表的なものを以下にご紹介します。

QSECURITYシステム全般のセキュリティレベルの設定値。新規にQSECURITY 20を設定できなくなりました。(旧バージョンで20で設定しているシステムからの移行時は20が継承されます) QSECURITY 20はすべてのユーザープロフィールが*ALLOBJ権限(管理者権限)を持つことになるのでだいぶ以前から30以上が推奨でした。現在の出荷デフォルト40が推奨値です。

QPWDLVLパスワードレベルを指定するものです。IBM i 7.5での変更はありませんが、将来のIBM i バージョンでQPWDLVLのデフォルトが3または4に変更予定であることが記載されました。QPWDLVL 0ではパスワード長は1~10文字ですが3または4では最大128文字のパスワードが使用可能であり、4ではより強力な暗号化方式PBKDF2 with SHA2-512でパスワードを作成できます。

参考文献・URL

IBM i 7.5 システム値(IBM i Information Center)
https://www.ibm.com/docs/ja/i/7.5?topic=values-system

いいねと思ったらシェア
twitter
facebook
hatena
できるIBM i 温故知新編 目次を見る

この連載は…

できるIBM i 温故知新編
関連記事
【温故知新】第2回「IBM i のログ・メッセージ」
【温故知新】第2回「IBM i のログ・メッセージ」
【温故知新】第4回「システム応答リストによるメッセージ監視とハンドリング」
【温故知新】第4回「システム応答リストによるメッセージ監視とハンドリング」
【温故知新】第3回「ジョブメッセージをQSYSOPR MSGQに連携させる」
【温故知新】第3回「ジョブメッセージをQSYSOPR MSGQに連携させる」
あなたにオススメの連載
できるIBM i 温故知新編
5記事
できるIBM i 温故知新編
IBM i の”新”必須言語 〜FFRPG入門〜
14記事
IBM i の”新”必須言語 〜FFRPG入門〜
IBM i アプリの第二の柱 OSS
15記事
IBM i アプリの第二の柱 OSS
PAGE TOP