MENU

Db2 for i 最新Tips~SQLサンプルの活用法(IFSオブジェクトの管理)

IBMが提供するSQLサンプルへのアクセス

近年のIBM i では、実運用に即使えるSQLサンプルが多数提供されている。

IBM Knowledge Centerの記載はなぜかサポート終了済みのIBM i Navigator(Windowsのデスクトップアプリ)からの操作例となっているが、ACSでSQLスクリプト実行画面の「例から挿入」アイコンをクリックし、サンプルにアクセスすれば利用可能である(図表1)。

図表1 IBM提供サンプルへのアクセス

 

 これらのサンプルは、IBM i サービスやDb2 for i サービス、Db2 Mirror など特化した機能向け、もしくはDb2 for iの一般操作向けのDDL、DM、DCLのサンプルなど、すぐに利用できるように提供されている。
 
 以下では、IFS管理に関連するサンプルをそのまま実行した結果を紹介する。

 

IFSの使用状況の確認
SYSTOOLS for youカテゴリ/Analyze IFS storage consumption

 最初のサンプルはDb2 for iではないのだが、上記の操作からSYSTOOLS for youカテゴリを選択すると、Analyze IFS storage consumption というサンプルが見つかる。
 
 これをSQLスクリプトの実行画面にコピー&ペーストして実行すると、以下の①~④のように4つの結果を取得できる。
 
 繰り返すが、今回IBM提供サンプルにまったく修正を加えずに実行している。SQLなので自由にカスタマイズして実行可能だ。
 
 サンプルの冒頭では、CLコマンドでIFS情報を取得(RTVDIRINFコマンド)しているが、この時だけCPU使用率はじめシステム負荷がかかるので、実行のタイミングは注意してほしい。
 
① ストリーム・ファイル単位でのサイズ情報 

 List all objects and directories,in order with their sizes というコメントのあとのSQL(図表2)を実行すると、ストリーム・ファイル単位のサイズを降順で取得できる。

図表2 IFSオブジェクト~個々のIFS オブジェクトのサイズリスト

 

② 個別のディレクトリ単位でのサイズ情報を取得

 2つ目のサンプル(Summarize the size count at the directory levelsのあとのSQL)を実行すると、1つ1つのIFSディレクトリ単位のサイズを降順で取得できる(図表3)。

図表3 IFSオブジェクト情報 個別のディレクトリ単位でのサマリー情報

 

③ サブディレクトリを含んだディレクトリ単位のサイズ情報を取得

 次のサンプル(Summarize the size of directories including any subdirectory trees)を実行すると、図表4のように配下のサブディレクトリも含めた各ディレクトリのサイズ情報を取得できる。

図表4 ディレクトリレベル・サブディレクトリ含むのサマリー

 
 図表4で結果欄の第1行目は親ディレクトリ‘(..X11)、2行目は子ディレクトリ(..X11/fonts)、3行目は孫ディレクトリ(..X11/fonts/TrueType)の関係になっており、親ディレクトリには子、孫ディレクトリサイズが含まれている。

④ ディレクトリ内のオブジェクト数を取得

 次のサンプル(Summarize the object counts at each directory level)を実行すると、図表5のようにディレクトリに含まれるIFSオブジェクトの数を取得できる。

図表5 IFSディレクトリ毎のオブジェクト数

 

 以上はすべて、/QSYS.LIB以外のIFS全体を対象に実行しているが、SQLの条件を変えて/QIBM以下を除外したり、ユーザー任意のアプリケーションディレクトリを指定したりすることでいろいろと応用できる。

 

IFS特定ディレクトリ配下にあるサイズの大きい10ファイルを表示
IBM i サービス/IFS -10 largeest files under a subdir and tree

 これはAnalyze IFS storage consumptionと似ているが、よりシンプルに指定したディレクトリ配下でサイズの大きいトップ10のリストを返すサンプルである(図表6)。

図表6 サイズの大きい10ファイルを表示

 


著者
佐々木 幹雄氏

日本アイ・ビー・エム株式会社
パワーシステムテクニカルセールス
シニアITスペシャリスト

AS/400利用のお客様担当SEから出発し、さまざまなテクニカル職種を担当。現在はPower Systemsはじめインフラ提案・アーキテクチャ設計を主に担当している。

 

 

 

[i Magazine・IS magazine]


 

特集|Db2 for i 最新Tips~多彩な角度からDb2 for iの高度活用にアプローチする
 
PART 1  Db2 for i の歴史と拡張の方向性
PART 2 Db2 for i サービスとIBM i サービスの機能拡張
PART 3 IBM i Access Client Solutions(ACS)のDb2 for i 関連機能
PART 4 Db2 for iの日常運用を見直す
PART 5 Node.js on IBM iのDb2 for i 関連機能
PART 6 Db2 Mirror for iの概要と運用時の考慮点
Column  SQLサンプルの活用法(IFSオブジェクトの管理)