毎日のスケジュールにサーバー開始ジョブなどを CL : QSTRUP
に入れておいて
毎朝、起動させる、という手法は良く知られているが、2つの注意点がある。
意外と忘れてしまっていることもあるので、ここで改めて確認の意味で QSTRUP
を使う上での注意点を挙げておく。
QSTRUP の実行時点では TCP/IPサーバーは、起動していない。
QSTRUP
が起動される時点では、まだ TCP/IPサーバーは起動されていない。
従って TCP/IP を利用する適用業務サーバーを、何もせずに起動を記述したのでは
実行することができずにエラーとなってしまう。
TCP/IP 適用業務を開始する直前に次のようにして TCP/IP を開始しておくことが必要である。
QSYS/STRTCP
MONMSG MSGID(CPF0000)
DLYJOB DLY(60)
QSTRUP はユーザー: QPGMR として起動される。
これが意外と落とし穴で忘れてしまうことが多い。
IBM はなぜ QSTRUP
をユーザー QPGMR
で起動するようにしたのか不明であるが
ユーザー : QPGMR
は *PGMR
クラスであり、特殊権限は全く保有していない。
このことがまた QSTRUP
の中で実行するために必要な権限の不足となる場合が多い。
対策は、
ユーザー : QPGMR に特殊権限 *ALLOBJ を与える
ことである。
OS V5R4M0 〜は QPGMR
の *ALLOBJ
権限は導入時の省略値としては、
除去されてしまっているので CHGUSRPRF
コマンドによって *ALLOBJ
権限を付与する必要がある。
さらに、何らかの事情によって i5/OS を再導入(スリップ・インストール) すると
QPGMR
の権限は元の状態に戻ってしまうので、注意して再確認する必要があるだろう。