フォーラムへの返信
-
投稿者投稿
-
Q2.への回答
SQLの長いビュー名、テーブル名からIBM i OS上のオブジェクト名を調べる際は、IBM i サービスのQSYS2.SYSFILESを使用します。
例)
QSYS2.NETSTAT_JOB_INFOテーブルの実オブジェクト名を調べる場合
SELECT * FROM QSYS2.SYSFILES WHERE LIB_NAME = ‘QSYS2′ AND TABLE_NAME=’NETSTAT_JOB_INFO’;逆のパターンでIBM i OS上のオブジェクト名が分かる場合は、DSPPFコマンドで確認できます。代替ファイル名、としてSQLで使用できる長いテーブル名が分かります。
(以下自己回答です)
Q1.
IBM i Db2 for i のテーブル、ビューを作成する際に、SQL CREATE TABLE等で作成する際、SQL用に別名をつけることができます。SQLでは別名(10桁以上の長い名称)を使用できます。ご参考情報:https://qiita.com/gomAnomalocaris/items/ca86c7fb9cc1502176b5
自己回答です、下記の回避策があります。
https://qiita.com/gomAnomalocaris/items/c1bbf975f227ed4aaf9b
・ACSのキーパッドを表示しEnter を実行
・ACSのキーボードマップを変更するさらに新しい方法としましては、IBM i サービスでSQLで一発取得もできます。
ACSのサンプルにありました。
ACS SQLサンプル カテゴリー:Built-in Global Variables (組込みグローバル変数)
https://qiita.com/gomAnomalocaris/items/4c4c306746d5ed8765b5VALUES(SYSIBM.CLIENT_IPADDR);
VALUES(SYSIBM.CLIENT_PORT);です。
もう少しスマートに、ということですと、CLPを書けばクライアントのIPを取得できます。
IBM i CLPでクライアントのIPアドレスを取得するサンプル
https://qiita.com/gomAnomalocaris/items/189a67c15a60b65bca28ちょっと古い7.2か7.3位だったと思うのでパラメーターが変わってたかもしれませんが、基本はこの通りです。
こんにちは、単純なのですと、5250で、NETSTATコマンドー> 3. IPV4接続状況の処理 でリストされる一覧から下記の最下行のようにリモートアドレスが入っており、ローカルポート番号がTELNET(ポート20でつないでいる)を探して、OPT欄に8を押すと、WRKACTJOBでも表示されるジョブ名が確認できます。この手順でクライアントのリモートIPを確認できます。
リモート リモート ローカル アイドル
OPT アドレス ポート ポート 時間 状態
* * 4800 863:44:49 接続待機
9.68.28.168 59450 telnet 000:01:26 確立済みただ、、くらい後数が100とかありますと現実的ではないですが…(^^;
SPIKA様、
途中で送信してしまいましたm(_ _)m 上記ご案内のシステム値のうち,IBM i 7.X以降ですと、下記の2つは無効(当システム値を参照しない)ようです。
QJOBMSGQSZ
QJOBMSGQTLベストアンサーSPIKAさま
コマンドラインの履歴を表示、と書かれていますが何かプログラム的な仕組みを作って表示させているようにも思われたのですが、DSPJOBLOGコマンド等でも同様に履歴が見えなくなってしまうのでしょうか?また、メッセージファイルのサイズに関連したシステム値には下記があります。参考になれば。
QJOBMSGQFL *ALC ジョブ・メッセージ待ち行列満杯処置
QJOBMSGQMX *ALC ジョブ・メッセージ待ち行列の最大サイズ
QJOBMSGQSZ *ALC ジョブ・メッセージ待ち行列初期サイズ
QJOBMSGQTL *ALC ジョブ・メッセージ待ち行列最大初期サイズ私も西村さんと同じ GO CMDxxx派なのですが、理由は最初に教えてもらったからです。慣れているせいもありそうですが。
また、CLコマンドの検索は、 CL command finder というのもありました。
https://www.ibm.com/docs/ja/i/7.5?topic=language-cl-command-finder
PFのSIZEパラメーター(初期レコード数,増分レコード数,最大増分値)は変更されているユーザーも多いように思います。
各ユーザー毎のシステム要件やアプリ特性に応じて最適なレコード件数や増分値に増やしている例はよく見かけます。
中には、初期レコード数を *NOMAX にしているケースも記憶があります。CPWはワークロードの性能指標なので、CPW値が同一でも、1つ1つのジョブのレスポンスタイムが変わる場合は実際あるようですね。
色々な要件があると思うので一概ではありませんが、この辺の記事は参考になるかもしれません。【できるIBM i 7.4解剖】第4回 「IBM i 7.4 サイジングTipsと最新のパフォーマンス分析ツールご紹介」
後、上記のマニュアルサイトは読み方わからないと最初見づらいと思いますので、こちらの記事もご参考にどうぞ。。
Db2 for i のSQL構文の書き方のガイド
https://qiita.com/gomAnomalocaris/items/0b7c4591d5b812384361(自己回答です)
こちらのサイトがDb2 for i のSQL構文のマニュアルになります。
IBM i 7.5 = Db2 for i 7.5です。(※Db2 for i はIBM i OSにビルトインなので2つは常に同じバージョン番号になります)SQL解説書 -> ステートメント に記載があります。
https://www.ibm.com/docs/ja/i/7.5?topic=reference-statementsイグアス次郎さん
なるほどその方法もありますね。ほかには、、
5250画面で、IBM i のメインメニュー (GO MENUコマンドでも表示可)から、メニュー番号である程度カテゴリ別のコマンドがメニュー表示されます。
下記の辺りがよく使うのでは…と思います。
1.ユーザー・タスク
3.汎用システム・タスク
4.ファイル,ライブラリー,およびフォルダー
5.プログラミング
6.通信
7.システムの定義または変更最初わかり難いと思いますが、
1.はDSPMSG, DSPJOBLOGなどユーザーに関連したコマンド
3.はジョブやシステム制御、バックアップ・復元などOS周り
4.はライブラリー関連など
5,6,7は見た通りのコマンド群が表示され、メニューで選択できるので時間はかかりますが、分かりやすいかもしれません。(自己回答です。)
IBM i OSコマンドはCLコマンド(コントロール・ランケージ・コマンド)というものです。
マニュアルとしてこちらから一覧検索できます。CL command finderCL command finder
また、5250端末が手元にあれば、サインオンして以下のような方法で検索できます。
・コマンドの一部分をわかる(推測できる)場合は、GO CMDxxx コマンドを実行します。
xxx に検索したいCLコマンドの一部を入力します。
たとえば、GO CMDCRT
とすると、CRTPF, CRTRPGPGM, などCRTが含まれるコマンドがリストされます。
または、
GO CMDPF
のようにすると、PFに関連するコマンド一覧がリストされます。(CRTPF, CHGPF, CHGPFM, etc.)
-
投稿者投稿