テクノロジー リフレッシュがもたらす数多くのIBM i およびDb2向けSQLベースのサービス
最新のテクノロジー リフレッシュでも、IBMは、管理者、開発者、およびその他のIBM i プロフェッショナルの作業を簡素化することを意図とした、新規およびアップデートされた一連のIBM i サービスをリリースしました。併せて、IBMは、Db2 for i サービスについても、いくつか更新を行っています。
この10年間、IBMは、ユーザーがオペレーティング システムのコア コンポーネントと対話処理する方法の手直しに大忙しでした。ユーザーは、従来のCLコマンドを発行したり、低レベルAPIを使用したりする代わりに、Access Client Solutions(ACS)を介して新たなSQLベースのIBM i サービスを利用することで、同じタスクを遂行することができるようになりました。
Db2 for i データベース アーキテクトのScott Forstie氏と彼のチームは、長年にわたって何百ものIBM i サービスおよびDb2 for i サービスを開発してきました。これら2つのタイプのサービスは、いずれもSQLで書かれており、Db2 for i データベースのSQL Query Engine(SQE)を使用して実行されます。両者の主な違いは、IBM i サービスが主としてオペレーティング システム関連のタスクの簡素化を意図したものであるのに対し、Db2 for i サービスは、データベースおよびデータベース開発タスクの管理の支援が意図されています。
「IBM i Technology Updates」Webページに記載されている詳細情報によれば、IBMは、7.5 TR3で、11種類の新規のIBM i サービスを提供し、12種類の既存のIBM i サービスを機能強化しているということです。また、1種類の新規のDb2 for i サービスが提供され、3種類のDb2 for i サービスが機能強化されています。
新規のIBM i サービス
IBM i 7.5 TR3および7.4 TR9の発表に関する 先週の記事 では、QSYS2内のQSYS2.DB_TRANSACTION_JOURNAL_INFO表関数(コミットメント制御ロールバックがあとどれくらい掛かるかを判定するのに有用)など、いくつかの新規のIBM i サービスを紹介しています。また、SYSTOOLS内の1組の新規スカラー関数(IFS内のファイルからスプレッドシートを自動的に作成(GENERATE_SPREADSHEET)し、それをメールで送信(SEND_EMAIL)する)についても触れました。
その他にも、新規のIBM i サービスとしては、AU(Attribute Changes: 属性変更)およびLD(Link, Unlink, Search Directory: リンク、リンク解除、ディレクトリー検索)監査ジャーナル項目タイプ用の、新たな監査ジャーナル項目表関数もあります。これらの新規の表関数はSYSTOOLS内にあり、他の監査ジャーナル項目タイプ用の数多くの他のIBM i サービスの仲間に加わることになります。 こちらをクリック すると、IBM i 7.5での、様々な監査ジャーナル項目タイプ用のIBM i サービスの一覧を参照できます。
もうひとつの新規のIBM i サービスとして、終了したジョブに関する情報を返す表関数、ENDED_JOB_INFOがあります。「IBM Support」ページによれば、その情報は、ヒストリー ログに記録されたCPF1164メッセージから収集されるということです。また、新規のIBM i サービス、JOB_QUEUE_ENTRIESは、ジョブ待ち行列内の項目ごとに1行を返す表関数です。両サービスとも、SYSTOOLS内にあります。
IFS内のファイルまたはディレクトリーの名前を変更するのに、「Qp0lRenameUnlink() - Rename File or Directory, Unlink "new" If It Exists」および「Qp0lRenameKeep() - Rename File or Directory, Keep "new" If It Exists」APIを使用するのはもううんざりだという方には(実際、皆さんそうでしょう)、SYSTOOLS内の新たなIFS_RENAMEスカラー関数は、大いに喜ばれるものとなるでしょう。
ネットワーク接続のテストは、SYSTOOLS内の新たなPING表関数で行なえるようになりました。より正確には、この表関数はPINGまたは「TCP/IP接続の検査(VFYTCPCNN)」CLコマンドを置換または補完するということになります。また、SYSTOOLS内の新たなPTF_COVER_LETTER表関数は、PTFのカバー レターの内容を返します。
もうひとつ、REPLY_INQUIRY_MESSAGESという新規のIBM i サービスもあります。これは、QSYSOPRメッセージ待ち行列内の1つ以上の照会メッセージに応答する、SYSTOOLS内のスカラー関数です。機能としては、「応答送信(SNDRPY)」CLコマンドと同様です。
機能強化されたIBM i サービス
ACSを通じてPTF(プログラム一時修正)を追跡しようとしている管理者にとっては、PTF_INFO(IBMが言うところでは、 元の SQLサービス)に対する機能強化は、非常にありがたいものとなるでしょう。IBM i 7.5 TR3および7.4 TR9で、このQSYS2ビューは(実際はIBM i サービス)、あるPTFについて、それを置き換えたPTFまたは代替PTFがあるのかどうかを表示するようになりました。
「このPTFを最後に置き換えたPTFがどれなのかという情報は、これまでは返していませんでした」とForstie氏は『 IT Jungle 』に述べています。「したがって、この情報によって、プログラムという点から更新の連鎖を確認できるようになるということです。ある1つのPTFが、後続のPTFとどのように関連しているのか。更新で重要なのは、そういうことであり、そうした情報が得られるようになったことで、大事なことを確認できるわけです。PTFが置き換えられているのか、いないのか、置き換えられているなら、どれに置き換えられたのかを確認することができます。そして、次のPTFに進んでも、同じことを尋ねて確認することができます。つまり、そうした更新の連鎖を遡ることができるようになったということです。」
ユーザーから強く要望されていた、もうひとつのIBM i サービスの機能強化は、SYSTOOLS内の表関数、CHANGE_USER_PROFILEへの機能の追加でした。今回のリリースで、管理者は、中央の1つの場所から簡単に複数のユーザー プロファイルの特殊権限を変更できるようになりました。
「CHANGE_USER_PROFILEは、SYSTOOLSにある表関数です。それは、すでにあるものでした。しかし、COMMON America Advisory Council(CAAC)も他のユーザーも、欲張りだったのです」とForstie氏は述べています。「彼らは、その表関数が大のお気に入りだったようです。ようやく機能強化が行われたので、その表関数を使用して、1つの照会で複数のユーザーの特殊権限を追加および除去できるようになったということです。」
特殊権限について特定の処理を行うためのセキュリティ ツールはありますが、システムには、特殊権限に変更を加える汎用的な方法がこれまではなかったとForstie氏は述べています。たとえば、まったくセキュリティに関係がないところで、特殊権限を変更することが必要になる場合もあります。
「たとえば、ユーザーにある特定の区画に立ち入らせたくないなど、より実際的な目的のために使用する場合もあります。そのため、ユーザーを降格または無効化しても、後で確実に元に戻せる術があるということです」とForstie氏は述べています。
「特殊権限は、標準化のルールを破ります」と彼は続けます。「特殊権限は、すべてのデータ値と1ビットの情報で管理されています。つまり、ALLOBJ、印刷(SPLCTL)の特殊権限、SECADMの特殊権限、等々です。そのため、他の特殊権限を台無しにすることなく、どの特殊権限を削除または追加したいか判断することができます。そして、ユーザーごとにこの設定は様々でしょう。」
IBM i は、重要なシステム制限を自動的に追跡しています。IBM i 7.5 TR3およびIBM i 7.4 TR9で、この自動追跡システムは、区画における削除行の最大数の超過を検出するように機能強化されています。
QSYS2内のDB_TRANSACTION_INFOビューは、ユーザーがトランザクションに関する詳細情報を確認できるように機能強化されました。このケースでは、このビューは、コミットメント定義ごとに1行を返します。
このビューは、QSYS2内の新たなDB_TRANSACTION_JOURNAL_INFOと組み合させて使用されることが多いと思われます。
QSYS2内のCHANGE_DISK_PATHSプロシージャーも、機能強化されたIBM i サービスの1つです。このプロシージャーは、特定の外部SCSIディスク アダプターのパスのうち、どのパスをオープンしておくかを管理者が正確に指定できるようにアップデートされました。
ジャーナル項目に関する情報を表示し、「ジャーナル表示(DSPJRN)」CLコマンドおよび「ジャーナル項目検索(QjoRetrieveJournalEntries)」APIと対応する、DISPLAY_JOURNAL表関数も機能強化されています。このIBM i サービスに関する 「IBM Support」のページ によれば、管理者は、COMMIT_CYCLEおよびINCLUDE_INTERNAL入力パラメーターを指定できるようになったということです。
もうひとつ、機能強化されたIBM i サービスに、ネットワーク接続に関する情報を返すQSYS2内のビュー、NETSTAT_JOB_INFOがあります。このビューには、ジョブ名、ジョブのユーザー、およびジョブ番号に関する情報が含まれるようになりました。
また、IBMは、REMOVE_TRACKED_JOB_QUEUEに、新たなIGNORE_ERRORSパラメーターを追加しました。このプロシージャーは、QSYS2における「Submitted Job Tracker」実行管理機能の一部であるIBM i サービスです。
IBMは、SYSTEM_VALUE_INFOビュー(QSYS2内にあるIBM i サービス)で返される情報をきれいに整理・整頓しています。このビュー(「システム値検索(QWCRSVAL)」APIと同様の機能です)は、フォーマットが改善され、TEXT_DESCRIPTION、CATEGORY、CHANGEABLE、およびSHIPPED_DEFAULT_VALUE用の新たな列が追加されました。
SYSTEM_STATUS_INFO、SYSTEM_STATUS_INFO_BASIC、およびSYSTEM_STATUSビューの使用時に、ユーザーはシリアル番号および仮想シリアル番号を確認できるようになります。これらのビューは、QSYS2ベースのIBM i サービスであり、「システム状況処理(WRKSYSSTS)」および「システム活動処理(WRKSYSACT)」CLコマンドと機能が似ています。
ADD_TRACKEDJOB_QUEUEという、以前にリリース済みのIBM i サービス(ジョブ キュー リスト(JQL)にジョブを簡単に追加できるようにするQSYS2プロシージャー)が、新規にREMOVE_TRACKED_JOB_QUEUEプロシージャーが追加されたことによって補強されています。ジョブの削除のみが必要という場合もあるからです。
USER_INFO_BASICビュー(ユーザー プロファイルに関する情報を返すQSYS2内のIBM i サービス)のセキュリティが強化されました。今回のリリースで、パスワード列は常にNULL値を返すようになります。
SYSTOOLS内のLPRINTFプロシージャーも機能強化されています。ユーザーは、30,720文字までの長さのストリングを出力できるようになりました。
新規および機能強化されたDb2 for i サービス
2023年秋のTRでは、新規のDb2 for i サービスが1つ追加されています。すなわち、SQLCODE_INFOです。このSYSTOOLサービスは、指定されたSQLCODE値に関連付けられたSQLメッセージを返す表関数です。
QSYS2内の表関数、CANCEL_SQLを使用してSQLジョブを取り消そうとしている方にとっては、ラッキーと言えそうです。今回のリリースで、自分自身のジョブを取り消すのに権限が必要なくなったからです。
PARSE_STATEMENT(ほとんどのSQLステートメントで使用されたオブジェクト名および列名のリストを返す、QSYS2内の表関数)に対する機能強化により、DDLステートメントでのほとんどのオブジェクトのサポートが追加されました。IBMは、SYSCOLUMNS2(DDSを通じて定義された列属性を返すQSYS2ビュー)のBUFFER_LENGTHおよびBUFFER_POSITION列のサポートを追加しています。
いつものことですが、 「IBM i Technology Update」ページでは、すべてのIBM i TRについての実に豊富な情報を参照することができます。