AS400 / IBM i の保守では、ACSのSQL画面やDb2 for iを使って、ジョブ、オブジェクト、ファイル、IFS、スプール、システム情報を確認する場面があります。最近のIBM iでは、コマンドだけでなくSQLで運用情報を見る方法も増えています。
ただし、SQLは便利な反面、本番データを扱う時の注意も大きいです。この記事では、IBM i SQL ServicesやACSのSQLを「本番を壊さず確認する入口」として、初心者・保守担当者向けに整理します。細かいSQL文の暗記よりも、まずSELECT中心で見る、更新系SQLを不用意に打たない、という考え方を大切にします。
IBM i SQL Servicesとは
IBM i SQL Servicesは、IBM i のシステム情報や運用情報をSQLで確認できる仕組みです。従来はコマンドや画面で見ていた情報の一部を、SQLのSELECTで取得できます。たとえば、オブジェクト、ジョブ、IFS、メッセージ、権限、システム値などを調べる時の入口になります。
AS400現場では、まずコマンドで確認する文化が強いですが、SQLで一覧化できると、調査結果を整理しやすくなります。特に影響調査、棚卸し、バックアップ対象確認、不要オブジェクト調査、ドキュメント化では役立ちます。
最初はSELECTだけで使う
初心者がACSのSQLを使う時は、まずSELECTだけに絞るのが安全です。SELECTは情報を確認するための入口です。UPDATE、DELETE、INSERT、CREATE、DROPのような更新・変更系は、作業手順、バックアップ、レビュー、復旧方法がない状態では使わないようにします。
| SQLの種類 | 初心者の扱い | 理由 |
|---|---|---|
| SELECT | 確認用として使う | 対象データや運用情報を読む入口になる |
| UPDATE | 原則レビュー後 | 本番データを書き換えるため事故影響が大きい |
| DELETE | 原則使わない | 削除は復元が難しく、条件漏れが致命的になる |
| INSERT | 手順化してから | 重複、採番、整合性に注意が必要 |
| DROP / CREATE | 管理者判断 | オブジェクトや環境に直接影響する |
コマンドとSQLを使い分ける
AS400保守では、コマンドとSQLを対立させる必要はありません。WRKACTJOB、WRKJOB、DSPJOBLOG、DSPFFD、DSPPFM、WRKSPLFのようなコマンドで画面確認し、必要に応じてSQLで一覧化する、という使い分けが現実的です。
| 見たいこと | コマンドの入口 | SQLで見る時の考え方 |
|---|---|---|
| ジョブ状態 | WRKACTJOB / WRKJOB | 一覧化して対象ジョブを絞る |
| ファイル定義 | DSPFFD | 項目一覧や桁数を資料化する |
| ファイル内容 | DSPPFM | 条件を付けてSELECTする |
| スプール | WRKSPLF | 帳票や出力状況を一覧化する |
| オブジェクト | DSPOBJD / WRKOBJ | ライブラリ内の棚卸しに使う |
コマンド名から探したい場合は、AS400コマンド逆引き を入口にしてください。SQLとコマンドの両方を知っておくと、調査の選択肢が増えます。
データ抽出では条件とマスキングを先に決める
ACSのSQLでデータを抽出する時は、対象ライブラリ、対象ファイル、抽出条件、出力先、利用目的、機密情報の扱いを先に決めます。顧客名、住所、電話番号、金額、社員情報を含む場合は、必要最小限の項目に絞り、マスキングや保存場所を決めてから実行します。
データ抽出の全体像は、AS400データ抽出ガイド にまとめています。DSPPFM、Query、SQL、CPYTOIMPFを使う前に、まずここで確認項目をそろえると安全です。
本番でSQLを使う前のチェック
- 接続先が本番かテストかを確認する
- ライブラリ名を明示する
- SELECT文から始める
- 件数が想定内か確認する
- WHERE条件を外した状態で更新しない
- CSV出力時は保存先と削除ルールを決める
- AIや外部サービスへ渡す前に機密情報をマスキングする
本番作業の前提は、AS400本番対応チェックリスト も合わせて確認してください。
CodexやAIに調査結果を渡す時
SQLで取得した一覧やDSPFFDの項目情報をCodexに渡すと、テーブル定義の要約、影響範囲の整理、テスト観点の作成に役立つことがあります。ただし、本番データや個人情報をそのまま渡さないことが前提です。
安全なAI活用は、RPGソースをAIに読ませる時の注意点 と AS400 / IBM i 現場向けCodex実戦研修 で整理しています。
まとめ
IBM i SQL ServicesやACSのSQLは、AS400保守の調査を効率化できる強い道具です。ただし、最初はSELECT中心で使い、本番データ、更新SQL、CSV出力、機密情報の扱いを慎重に決めることが大切です。
コマンドで見る、SQLで一覧化する、必要に応じてAIで整理する。この3つを安全に使い分けると、AS400保守の調査とドキュメント化がかなり進めやすくなります。
AS400が遅い時の切り分け
画面、バッチ、帳票、SQLが遅い時は、AS400が遅い時の確認手順 を確認してください。WRKACTJOB、ジョブログ、MSGW、スプール、データ量、抽出条件を順番に見ます。
関連: 既存のQuery/400、WRKQRY、RUNQRYでデータ抽出している場合は、QUERY/400・WRKQRY・RUNQRYの確認ポイント で、対象ファイル、抽出条件、出力先、機密情報、SQL移行前の棚卸しを確認してください。
SQL Servicesは運用確認の入口として使う
IBM i SQL Servicesは便利ですが、本番で使うときは参照範囲、実行権限、負荷、確認結果の扱いを決めておく必要があります。運用監視や障害時の初動とつなげる場合はAS400保守・運用完全ガイドも合わせて確認してください。
