上級者リファレンス : Advanced Operations Guide : 監視
  
このページをシェアする                  
監視
Zen 環境を監視する
Zen は使いやすく、また最小限の管理で利用できるようになっています。しかし、Zen 環境のさまざまな状況やリソースについて監視することもできます。たとえば、アプリケーションの一部を調整したり、データベースに関するさまざまなパフォーマンス面を監視したりする必要があるかもしれません。あるいは、ビジネス ニーズに応じて Zen の各種設定を調整しており、デフォルト設定からの変更を監視することもできます。
以下のトピックで監視について説明します。
データベースの状態の監視
データ ファイルの断片化の監視
パフォーマンス カウンターの監視
ライセンスの使用状況の監視
データベース アクセスの監視
メッセージ ログの見直し
メッセージの電子メール通知を受け取る
データベースの状態の監視
Monitor ツールではデータベースの状態を監視することができます。次の項目について監視が可能です。
アクティブ ファイル
MicroKernel セッション
リソース使用状況
MicroKernel 通信統計情報
SQL アクティブ セッション
Monitor を初めて使用する場合、またはこのツールの概要を知りたい場合は、Monitor の概要を参照してください。
Monitor の概要
Monitor はデータベース エンジンの特定の動作と属性を体系的に監視することができるツールです。このツールでは、データベース管理およびアプリケーションのプログラムの診断に役立つ情報を提供します。これは MicroKernel エンジンおよびリレーショナル エンジンのどちらの状況も監視できます。
Monitor には次の 2 つのインターフェイスがあり、いずれも同じ機能を提供します。
Monitor のグラフィカル インターフェイスは、一連のタブ形式で情報を表します。
Monitor のコマンド ライン インターフェイスでは、選択した場所に情報を表すように指示する実行可能プログラムを使用します。
Monitor のグラフィカル インターフェイス
ZenCC には、情報を一連のタブ形式で構成して表す Monior ツールが含まれています。タブの配置は必要に応じて変えることができます。タブ内のデータ列も配置を変えたり並べ替えたりすることができます。ある特定の時点のスナップショットを表示し、その情報は手動または自動でリフレッシュすることができます。
GUI Monitor の使用
ZenCC 内で、Zen エクスプローラーから Minitor にアクセスできます。
データベース エンジン用の Monitor にアクセスするには
Monitor ウィンドウを開くには、以下のオプションのうちの 1 つを使用します。同時に複数のエンジンの監視を行うこともできます。
Zen エクスプローラーで[エンジン]ノードを展開します。監視対象のデータベース エンジンを右クリックし、コンテキスト メニューから[Server Monitor]を選択します。
ツール]>[Monitor]をクリックします。監視するサーバーを選択できるダイアログが表示されます。
Monitor を、サードパーティ アプリケーション向けなど、スタンドアロン ウィンドウで起動するには、プロンプトで -monitor_any パラメーターを使用できます。
zencc.exe -monitor_any
監視するサーバーを選択できるダイアログが表示されます。
GUI の機能
下の表は次の図のユーザー インターフェイス コンポーネントの説明です。画像上のそれぞれの領域をクリックするとその詳細が表示されます。
図 5 Monitor のユーザー インターフェイス
 
GUI のオブジェクト
説明
関連情報
[ファイル]メニュー
リフレッシュ レートを設定できます。
[ウィンドウ]メニュー
ZenCC のデータベース ウィンドウに戻る、または Monitor の個々のタブを表示して初期設定を行うことができます。
[ヘルプ]メニュー
ドキュメントやログにアクセスすることができます。
タブ設定領域
その時点でデータベースに発生している動作についての情報を表示する、グリッド形式の 5 つのタブがあります。いずれかのタブを選択すると、タブ ラベル行の右端には、そのタブに適用されるアイコンが表示されます。
Monitor の初期設定
Monitor の初期設定は、Monitor 自体または ZenCC のどちらからでも設定できます。どちらの場合も、[ウィンドウ]>[設定]>[Zen ]>[Server Monitor]を選択します。
設定できる初期設定には 2 つのタイプがあります。1 つは、Monitor ユーザー インターフェイスのレイアウト設定です。Monitor を次回開くとき、今回のタブの配置を復元するよう設定できます。これはアクセスするサーバーごとに設定できます。もう 1 つは、特定のグリッドに対する機能の設定です。列幅、ソート順、列の順序などの機能について設定できます。別のサーバーでその特定のグリッドを開いた場合、そのグリッドにも同じ設定が適用されます。このため、異なるサーバーで同じグリッドを簡単に比較することができます。
リフレッシュ オプションの設定
Monitor の情報は、指定した間隔または必要に応じて随時リフレッシュすることができます。また、リフレッシュを行わないようにすることもできます。短い間隔で多くのウィンドウをリフレッシュすると、パフォーマンスが低下する可能性があるので注意してください。
自動リフレッシュ
1. 自動リフレッシュ設定([自動リフレッシュはオン/オフになっています])アイコンを使用して自動リフレッシュをオンにします。
2. ファイル]>[自動リフレッシュの設定]の順に選択、または[自動リフレッシュレートを設定します]アイコンをクリックして[リフレッシュレートの設定]ダイアログ ボックスを開きます。
3. リフレッシュ レートの設定]ダイアログ ボックスで、リフレッシュ間隔を秒単位で入力し、[OK]をクリックします。
随時リフレッシュ
ファイル]>[自動リフレッシュ]の順に選択するか、または[データをリフレッシュ]アイコンをクリックします。
リフレッシュしない
自動リフレッシュ設定([自動リフレッシュはオン/オフになっています])アイコンを使用して自動リフレッシュをオフにします。
タブの機能
タブは、必要に応じて配置を変更したり、分離させたり、また再び一体化したりすることができます。タブを移動させるには、そのタブ ラベル上にカーソルを置いてマウスの左ボタンを押したまま、目的の位置へ移動します。
タブによってデータの性質が異なるため、実行できる操作もタブごとに異なります。これらの操作は、タブ ラベル行の右端に表示されるアイコンによって実行されます。次の表ではこのアイコンについて説明しています。
表 29 GUI アイコン
アイコン
説明
自動リフレッシュの設定
自動リフレッシュのオン/オフを切り替えます。リフレッシュ オプションの設定を参照してください。
リフレッシュ レートの設定
Monitor ユーザー インターフェイスの情報を更新する間隔(秒数)を設定するダイアログ ボックスが表示されます。リフレッシュ オプションの設定を参照してください。
リフレッシュ
ユーザー インターフェイスに最新情報を表示します。
表示する列の選択
表示する列を選択できるダイアログ ボックスが表示されます。含まれる列はタブごとに異なるので、各ダイアログ ボックスには異なる列名が含まれます。すべてのダイアログ ボックスに、[すべて選択]と[すべて選択解除]ボタンがあります。
ハンドルを表示/非表示
タブの下部にある[ハンドル情報]グリッドの表示/非表示を切り替えます。[ハンドル情報]グリッドに表示される情報は、タブによって異なります。
ハンドル情報]グリッドには[表示する列の選択]アイコンもあり、必要に応じて列を表示または非表示にすることができます。
選択したセッションの削除
強調表示されたセッションをタブから削除します。このアイコンは、1 つのセッションが選択された場合にのみ有効になります。
注意:この手順はセッションを実質的に終了させるので、進行中の作業を中断させることになります。そのため、この操作を本当に行うかどうかを確認するメッセージが表示されます。
全セッションの削除
すべてのセッションをタブから削除します。
注意:この手順はすべてのセッションを実質的に終了させるので、進行中の作業を中断させることになります。そのため、この操作を本当に行うかどうかを確認するメッセージが表示されます。
増加値をリセット
統計情報を削除し、カウントをゼロから再スタートします。
アクティブ ファイルの監視
アクティブ ファイル]では、現在開いている MicroKernel ファイルについての情報を提供します。監視する列を選択する方法については、表示する列の選択を参照してください。
 
表 30 MicroKernel アクティブ ファイルの監視対象として選択可能な列
パス
ファイルの場所のディレクトリとすべてのサブディレクトリを提供します。
ファイル
ファイル名(サフィックスを含む)を示します。
ページ サイズ
ファイルの各ページ サイズ(バイト単位)を表します。
リードオンリー
このファイルに、オペレーティング システムからリードオンリーのフラグが付けられているかを示します。
レコード ロック
選択したファイルのアクティブ ハンドルのいずれかが、レコード ロックを行っているかどうかを示します。どのアプリケーションもロックされたレコードを読み取ることが可能ですが、レコードの変更や削除ができるのは、ロックを行ったアプリケーションのみです。レコード ロックはファイルを開いたアプリケーションがレコードを更新している期間中にのみかかります。"はい" はファイルに対し 1 つ以上のレコード ロックが適用されていることを示し、"いいえ" はロックされたレコードがないことを示しています。
トランザクション ロック
選択したファイルのアクティブ ハンドルのいずれかが、トランザクション ロックを行っているかどうかを示します。トランザクション ロックはファイルを開いたアプリケーションがトランザクションの作業をしている期間中にのみかかります。
物理ファイル サイズ
ファイルのサイズをキロバイト(KB)で示します。この情報は特に、容量ベースのライセンス モデルでファイルごとの使用データ量を再調査する場合に役立ちます。『Zen User's Guide』の容量ベース ライセンス モデルも参照してください。
Monitor では、個々のファイルのサイズにはキロバイト(KB)、またリソースの使用状況(リソース使用状況の監視)にはメガバイト(MB)の単位を使用します。License Administrator ではサイズの単位にギガバイト(GB)を使用しています。これは、使用データがその単位でキーに関連付けられているからです。コンテキストごとに適切な単位を必要とします。
大量レコードの挿入直後にファイルを閉じた場合、Monitor ではそのファイルのサイズの変更が直ちに反映されません。たとえば、そのファイルに関する[物理ファイル サイズ KB]の統計情報は、次回そのファイルが読み取りまたは書き込みのために開かれるまで更新されません。
アクティブ ファイルのハンドル情報を見ることができます。ハンドルを表示/非表示を参照してください。アクティブ ファイルのハンドルには以下の情報が含まれます。
表 31 アクティブ ファイルのハンドルに対して選択可能な列
クライアント
名前(通常はユーザーのログイン ID)、またはデータベース サーバーのクライアント リストへのインデックスを示します。
接続番号
クライアントのネットワーク接続番号を表示します。クライアントがネットワーク接続を持たない場合、このフィールドには NA(適用外)と表示されます。
タスク番号
サーバーまたは Windows クライアントで発生するプロセスのタスク番号を表示します。
サイト
ユーザー プロセス(ローカルまたはリモート)のロケーションを示します。
ネットワーク アドレス
ネットワーク上の呼び出し元プロセスのロケーションを表示します。
呼び出し元プロセスが TCP/IP の場合、IP アドレスの先頭には、T4(IPv4 アドレスの場合)、T6(IPv6 アドレスの場合)および T(クライアント マシンの完全修飾ドメイン名の場合)が表示されます。たとえば、次のようになります。
T4: 180.150.1.24
T6: 1234:5678:0000:0000:0000:0000:9abc:def0
T: <mymachine.mydomain.mycompany>.com
オープン モード
アプリケーションでファイルの特定のハンドルを開くのに使用する方法を表示します。有効なオープン モードは以下のとおりです。
ノーマル - ファイルを開いたアプリケーションでノーマル共有読み取り/書き込みアクセスが可能
アクセラレイティド - ファイルを開いたアプリケーションで共有読み取り/書き込みアクセスが可能
リードオンリー - ファイルを開いたアプリケーションで読み取り専用モードでアクセスできるが、ファイルの変更は不可
エクスクルーシブ - ファイルを開いたアプリケーションで排他的なアクセス モードが使用可能。呼び出し元アプリケーションが閉じるまで、ほかのアプリケーションからファイルを開くことはできません。
Monitor では、すべてのオープン モードについて、非トランザクションまたは共有ロックが適用可能な場合は、その状態も示します。
レコード ロック タイプ
現在ハンドルで扱われているレコード ロックの種類を表示します。レコード ロックには、[シングル]、[マルチ]、[なし]の 3 種類があります。
シングル レコード ロックの場合、ユーザーは一度に 1 つのレコードをロックすることができます。マルチ レコード ロックの場合、ユーザーは一度に複数のレコードをロックすることができます。
ウェイト状態
このハンドルで、なんらかのロックによってユーザーが待機しているかどうかを次のように表示します。[レコード ロック ウェイト]、[ファイル ロック ウェイト]、または[なし]。
トランザクション タイプ
現在ハンドルで扱われているトランザクション ロックの状態を表示します。トランザクションには、[排他]、[並行]、および[なし]の 3 種類があります。
MicroKernel セッションの監視
MicroKernel セッション]タブでは、MicroKernel エンジンに対する現在の接続情報を提供します。監視する列を選択する方法については、表示する列の選択を参照してください。
 
表 32 MicroKernel セッションの監視対象として選択可能な列
セッション
接続を特定する一意な識別子を提供します。「セッション」とは、MicroKernel エンジンによって使用されるクライアント ID、またはリレーショナル エンジンへの接続と定義しています。「クライアント ID」とは、データベース トランザクション コンテキストを一意に識別するために、アプリケーション、クライアント プラットフォームおよびデータベース エンジンによって提供される要素を組み合わせた 16 バイトの構造体と定義しています。
セッション情報は、MicroKernel エンジンとリレーショナル エンジンを介して確立されたセッションを示します。リレーショナル エンジンのみで確立されたセッションを表示させる場合は、SQL アクティブ セッションの監視を参照してください。
このタブでは、単独セッションの削除、または全セッションの一括削除が行えます。選択したセッションの削除および全セッションの削除を参照してください。
接続番号
セッションのネットワーク接続番号を表示します。セッションがネットワーク接続を持たない場合、このフィールドには NA(適用外)と表示されます。
タスク番号
サーバーで、または Windows クライアントから発生するプロセスのタスク番号を表示します。
サイト
セッション プロセス(ローカルまたはリモート)のロケーションを示します。
ネットワーク アドレス
ネットワーク上の呼び出し元プロセスのロケーションを表示します。
呼び出し元プロセスが TCP/IP の場合、IP アドレスの先頭には、T4(IPv4 アドレスの場合)、T6(IPv6 アドレスの場合)および T(クライアント マシンの完全修飾ドメイン名の場合)が表示されます。
たとえば、次のようになります。
T4: 180.150.1.24
T6: 1234:5678:0000:0000:0000:0000:9abc:def0
T: <mymachine.mydomain.mycompany>.com
単独マシンの複数のクライアントを異なる TCP/IP アドレスで接続する場合、各アドレスはそのクライアントに対して有効です。ただし、データベース エンジン内部的には、クライアントと関連付けられるアドレスは、そのクライアントによって使用される実際のアドレスではないかもしれません。これは、データベース エンジンが同じマシンからの複数のクライアントを特定および管理するからです。その結果、Monitor はエンジン情報を報告しているので、このツールでは実際のアドレスではなく、関連付けられたアドレスが表示される可能性があります。
使用中ロック数
セッションが現在使用中のロック数。
トランザクション タイプ
セッションが現在扱っているトランザクション ロックの種類。トランザクションには、[排他]、[並行]、および[なし]の 3 種類があります。
読み込みレコード数
セッションがファイルを最初に開いてから現在までに読み取ったレコードの数。
挿入レコード数
セッションが挿入したレコードの数。
削除レコード数
セッションが削除したレコードの数。
更新レコード数
セッションが更新したレコードの数。
ディスク アクセス数
セッションがディスク アクセスを要した回数。開いたばかりのファイルでは、ディスク アクセスについての情報は表示できません。
キャッシュ アクセス数
このクライアントが、リクエストに応えるために L1 または L2 キャッシュのデータを検索した回数を示します。
MicroKernel セッションのハンドル情報を見ることができます。ハンドルを表示/非表示を参照してください。MicroKernel セッションのハンドルには以下の情報が含まれます。
 
表 33 MicroKernel セッションのハンドル情報に対して選択可能な列
パス
ファイルの場所のディレクトリとすべてのサブディレクトリを提供します。
ファイル
ファイル名(サフィックスを含む)を示します。
オープン モード
アプリケーションでファイルの特定のハンドルを開くのに使用する方法を表示します。有効なオープン モードは以下のとおりです。
ノーマル - ファイルを開いたアプリケーションでノーマル共有読み取り/書き込みアクセスが可能
アクセラレイティド - ファイルを開いたアプリケーションで共有読み取り/書き込みアクセスが可能
リードオンリー - ファイルを開いたアプリケーションで読み取り専用モードでアクセスできるが、ファイルの変更は不可
エクスクルーシブ - ファイルを開いたアプリケーションで排他的なアクセス モードが使用可能。呼び出し元アプリケーションが閉じるまで、ほかのアプリケーションからファイルを開くことはできません。
Monitor では、すべてのオープン モードについて、非トランザクションまたは共有ロックが適用可能な場合は、その状態も示します。
レコード ロック タイプ
現在ハンドルで扱われているレコード ロックの種類を表示します。レコード ロックには、[シングル]、[マルチ]、[なし]の 3 種類があります。
シングル レコード ロックの場合、ユーザーは一度に 1 つのレコードをロックすることができます。マルチ レコード ロックの場合、ユーザーは一度に複数のレコードをロックすることができます。
ウェイト状態
このハンドルで、なんらかのロックによってユーザーが待機しているかどうかを次のように表示します。[レコード ロック ウェイト]、[ファイル ロック ウェイト]、または[なし]。
トランザクション タイプ
現在ハンドルで扱われているトランザクション ロックの状態を表示します。トランザクションには、[排他]、[並行]、および[なし]の 3 種類があります。
リソース使用状況の監視
リソース使用状況]タブでは、エンジンが最後に起動してから現在まで MicroKernel によって使用されているリソースを表示します。監視する列を選択する方法については、表示する列の選択を参照してください。
データベース エンジンは、これらのリソースのうちいくつかの最大値を動的に制御します。ユーザー数、セッション数および使用中データの最大値は製品ライセンスによって決まります。『Zen User's Guide』のライセンス モデルを参照してください。
リソースが監視対象の Zen 製品の種類に適用されない場合、そのリソースの各統計情報には "n/a"(適用外)が表示されます。たとえば、ユーザー数は Cloud Server には適用されません。このため、Cloud Server が監視される場合は、[ユーザー数]の[現在値]、[ピーク値]および[最大値]には "n/a" が表示されます。同様に、Zen サーバーが監視される場合は、[セッション数]と[使用中データ MB]の[最大値]には "n/a" が表示されます。
Cloud Server の使用を検討されている場合、[使用中データ MB]の現在値やピーク値の予測が必要です。そのため、それらの統計情報はサーバーでも表示されますが、実施はされません。これらの統計情報については、その値に関わらず通知は送信されません。
 
エンジンの稼働時間
MicroKernel エンジンが起動されている時間が、週、日、時、分、秒で示されます。
エンジン稼働時間は、リソース使用状況の表示対象として選択できる列ではありません。これはグリッド タイトルの一部です。
 
表 34 MicroKernel リソース使用状況の監視対象として選択可能な列
リソース
監視するリソースのタイプを示します。リソース使用状況の監視の対象となるリソースの種類を参照してください。
現在値
現在の使用状況をリソース別に示します。
ピーク値
MicroKernel が起動してから現在までにそのリソースが記録した最高値を示します。
最大値
各リソースに対して許容される最大値を示します。
次の表では、使用状況の監視の対象となるリソースの種類を示しています。
 
表 35 リソース使用状況の監視の対象となるリソースの種類
ファイル数
MicroKernel によって現在開かれているファイル数。このリソースの最大値に制限はありません。
ハンドル数
アクティブ ハンドルの数。MicroKernel は、ユーザーがファイルを開くたびにハンドルを作成します。1 つのセッションが同じファイルに対していくつかのハンドルを持つことができます。このリソースの最大値に制限はありません。
クライアント数
MicroKernel にアクセス中のクライアントの数。1 台のマシンで複数のクライアントがデータベース エンジンに同時にアクセスできます。データベース エンジンはクライアント一覧を動的に管理します。このリソースの最大値は無制限です(クライアント数はコンピューターのメモリによってのみ制限されます)。
「クライアント」とは、クライアント ID(トランザクショナル エンジン インターフェイス)によって、またはリレーショナル エンジン インターフェイスへの接続によって確立されたセッションをいいます。データベース エンジンは、Zen システム ファイル、メタデータ ファイル、dbnames.cfg およびデフォルトのシステム データベースへのアクセスなど、独自の内部処理用にさまざまなクライアント セッションを使用します。クライアント数は、内部的なクライアント セッションと非内部的なクライアント セッションの両方を示します(MicroKernel セッションの監視を参照)。
ワーカ スレッド数
MicroKernel の並行プロセスの数。
ユーザー数
同時に接続しているユーザー数。この最大値は、使用許諾契約書に従って許可される、最大ユーザー数です。
セッション数
データベース エンジンによって使用されているセッション数。「使用されているセッション数」は端的に「セッション数」ともいいます。この最大値(「セッション数の制限値」ともいいます)は、使用許諾契約書に従って許可される最大セッション数を示します。
セッション数は、MicroKernel エンジンまたはリレーショナル エンジンを介して確立されたすべてのセッションを示します。
セッション数に関するメッセージは、Zen のさまざまなログ リポジトリに記録されます。メッセージ ログの見直しを参照してください。
データベース エンジンは、Zen システム ファイル、メタデータ ファイル、dbnames.cfg およびデフォルトのシステム データベースへのアクセスなど、独自の内部処理用にさまざまなセッションを使用します。これらの内部セッションについてはセッション数を消費しません。
使用中データ MB
同時に開く全データ ファイルのサイズ(MB 単位)。この最大値は、使用許諾契約書に従って許可される、同時に開く全データ ファイルの総量です。この最大値は、「使用データの制限値」ともいいます。
使用データの値は、データ ファイルが初めて開かれたときに増加します。データ ファイルが既に開かれていれば、それ以降に開く際には総量に加算されません。使用データは、開くファイルのサイズが増加した場合にも増えます。既に開かれているファイルのサイズが大きくなって使用データの制限を超えても、そのファイルに対する操作は引き続き許可されます。
使用データの値は、データ ファイルを開いた最後のユーザーがそのデータ ファイルを閉じたとき減少します。複数のユーザーが同じデータ ファイルにアクセスできるので、そのデータ ファイルを開いたすべてのユーザーがそのファイルを閉じないと使用データは減少しません。
データに関するメッセージは、Zen のさまざまなログ リポジトリに記録されます。メッセージ ログの見直しを参照してください。
データベース エンジンは、Zen システム ファイル、メタデータ ファイル、dbnames.cfg およびデフォルトのシステム データベースなど、独自の内部処理用にさまざまなファイルを使用します。内部処理に使用するファイルによって使用データの値が増えることはありません。
大量レコードの挿入直後にファイルを閉じた場合、Monitor ではそのファイルのサイズの変更が直ちに反映されません。たとえば、そのファイルに関する[使用中データ MB]の統計情報は、次回そのファイルが読み取りまたは書き込みのために開かれるまで更新されません。
トランザクション数
トランザクションの数。このリソースの最大値に制限はありません。
ロック数
レコード ロックの数。このリソースの最大値に制限はありません。
MicroKernel 通信統計情報の監視
MicroKernel 通信統計情報]タブでは、MicroKernel エンジンとの通信に関する情報を表示します。これは、通信統計情報セクションとリソース使用状況情報セクションに分かれています。通信統計情報は、データベース エンジンの起動時から現在までに処理された回数の合計が計算されています。
監視する列を選択する方法については、表示する列の選択を参照してください。
 
エンジンの稼働時間
MicroKernel エンジンが起動されている時間が、週、日、時、分、秒で示されます。
エンジン稼働時間は、MicroKernel 通信統計情報の表示対象として選択できる列ではありません。これはグリッド タイトルの一部です。
通信統計情報
 
表 36 MicroKernel 通信統計情報の監視対象として選択可能な列
リソース
監視するリソースのタイプを示します。MicroKernel 通信統計情報のリソースの種類を参照してください。
合計値
データベース エンジンの起動時から現在までに発生した回数の合計を示します。
増加値
[MicroKernal 通信統計情報]タブへ最後にアクセスしてから現在までに発生した回数を示します。増加値のカウントをリセットして再スタートさせるには、[増加値をリセット]をクリックします。
 
 
表 37 MicroKernel 通信統計情報のリソースの種類
処理済リクエスト総数
データベース エンジンが処理している、ワークステーションやリモート、サーバーベース アプリケーションからのリクエストの数。
TCP/IP 処理済リクエスト数
データベース エンジンが処理しているクライアントやリモート、サーバーベース アプリケーションからの TCP/IP リクエストの数。
接続タイムアウト数
Auto Reconnect がクライアントに再接続を試行するときのタイムアウトの回数。自動再接続タイムアウトも参照してください。
接続復元数
Auto Reconnect 機能が接続タイムアウトから回復に成功した回数を示します。
リソース使用状況情報
リソース使用状況情報では、リソース発生回数の現在値、ピーク値、および最大値を提供します。
 
表 38 MicroKernel 通信統計情報に関するリソース使用状況の監視対象として選択可能な列
リソース
監視するリソースのタイプを示します。MicroKernel 通信統計情報に関するリソース使用状況のリソースの種類を参照してください。
現在値
現在の使用状況をリソース別に示します。
ピーク値
MicroKernel が起動してから現在までにそのリソースが記録した最高値を示します。
最大値
各リソースに対して許容される最大値を示します。
 
表 39 MicroKernel 通信統計情報に関するリソース使用状況のリソースの種類
通信スレッド数
MicroKernel で現在処理中のリモート リクエストの数。ここには、ローカルのリクエストについての情報は含まれません。処理中のリモートおよびローカル スレッドの合計については、リソース使用状況の監視を参照してください。
データベース エンジンは必要に応じて、通信スレッド数を許容される最大値まで動的に増加させます。Windows、Linux、および macOS では、最大値は 1024 です。
通信スレッドは Monitor のリクエストを処理するためにも使用されるので、現在の通信スレッド数にはこの数も含まれています。この状態は正常です。
リモート セッション総数
データベース エンジンに接続したリモート クライアントの数。最大数は動的で、ゼロが表示されます。
TCP/IP リモート セッション数
TCP/IP プロトコルを介してデータベース エンジンに接続したリモート クライアントの数。
SQL アクティブ セッションの監視
SQL アクティブ セッション]タブでは、リレーショナル エンジンに対する現在の接続情報を提供します。このタブでは、SQL セッションの削除も行えます。選択したセッションの削除を参照してください。監視する列を選択する方法については、表示する列の選択を参照してください。
表 40 SQL アクティブ セッションの監視対象として選択可能な列
ユーザー名
ユーザーのログイン名を提供します。
クライアント ホスト名
選択されたユーザー名に対応するクライアント マシンの名前。使用不可の場合、[不明]に設定されます。
ネットワーク アドレス
選択されたユーザー名のクライアント マシンの IP アドレス。使用不可の場合、[不明]に設定されます。
表示される値には、"IP"、"Shared Memory" および "不明" があります。
クライアント アプリケーション
接続したアプリケーションまたはモジュール。使用不可の場合、[不明]に設定されます。
データ ソース名
クライアント アプリケーションによって参照される、DSN の名前。
接続状態
選択されたユーザーの接続状態。接続状態のタイプは次のとおりです。
[アクティブ] - セッションには開いているファイルがあります。
[アイドル] - セッションには開いているファイルがありません。
[無効] - アクティブ セッションは削除されていますが、SQL コードの処理が終了されていないことを示す一時的な状態。適切な終了時点で、そのセッションは[SQL アクティブ セッション]ダイアログに表示されなくなります。
[不明] - 状態を入手できません。
アクティブ/アイドル時間
接続がアクティブまたはアイドルになってからの時間(ミリ秒単位)を表示します。
総接続時間
接続が確立されてからの時間(秒単位)を表示します。
Monitor のコマンド ライン インターフェイス
以下のトピックでは、Monitor のコマンド ライン バージョン bmon について説明します。
bmon へのアクセス
設定ファイルの設定
bmon の出力
bmon へのアクセス
bmon コマンド ライン ツールは、Zen でサポートされる Windows、Linux、macOS、および Raspbian プラットフォームで実行します。この実行可能プログラムは、bmon.exe(Windows の場合)および bmon(Unix ベースのシステムの場合)です。Windows システムの場合、このツールは Zen インストール ロケーションの bin ディレクトリにあります。Unix システムの場合、このツールは /usr/local/actianzen/bin にあります。
設定ファイルの設定
bmon は構成ファイルに基づいてサーバー設定を管理します。Zen はデフォルトの設定ファイル monconfig.txt を Zen のインストール先の bin ディレクトリに用意しています。ファイル内の各設定の説明はコメントに記載されています。
bmon の出力
bmon からの出力をコンソールおよびログ ファイルのいずれか、または両方にリダイレクトすることができます。設定ファイルで出力先を指定することができます。たとえば、アプリケーションは、コンソールやログ ファイルで特定の状態を調べてから適切な対応をとることができます。Zen v15 では、-runonce オプションで JSON 出力がサポートされるようになりました。
コマンド構文
bmon -f [filepath]config_file [-runonce][-JSON]
オプション
-f
設定ファイルがツールに対して入力を提供することを指定するために必要なパラメーターです。
filepath
設定ファイルのパス。省略すると、bmon は設定ファイルをローカル ディスクで検索します。
config_file
設定ファイルの名前。ファイル名は、自由に選択できます。インストレーションには monconfig.txt がデフォルト ファイルとして含まれています。このファイルは Zen のインストール ディレクトリ内の bin ディレクトリにあります。ファイル内のコメント行には全オプションについての説明が記載されています。
-runonce
bmon を 1 度実行したら終了させるためのオプション パラメーターです。このパラメーターは、bmon がバッチ ファイルから呼び出される場合に特に役立ちます。runonce パラメーターを使用しない bmon の実行も参照してください。
メモリモートの PowerShell セッションなど stdin を使用しないコマンド ライン環境では、指定されていなくても bmon はこのオプションを使用します。bmon を複数回実行させるためには、bmon 設定ファイルで limitrefresh 設定を使用します。
-JSON
JSON 形式で出力を生成するためのオプション。-runonce パラメーターを指定した場合のみ使用できます。
runonce パラメーターを使用しない bmon の実行
runonce パラメーターは省略可能です。省略した場合、bmon は設定ファイルで指定された設定を使用します。サンプル ファイルの monconfig.txt では、リフレッシュ レート(refreshrate)の初期値は 5 秒に設定されています。bmon の実行中、いつでも手動で終了することができます。終了には Q(または q) + Enter キーを使用します。
リフレッシュ レートが 0(ゼロ)の場合、bmon はキーボードのキー応答があるまで停止します。設定ファイルのリフレッシュ レート設定(refreshrate)により、停止する時間を指定します。
リフレッシュ オプション
注記
refreshrate=5
(5 秒間停止後、bmon を再実行)
refreshrate=0
(キーボードの有効なキー応答を受け取るまで停止)
この値にはゼロまたは 5 以上の整数を指定します。
サンプル ファイル monconfig.txt でのデフォルト値は 5 です。
limitrefresh=0
(手動で bmon を停止させるには、Q または q + Enter キーを使用)
limitrefresh=n
(bmon を n 回実行した後に終了)
最大値は 2147483647 です。
サンプル ファイル monconfig.txt でのデフォルト値はゼロです。
ローカル実行を想定した stdin のセッションが、リモート接続であったことが原因で失われた場合、bmon は "対話型入力でエラーが検出されました。" という警告を出して終了します。limitrefresh に 1 以上を設定すると、このメッセージは表示されなくなります。
データ ファイルの断片化の監視
データベースが頻繁に使用される状態が続くと、その間にレコードの作成、更新、または削除が繰り返し行われるので、データが断片化され、ファイルへのアクセスやトランザクションの応答に時間がかかるようになることがあります。この場合の断片化とはデータ ファイル内で起こるものであり、ハード ディスク上のファイル システムの断片化とは異なります。開発者またはデータベース管理者であれば、ファイルの集中使用から判断してファイルがいつ断片化されやすいかはご存知でしょうが、システムによってはその断片化のタイミングを推測している(断定できない)かもしれません。
Defragmenter は、データの断片化を検出し、それを修正することでこの問題を解決するツールです。最適化は、データ ファイル内でレコードの再配置やインデックスの再構築を行ったり、未使用領域を除去したりして、再びデータへ効率よくアクセスできるようにします。ファイルの最適化によってそのファイルのデータが変更されることはありません。また、ファイルの最適化中でもレコードの作成、読み取り、更新または削除が可能です。ほとんどの場合、Defragmenter の機能を使用するためにダウンタイムを設ける、または業務を停止する必要はなく、データベース エンジンの実行中にもこの機能を使用することができます。
Defragmenter は Zen Control Center から開くことができるグラフィカル ツールの 1 つです。このツールでは、使用中のデータ ファイルと、その読み取り/書き込み回数が表示されるので、頻繁に使用されるデータ ファイルをすばやく見つけることができます。ファイルまたはテーブルを[ウォッチ リスト]タブに追加するには、その追加対象を選択してドラッグ アンド ドロップ、ボタンをクリック、または右クリックしてコマンドを選択します。別の場所に Btrieve ファイルがある場合は、その場所を参照し、監視対象として追加することもできます。
Defragmenter は dbdefrag ツールとしても実行します。
以下のセクションでは、Defragmenter の使用方法について説明します。
最適化を行うタイミングの判断
Defragmenter を使用できない状況
Defragmenter へのアクセス
Defragmenter の GUI
Defragmenter の初期設定
自動リフレッシュ間隔の設定
タブの配置
Defragmenter のタスク
Defragmenter のコマンド ライン インターフェイス
Defragmenter を無人モードで使用する方法については、自動最適化を参照してください。
最適化を行うタイミングの判断
Defragmenter は、データ ファイルについて、パフォーマンス低下の原因を示す統計情報を分析するのに役立ちます。ファイルサイズ、断片化率、未使用率、および順序不同率の統計値が大きいと、データベースのパフォーマンス低下の原因になることがあります。ファイルまたはテーブルを最適化すれば、これら 4 つの数値をすべて下げることができます。詳しくは、ウォッチ リスト セクションで説明しています。一般に、コンパクト化され、インデックスを作成し直した新しいファイルは、効率性、容量およびパフォーマンスが復元し、トランザクションもより迅速に実行します。
データベースはそれぞれ異なるので、すべての人に該当するような推奨事項はありません。最適化を行うかどうかは、使用しているデータベースとそのアプリケーションに対する知識や経験値によって異なってきます。ただし、以下の一般的な事項は検討する価値があります。
読み取り専用データベースではパフォーマンスは一定ですが、読み取り/書き込みが長期間にわたり発生するようなデータベースの場合は、監視対象のファイルの分析において統計情報の値が高くなります。データベース動作の変化(クエリやレポートの実行速度が遅くなるなど)は顕著に現れます。
多くの場合、一括削除操作によってファイル内の未使用領域が非常に大きくなりますが、これはそのファイルを最適化することで補正できます。
最適化の実施中でも読み取り/書き込みが中断することはありません。ただし、以下のような理由から、最適化をトラフィックが低い時間に実施することも検討できます。
最適化はリソースを使用しますが、通常、そのリソースは全面的にデータ ファイルに対する操作に使われています。このため、トラフィックが高い期間にはエンジンへの必要以上の要求がパフォーマンスに少なからず影響を与える可能性があります。
最適化では、実行対象の各データ ファイルを短時間の間ロックする必要があります。トラフィックが低い間は、このロックの影響がないかもしれませんが、トラフィックが高い時間帯では、クライアントが応答を少し待つこともあります。
最適化を実施してもパフォーマンスの改善が見られない場合は、ほかの問題が原因である可能性があり、別の診断や解決策が必要です。
Defragmenter を使用できない状況
場合によっては、Defragmenter を使用できなかったり、優先順位の上位にランク付けされているデータベース活動によって操作をキャンセルされたりすることがあります。
クライアントにおけるファイルの最適化は現在サポートされていません。このツールを実行できるローカル サーバーでのみファイルを最適化できます。
ファイルを最適化するのに必要なディスク容量は、分析結果に表示されます。Defragmenter は、ファイルのサイズと同じだけの空きディスク容量を必要とするほかに、最適化操作のために少量の空き容量を必要とします。書き込みが頻繁に行われるファイルについては、さらに多くの空き容量が必要になる可能性があります。
ディスクの空き容量が少なすぎると、エンジンは最適化を開始する試みを拒否し、エラー コード 126 を返します。最適化を実行している最中にディスク ボリュームの空き容量が少なくなった場合には、エンジンはそのボリュームで実行しているファイルの最適化をキャンセルし、エラー コード 126 を返します。
最適化を開始したものの、実行しているディスク ボリュームがいっぱいになった場合には、エンジンはそのボリュームでの一連の最適化をキャンセルし、エラー コード 18 を返します。
ほかの ZenCC ツールを使用してインデックスやメタデータの変更を行います。これは以下のような場合です。
インデックスの作成、変更、または削除
列の作成、変更または削除などのスキーマ編集
データベース、テーブル、またはデータ ファイルの削除
データベース、テーブル、またはファイル名の変更
オーナー ネームの設定またはクリア
バウンド データベースの作成、変更、または削除
最適化を実行中のファイルに対して、Backup Agent 操作を実行することはできません。最適化を実行するには、Backup Agent を先に終了しておく必要があります。
最適化を実行中のファイルに対して、データ バックアップを目的とする Continuous オペレーションを実行することはできません。最適化は、より優先度の高い操作によってキャンセルされます。最適化を実行するには、それらの操作が終了するのを待つ必要があります。
最適化は現在、VSS を使用してバックアップ操作を行っている環境にあるサーバー エンジンではサポートされません。
データ ファイルのプロパティ(ページ サイズ、圧縮またはファイル バージョンなど)を変更する必要がある場合は、Defragmenter ではなく Rebuild([ツール]>[Rebuild])を使用してください。
Defragmenter で破損レコードや間違ったレコードが見つかった場合、Defragmenter は自動的に停止し終了します。このような場合、Rebuild を使用してデータを回復させてください。最近リビルド(再構築)されたファイルは最適化する必要はありません。
DataExchange ユーザー向け:DataExchange で使用するシステム データやキーが最適化によって変更されることはありません。最適化後に、テーブル同期やチェック ツール dxsynctables を実行する必要はありません。
Defragmenter へのアクセス
Defragmenter は次の 3 つの方法で実行します。
Zen Control Center で[ツール]>[Defragmenter]をクリックします。詳細については、Defragmenter の GUI を参照してください。
コマンド プロンプトで、dbdefrag を実行します。これは Windows ファイル システムの最適化に用いられる Microsoft ツール defrag とは異なるので注意してください。詳細については、Defragmenter のコマンド ライン インターフェイスを参照してください。
サーバー エンジンの[パフォーマンス チューニング]設定で、[自動最適化]オプションをオンにすることができます。詳細については、自動最適化を参照してください。
Defragmenter の GUI
次のスクリーンショットは Defragmenter の GUI を示しています。その下の表は Defragmenter GUI の各オブジェクトの説明です。スクリーンショット上のそれぞれの領域をクリックするとその詳細が表示されます。
 
GUI のオブジェクト
説明
[ファイル]メニュー
[ウォッチ リスト]タブのリフレッシュ レートの設定、Defragmenter の終了、または ZenCC の終了を実行できます。
[ウィンドウ]メニュー
ZenCC ウィンドウに戻る、または各種設定の初期値を設定できます。
[ヘルプ]メニュー
ドキュメントやログへのアクセス、および Zen のバージョンの確認が行えます。
 
表 41 Defragmenter のアイコン
アイコン
説明
すべての最適化を取り消す
すべての実行中の分析や最適化を手動で停止することができます。取り消すということは、現在分析されているどのファイルも新しい統計情報を表示しないということです。最適化対象のファイルのうち、まだ完了していないファイルは変更されません。分析待ちまたは最適化待ちのファイルは実行されません。
すべてのアクティブな分析と最適化の操作を取り消すには、ウィンドウの左上隅にあるこのアイコンをクリックします。このオプションを使用する場合には、ファイルを選択する必要はありません。
メモ:すべての操作は、コマンド プロンプトで開始したものであっても、Defragmenter ウィンドウから取り消すことができ、その逆も同様です。
自動リフレッシュ レートを設定します
[ウォッチ リスト]タブを更新する間隔を設定するダイアログを開きます。値の単位は秒です。デフォルト値は 5 です。
リフレッシュ
[使用中のファイル]、[テーブル]、または[Btrieve ファイル]タブ内の項目一覧を手動で更新することができます。自動リフレッシュ レートの設定が作用するのは[ウォッチ リスト]タブのみであることに注意してください。
ウォッチ リストに追加
選択した項目を[ウォッチ リスト]タブに入れます。Ctrl キーを使用して項目を個別にクリックするか、Shift キーを使用して範囲(隣接する複数項目)を選択します。Ctrl + A キーを使用して全項目を選択することもできます。
ファイルの分析
[ウォッチ リスト]タブで選択した項目について断片化の統計情報を収集して表示します。Ctrl キーを使用して項目を個別にクリックするか、Shift キーを使用して範囲(隣接する複数項目)を選択します。Ctrl + A キーを使用して全項目を選択することもできます。ファイルを分析することによって、そのファイルの内容が変更されることはありません。
ファイルの最適化
[ウォッチ リスト]タブで選択した項目に対し最適化を開始します。Ctrl キーを使用して項目をクリックするか、Shift キーを使用して範囲(隣接する複数項目)を選択します。Ctrl + A キーを使用して全項目を選択することもできます。
最適化を取り消す
実行中の分析や最適化を任意に選択して停止することができます。取り消すということは、現在分析されているどのファイルも新しい統計情報を表示しないということです。最適化対象のファイルのうち、まだ完了していないファイルは変更されません。
[ウォッチ リスト]の右上にあるこのアイコンは、[ウォッチ リスト]内のファイルを分析または最適化しているときに有効になります。1 つ以上のファイルを選択してこのアイコンをクリックすると、選択したファイルに対する操作が取り消されます。Ctrl キーを使用して項目を個別にクリックするか、Shift キーを使用して範囲(隣接する複数項目)を選択します。Ctrl + A キーを使用して全項目を選択することもできます。
ファイルの削除
[ウォッチ リスト]タブから項目を削除します。Ctrl キーを使用して項目を個別にクリックするか、Shift キーを使用して範囲(隣接する複数項目)を選択します。Ctrl + A キーを使用して全項目を選択することもできます。
表示する列の選択
[ウォッチ リスト]に表示する列をカスタマイズ(チェック ボックスをオン/オフ)するためのダイアログを開きます。デフォルト設定では、すべての列が表示されるようになっています。
詳細を表示する/非表示にする
[詳細]パネルの表示を切り替えます。
Defragmenter のタブ表示
Defragmenter では、データベース テーブル、ファイル、およびその他のオブジェクトをそれぞれのタブに表示します。
使用中のファイル
テーブル
Btrieve ファイル
ウォッチ リスト
Defragmenter ウィンドウ内のタブの配置は変更することができます。タブの配置を参照してください。
使用中のファイル
[使用中のファイル]タブでは、Zen エンジンで現在開いている、または最近開いたファイルを一覧表示します。このタブに表示されるファイルは[ウォッチ リスト]タブに追加して、監視、分析、および最適化を行うことができます。パフォーマンスの低下の一因となる可能性が高いので、データベース作業のルーチン実行に関わるファイルのみを選択することをお勧めします。
[使用中のファイル]タブでは、[読み取り/書き込み]列の見出しをクリックすることで、リストを並べ替えることができます。リストを並べ替えることで、最も頻繁に使用されており、断片化されている可能性が高いファイルを特定することができます。
テーブル
[テーブル]タブは、Zen エクスプローラーと似ており、Defragmenter が実行しているサーバーのノードを表示します。このタブに表示されるファイルは[ウォッチ リスト]タブに追加することができます。
Btrieve ファイル
[Btrieve ファイル]タブは、ファイル システム上のドライブやディレクトリのファイル エクスプローラーです。このタブでは、データ ファイルに加えルーチン オペレーションに含まれない項目(dbnames.cfg や .ddf ファイルなど)も一覧に表示されます。これらのファイルは[ウォッチ リスト]タブに追加して分析や最適化を行うことができますが、データ ファイルとは異なり、それらのファイルを変更しようとしたときにファイルが使用中であった場合はエラーが返ります。これらのメタデータ オブジェクトは断片化のリスクが低いです。これは一般に実稼働環境では変更しないからです。まれなケースとしてこれらの最適化が必要となった場合は、ダウンタイムのメンテナンス中に行うことができます。
ウォッチ リスト
[ウォッチ リスト]タブ内の項目は、分析または最適化が適用された後の統計情報を表しています。
統計情報
評価基準
解説
ファイル サイズ(MB)
ファイルのサイズ(メガバイト単位)
ファイルが使用されている時間が長くなるほど、またファイルに含まれる未使用領域が大きくなるほど、ファイル サイズは大きくなります。
通常、ファイルのサイズが小さいほど、(そのファイルに多くのインデックスがある場合を除き)最適化にかかる時間も短くなります。
Cloud Server ユーザーの場合、ファイルが断片化されることでサイズが大きくなることが懸念されます。そのような場合、最適化を行うことでライセンス制限内に収められる可能性があります。
% 断片化
データが未使用領域によって分離されてブロック化している割合
長期間にわたりトランザクションを実行すると、データを含まないページを作成する可能性があります。このようなページがより多く実際のデータ ページと混在していると、断片化の度合いが大きくなります。
割合が低ければ断片化も少なく、より大きなデータ ブロックが互いに近い場所で格納されるため、読み取りや書き込みの時間も速くなります。
メモ:この統計情報は Btrieve 6.x および 7.x ファイルには対応していません。これらの古いファイル バージョンを分析し、問題なく最適化することはできますが、統計情報に測定値は表示されません。
% 未使用
未使用領域の割合
未使用領域は多くの場合、挿入操作、更新操作、削除操作によってファイルが変更されたときに生じます。
この割合が低ければ、ファイルはよりコンパクトになり、読み取りや書き込みの時間も速くなります。
メモ:この統計情報は Btrieve 6.x および 7.x ファイルには対応していません。これらの古いファイル バージョンを分析し、問題なく最適化することはできますが、統計情報に測定値は表示されません。
% 順序不同
レコードが連続して格納されていない割合
長期間にわたり挿入を行うと、ページの論理的な順序と物理的な位置の間の不整合が拡大し、データの場所を探すのに要する時間が長くなります。
一般に、割合が低ければ大量ファイルに対するテーブル スキャンなどの動作のパフォーマンスが向上します。
メモ:ファイルによっては、順序不同の想定される最低の割合がゼロよりも高いことがあります。そのファイル内のレコードは既に可能な限り効率よく格納されているので、さらに最適化を実施してもこの統計値は低くなりません。
最後の実行
最後に操作を実行した日付と時刻
アクションは分析または最適化です。
状態
最後に行った操作の報告
初めて項目を追加した場合は空白になっています。通常は、完了した分析または最適化の報告です。
テーブル
論理的な場所
データベースおよびテーブル/ファイル名
パス
物理的な場所
ファイル システムのパス
詳細
[ウォッチ リスト]タブの下にある[詳細]ペインでは、[ウォッチ リスト]タブ内の列の統計情報をまとめたものですが、さらに次の情報が追加されています。
最適化の実施に要した時間
最適化処理前後の、ファイル サイズの比較、また断片化、未使用、順序不同の割合の比較
[ウォッチ リスト]タブで 1 つの項目を選択すると、その項目の詳細が表示されます。複数の項目を選択した場合は、強調表示(選択)されている項目のうち一番上にある項目の詳細が表示されます。
Defragmenter の初期設定
最適化の初期設定は、ツール内または Zen Control Center のどちらからでも設定できます。どちらの GUI でも、[ウィンドウ]>[設定]>[Zen]>[Defragmenter]の順に選択すれば、[設定]ダイアログ ボックスの[Defragmenter]ページが開きます。
次の表では、設定できる初期設定とその内容について示しています。
初期設定
選択時の動作
ウィンドウ レイアウトを保存
Defragmenter ツールを終了するときに、その時点のウィンドウ全体のサイズ、高さおよび位置、さらにタブの配置も保存します。
複数選択の操作中に、互換性のない操作の警告を表示しない
異なるタイプの項目に対して操作が不規則に適用される場合に、警告ダイアログ ボックスが表示されないようにします。
今後、最適化の取り消しに対する警告を表示しない
分析や最適化の操作を取り消すときに、警告を示すダイアログ ボックスが表示されないようにします。
取り消しを確認するダイアログ ボックスのチェック ボックスをオンにした場合、このチェック ボックスもオンになります。確認のダイアログ ボックスが再び表示されるようにするには、このチェック ボックスをオフにします。
今後、すべての最適化の取り消しに対する警告を表示しない
すべての分析や最適化の操作を取り消すときに、警告を示すダイアログ ボックスが表示されないようにします。
取り消しを確認するダイアログ ボックスのチェック ボックスをオンにした場合、このチェック ボックスもオンになります。確認のダイアログ ボックスが再び表示されるようにするには、このチェック ボックスをオフにします。
自動リフレッシュ間隔の設定
Defragmenter の情報は、指定した間隔で自動的にリフレッシュすることができます。デフォルトでは 5 秒間隔でリフレッシュされます。頻繁に多くのウィンドウをリフレッシュすると、パフォーマンスが低下する可能性があるので注意してください。
タブの配置
Defragmenter のタブは、必要に応じて配置を変更したり、分離させたりすることができます。タブを移動させるには、タブのラベル部分を希望の移動先までドラッグ アンド ドロップします。Defragmenter の初期設定で、[ウィンドウ レイアウトを保存]オプションを選択した場合は、変更したタブの配置が維持されます。
Defragmenter のタスク
ここでは、Defragmenter GUI におけるざまなタスク向け機能を使用する手順を提供します。
自動リフレッシュの間隔(自動リフレッシュ レート)を設定するには
自動リフレッシュ レートは[ウォッチ リスト]タブの統計情報に適用されます。それ以外のタブ一覧をリフレッシュするには、各タブで[更新]アイコンをクリックするか右クリックで[更新]を選択し、手動で行います。
1 ファイル]>[自動リフレッシュ レートの設定]の順にクリックするか、または[自動リフレッシュ レートを設定します]アイコン をクリックして[リフレッシュ レートの設定]ダイアログ ボックスを開きます。
2 このダイアログ ボックスで、リフレッシュ間隔を秒単位で入力します。この値には 1 以上の整数を指定する必要があります。
3 OK]をクリックします。
[ウォッチ リスト]タブへファイルまたはテーブルを追加するには
[ウォッチ リスト]タブへのファイルやテーブルの追加は、次のようにさまざまな方法で行うことができます。
[使用中のファイル]タブ、[テーブル]タブ、または[Btrieve ファイル]タブ内で項目を 1 つ以上選択し、タブの右上にある[ウォッチ リストへ追加]アイコン をクリックします。Ctrl キーを使用して項目を個別にクリックするか、Shift キーを使用して範囲(隣接する複数項目)を選択します。Ctrl + A キーを使用して全項目を選択することもできます。
[使用中のファイル]タブ、[テーブル]タブ、または[Btrieve ファイル]タブ内で項目を右クリックし、[ウォッチ リストへ追加]を選択します。
各タブ内で項目を選択し、[ウォッチ リスト]タブへドラッグ アンド ドロップします。
[ウォッチ リスト]タブへ追加される項目は、既に追加されている項目の一覧の最後部に表示されます。
ファイルまたはテーブルを分析するには
分析では統計情報を報告します。これにより、最適化する必要がある項目を決定できます。
1 [ウォッチ リスト]タブで、項目をクリックして選択します。Ctrl キーを使用して項目を個別にクリックするか、Shift キーを使用して範囲(隣接する複数項目)を選択します。Ctrl + A キーを使用して全項目を選択することもできます。
2 次のいずれかを実行します。
[ウォッチ リスト]タブで、右上にある 分析)アイコンをクリックします。
選択した項目を右クリックし、[ファイルの分析]をクリックします。
[ウォッチ リスト]タブでは、対象項目の各列を更新することで分析結果を報告します。最初に選択された項目の場合、[詳細]タブにはファイルを最適化するために必要な空きディスク容量など、その項目の詳細な状態が表示されます。
ファイルまたはテーブルを最適化するには
1 [ウォッチ リスト]タブで、項目をクリックして選択します。Ctrl キーを使用して項目を個別にクリックするか、Shift キーを使用して範囲(隣接する複数項目)を選択します。Ctrl + A キーを使用して全項目を選択することもできます。
2 次のいずれかを実行します。
[ウォッチ リスト]タブで、右上にある 最適化)アイコンをクリックします。
選択した項目を右クリックし、[ファイルの最適化]をクリックします。
[ウォッチ リスト]タブでは、対象項目の各列を更新することで最適化の結果を報告します。1 つの項目を選択していた場合は、下にある[詳細]タブにその項目の詳細な状態が表示されます。複数の項目を選択していた場合は、最初に選択した項目についての状態が表示されます。
分析や最適化を取り消すには
分析または最適化の実行中に、[ウォッチ リスト]内のファイルを選択し、右側にある[最適化の取り消し]アイコン をクリックします。表示される確認のダイアログで、[はい]をクリックします。Defragmenter は[はい]がクリックされるまで操作を続けます。
もう 1 つの方法として、左側にある[すべての最適化の取り消し]アイコン をクリックすることもできます。このアイコンでは、すべての分析および最適化の活動を停止でき、右側のアイコンでは、ウォッチ リストにある、分析または最適化が行われている個々のファイルについて活動を停止できます。
最適化の取り消し後、[ウォッチ リスト]タブ内の項目のうち、状態が "分析:完了" または "最適化:完了" で新しい統計情報が表示されるものもあれば、"分析:キャンセル" または "最適化:キャンセル" で空の統計情報が表示されるものもあるかもしれません。最適化を取り消した項目の場合、[詳細]タブでは取り消されるまでの所要時間が表示されます。
取り消しが成功したということは、分析が停止したか、ファイルまたはテーブルの断片化が変わっていないことを意味します。
メモ:すべての操作は、コマンド プロンプトで開始したものであっても、Defragmenter ウィンドウから取り消すことができ、その逆も同様です。
[ウォッチ リスト]タブからファイルまたはテーブルを削除するには
1 [ウォッチ リスト]タブで、項目をクリックして選択します。Ctrl キーを使用して項目を個別にクリックするか、Shift キーを使用して範囲(隣接する複数項目)を選択します。Ctrl + A キーを使用して全項目を選択することもできます。
2 次のいずれかを実行します。
[ウォッチ リスト]タブで、右上にある ファイルの削除)アイコンをクリックします。
選択した項目を右クリックし、[ファイルの削除]アイコンをクリックします。
表示する列を選択するには
[ウォッチ リスト]タブの各列の表示/非表示を設定することができます。
1 [ウォッチ リスト]タブで、右上にある (表示する列の選択)アイコンをクリックします。
2 デフォルトでは、すべての列が選択されています。必要に応じて選択を変更し[OK]をクリックするか、あるいは[キャンセル]をクリックします。
分析または最適化の詳細を表示する、または非表示にするには
[クリックして詳細を非表示にする]アイコン をクリックすると、[詳細]タブの表示/非表示を切り替えることができます。
Defragmenter のコマンド ライン インターフェイス
CLI ツールの dbdefrag では、ウォッチ リストがないことを除き、GUI バージョンと同じ機能を提供します。どちらのインターフェイスからでも最適化の開始、状況の確認、または取り消しが可能です。
次の表では、コマンド ライン オプションについて説明します。
コマンド
説明
dbdefrag ファイル
1 つ以上のファイルの最適化を開始します。アスタリスク(*)をワイルドカード文字として使用することができます。処理されたレコードとキーの数を表示します。Ctrl + C キーで処理を取り消すことができます。ファイルは、パス名以外にも構文 brtv://ユーザー@ホスト/データベース名?パラメーター を用いた URI として指定することもできます。これについては、データベース URI で説明しています。
dbdefrag -background ファイル
1 つ以上のファイルの最適化をバックグラウンド処理として開始します。アスタリスク(*)をワイルドカード文字として使用することができます。
dbdefrag -cancel ファイル
現在実行中の 1 つ以上のファイルの分析または最適化を取り消します。アスタリスク(*)をワイルドカード文字として使用することができます。その最適化をバックグラウンドで実行している場合を除き、別のプロンプトで実行する必要があります。
dbdefrag -cancelall
すべてのアクティブな分析または最適化操作を取り消します。その最適化をバックグラウンドで実行している場合を除き、別のプロンプトで実行する必要があります。
メモ:すべての操作は、Defragmenter GUI ウィンドウで開始したものであっても、Defragmenter のコマンド プロンプトから取り消すことができ、その逆も同様です。
dbdefrag -status ファイル
1 つ以上のファイルの最適化の状態を表示します。アスタリスク(*)をワイルドカード文字として使用することができます。
最後に完了した最適化について、以下の情報が表示されます。
状態: 完了
開始: yyyy-mm-dd hh:mm:ss
終了: yyyy-mm-dd hh:mm:ss
所要時間: nh:nnm:nns
現在実行している最適化については、以下の情報が表示されます。
最適化の状態: 進行中
n/n 個のレコードを処理しました(n%)
n/n 個のキーを処理しました(n%)
取り消された最適化については、以下の情報が表示されます。
状態: 最適化の取り消し
所要時間: nh:nnm:nns
エンジンが再起動されるまで、ファイルの状態は引き続き使用できます。エンジンを再起動後、状態の情報は Zen イベント ログ(zen.log)で確認できます。
dbdefrag -analyze ファイル
1 つ以上のファイルの断片化の統計情報を表示します。アスタリスク(*)をワイルドカード文字として使用することができます。以下の情報が返ります。
% 断片化
% 未使用
% 順序不同
ファイル サイズ(MB)
最適化に必要な推定ディスク領域(MB)
ファイルを分析することによって、そのファイルの内容が変更されることはありません。
dbdefrag -ignore
ファイル処理中のエラーを無視します。このオプションはどのコマンドにも追加することができます。これは、複数のファイルを分析または断片化する場合に役に立ちます。-ignore オプションを使用しない場合、分析または最適化されるファイルのうちの 1 つがエラーを返すと、エラーが記録され、残りのファイルの分析と最適化の操作が停止します。-ignore オプションを使用すると、エラーがログに記録され、残りのファイルについて引き続き分析および最適化が行われます。
dbdefrag -help
コマンド オプションの一覧を表示します。
dbdefrag の使用
次の例では、サイズが大きい .mkd ファイルで dbdefrag を使用する場合の一連の手順を示します。
1 分析
C:\ProgramData\Actian\Zen\Examples>dbdefrag -analyze mybtrievefile.mkd
     断片化: 9%
     未使用: 4%
   順序不同: 100%
ファイル サイズ: 713 MB
2 最適化
C:\ProgramData\Actian\Zen\Examples>dbdefrag mybtrievefile.mkd
1125 / 1195242 個のレコードを処理しました (0%)
87021 / 1195242 個のレコードを処理しました (7%)
170910 / 1195242 個のレコードを処理しました (14%)
255393 / 1195242 個のレコードを処理しました (21%)
339805 / 1195242 個のレコードを処理しました (28%)
404202 / 1195242 個のレコードを処理しました (33%)
487928 / 1195242 個のレコードを処理しました (40%)
572585 / 1195242 個のレコードを処理しました (47%)
655802 / 1195242 個のレコードを処理しました (54%)
716472 / 1195242 個のレコードを処理しました (59%)
800406 / 1195242 個のレコードを処理しました (66%)
883729 / 1195242 個のレコードを処理しました (73%)
947475 / 1195242 個のレコードを処理しました (79%)
1032061 / 1195242 個のレコードを処理しました (86%)
1116015 / 1195242 個のレコードを処理しました (93%)
1185831 / 1195242 個のレコードを処理しました (99%)
1195242 / 1195242 個のレコードを処理しました (100%)
1 / 2 個のキーを処理しました (50%)
2 / 2 個のキーを処理しました (100%)
最適化は完了しました。
所要時間: 0h:24m:57s
3 別のプロンプトからの状態の確認、またはバックグラウンドで実行した場合の状態の確認
C:\ProgramData\Actian\Zen\Examples>dbdefrag -status mybtrievefile.mkd
最適化の状態: 進行中
1053373 / 1195242 個のレコードを処理しました (88%)
0 / 2 個のキーを処理しました (0%)
4 最適化後の状態の確認
C:\ProgramData\Actian\Zen\Examples>dbdefrag -status mybtrievefile.mkd
    状態: 完了
    開始: 2014-08-08 11:08:28
    終了: 2014-08-08 11:33:25
所要時間: 0h:24m:57s
5 分析の再実行
C:\ProgramData\Actian\Zen\Examples>dbdefrag -analyze mybtrievefile.mkd
    断片化: 0%
    未使用: 0%
   順序不同: 27%
ファイル サイズ: 682 MB
パフォーマンス カウンターの監視
Zen サーバーの Windows 版では、Windows パフォーマンス モニターで使用するパフォーマンス カウンターを提供します。(Zen のパフォーマンス カウンターがサポートされるのは、Windows Vista 以降のオペレーティング システムのみです。)パフォーマンス カウンターはデータベース エンジンの状態や動作を測定します。これによりアプリケーションのパフォーマンスを分析することができます。Windows パフォーマンス モニターは、指定の時間間隔でパフォーマンス カウンターの現在の値を要求します。
Zen は、パフォーマンス モニターで表示するためだけにデータを提供しており、カウンターのプロパティは変更できません。パフォーマンス モニターは以下のアイテムを制御します。
データの表示形式。折れ線グラフ(デフォルト)、ヒストグラムおよびテキスト レポートの 3 種類の形式で表示されます。
表示フィールド。[最新]、[平均]、[最小]および[最大]というラベルが付けられています。
値の表示用のスケール。Zen は各カウンターに対してデフォルトのスケールを提供します。パフォーマンス モニターを使用すれば、個々のカウンターのスケールを変更することができます。カウンターのスケールを変更するにはを参照してください。
カウンターの値は、呼び出し元を問わず、データベース エンジンへのすべての呼び出しを反映します。つまり、MicroKernel エンジン、リレーショナル エンジン、ネイティブな Btrieve アプリケーション、ユーティリティなど、すべてがカウンターの値の一因となります。カウンターの値はすべてのファイルを対象に収集されます。ファイルごとのカウンターは現在サポートされていません。
パフォーマンス カウンターの使用は、主にアプリケーション開発者およびその他の技術スタッフ向けの高度な機能です。Windows パフォーマンス モニターおよび一般的なカウンターの使用の詳細については、Microsoft の関連ドキュメントを参照してください。
インストール時の登録
デフォルトで、Zen のインストールでは Zen パフォーマンス カウンターをパフォーマンス モニターに登録します。このカウンターはインストール完了後に使用できるようになります。
お客様のニーズへの対応のため、本章で説明されていない Zen コレクター セットまたはカウンターを追加インストールすることになる可能性もあります。そのような場合は、Windows パフォーマンス モニターで提供されるコレクター セットまたはカウンターの説明を参照してください。カウンター セットまたは個別のカウンターをモニターへ追加するを参照してください。
データ コレクター セット
データ コレクター セットは、複数のカウンターを 1 つのコンポーネントにまとめています。このコンポーネントを使用してパフォーマンスを再確認したり記録したりすることができます。Zen では以下のデータ コレクター セットを提供します。
Zen MicroKernel Btrieve Operations
Zen MicroKernel Cache
Zen MicroKernel I/O
Zen MicroKernel Locks and Waits
Zen MicroKernel Transactions
Zen ページ サーバーの活動状況
Zen MicroKernel Btrieve Operations
これらのカウンターは、Btrieve API に関するクライアント アプリケーションの動作の特徴を示すために役立ちます。カウンターは、指定した時点にデータベース エンジンで処理されたオペレーションの種類を報告します。
Btrieve API Guide』の Btrieve API オペレーションも参照してください。
 
表 42 MicroKernel Btrieve オペレーション用のカウンター
カウンター
説明
典型的な使用法
Btrieve Close Operations/sec
Btrieve Close オペレーションの 1 秒あたりの数。
クライアント アプリケーションの動作を調査します。問題を解決する最初のステップとして、Btrieve オペレーションに関する動作の分析に役立つ可能性があります。
Btrieve Get/Step Operations/sec
Btrieve Get および Step オペレーションの 1 秒あたりの数。
各種 Get および Step オペレーションについては、『Btrieve API Guide』の Btrieve API オペレーションを参照してください。
Btrieve Open Operations/sec
Btrieve Open オペレーションの 1 秒あたりの数。
Btrieve Records Deleted/sec
1 秒あたりに削除された Btrieve レコード数。
Btrieve Records Inserted/sec
1 秒あたりに挿入された Btrieve レコード数。
Btrieve Records Updated/sec
1 秒あたりに更新された Btrieve レコード数。
Change Operations/sec
データ ファイルを変更する Btrieve オペレーションの 1 秒あたりの数。
Operations/sec
1 秒あたりのオペレーション数。
Zen MicroKernel Cache
データベース エンジンは 2 つのレベルのメモリ キャッシュ システムを使用してデータ操作のパフォーマンスを向上させます。2 つのキャッシュは「L1(レベル 1)キャッシュ」と「L2(レベル 2)キャッシュ」と呼ばれます。
ユーザーの要求に応じエンジンがディスクからページを読み取る頻度が高くなるほど、パフォーマンスは低下します。これらのカウンターを使用すると、データベース エンジンによるディスク読み取りの回避状況をまとめて表示し、キャッシュ サイズの設定に対してなんらかの変更が必要かどうかを判断することができます。
すべてのデータが L1 キャッシュに格納された場合は最高のパフォーマンスが得られます。ただし、データ ファイルのサイズによっては、L1 キャッシュにすべてのデータ ページを保持できないこともあります。このため、データベース エンジンは第 2 レベルのキャッシュ(L2 キャッシュ)も使用します。L2 キャッシュのページは圧縮形式で格納されるため、より多くのページをメモリに入れることができます。そのため、L1 キャッシュよりもパフォーマンスは低下しますが、データベース エンジンがディスクからページを読み取る状況と比べればパフォーマンスは高くなります。
データベースのメモリ キャッシュの理想的なサイズを計算するにはも参照してください。
 
表 43 MicroKernel キャッシュ用のカウンター
カウンター
説明
典型的な使用法
Cache Hit Ratio
L1 または L2 キャッシュからの、最近のキャッシュ アクセスのヒット率(%)。
 
L1 Cache Discards/sec
新しいページ用の領域を確保するために、L1 キャッシュから 1 秒あたりに破棄されたページ数。これは、L1 キャッシュがいっぱいになった場合にのみ発生します。L1 キャッシュから L2 キャッシュへ移動されたページは含まれません。
 
Level 1 Cache Dirty Percentage
ダーティ ページを含む使用中の L1 キャッシュの割合(%)。
頻繁にアクセスされるページが継続的にキャッシュの外へ出されるかどうかを判断するのに役立ちます。そのようなページが継続的にキャッシュの外へ出されるとパフォーマンスが低下する可能性があります。
ディスクへ書き込まれていない変更を含むダーティ ページは、L1 キャッシュに存在しているだけかもしれません。大量に書き込みが行われる状況下では、L1 キャッシュにダーティ ページが含まれる可能性が高くなります。これによってページが強制的に L1 キャッシュから出され、L2 キャッシュを設定していれば L2 キャッシュへ入れられます。L2 キャッシュを設定していなければ L1 キャッシュの外へ完全に出されてしまいます。
データベース エンジンは、指定した間隔で、または L1 キャッシュがほぼいっぱいになったときにダーティ ページをディスクへ書き込みます。ページが頻繁にディスクへ書き込まれると、パフォーマンスに悪影響を及ぼす可能性があります。
L1 キャッシュのサイズを調整してダーティ ページの割合が高くならないようにすれば、パフォーマンスを向上させることができます。キャッシュ割当サイズも参照してください。
Level 1 Cache Hits/sec
1 秒あたりの L1 キャッシュ ヒット数。
データベース エンジンが、要求されたページを L1 キャッシュで見つけることができたかどうかを判断するのに役立ちます。ヒット率が高くなると、データベース エンジンが L2 キャッシュまたは物理記憶域へアクセスすることなく L1 キャッシュでページを見つけていることを示します。
Level 1 Cache Hit Ratio
最近の L1 キャッシュ アクセスのヒット率(%)。
Level 1 Cache Misses/sec
1 秒あたりの L1 キャッシュ ミス数。
Level 1 Cache Usage Percent
現在使用中の L1 キャッシュの割合(%)。
L1 キャッシュのサイズをアプリケーションに応じて調整する場合に役立ちます。たとえば、サイズが小さなデータ ファイルまたは主に読み取り専用のデータ ファイルを使用するアプリケーションの場合、デフォルトで設定された L1 キャッシュはそのデータ ファイルだけではいっぱいにならないかもしれません。L1 でメモリが使用されなくても、オペレーティング システムまたはその他のアプリケーションがその未使用分のメモリを使用することはできません。
L1 キャッシュ サイズを適宜変更すれば、メモリをオペレーティング システムへ解放することができます。逆に、データベース全体をメモリに入れておきたい場合は、L1 キャッシュ サイズの設定が妥当かどうかを知るためにこの値を監視することができます。
Level 2 Cache Hits/sec
1 秒あたりの L2 キャッシュ ヒット数。
データベース エンジンが、要求されたページを L2 キャッシュで見つけることができたかどうかを判断するのに役立ちます。ヒット率が高くなると、データベース エンジンが物理記憶域へアクセスすることなく L2 キャッシュでページを見つけていることを示します。
Level 2 Cache Hit Ratio
最近の L2 キャッシュ アクセスのヒット率(%)。
Level 2 Cache Misses/sec
1 秒あたりの L2 キャッシュ ミス数。
Level 2 Cache Raw Size
L2 キャッシュの現在のサイズ(バイト)。
任意指定の L2 キャッシュ サイズを決定するために役立ちます。
L2 キャッシュは MicroKernel の最大メモリ使用量用に設定される要素の 1 つです。その設定は、総物理メモリに対してデータベース エンジンが消費できるメモリの割合を指定します。これには、データベース エンジンによる、L1 キャッシュ、L2 キャッシュおよびその他すべてのメモリの使用量が含まれます。
MicroKernel の最大メモリ使用量の設定が 0 以外の場合、L2 キャッシュのサイズはその設定によるメモリ制限内に収まります。L2 キャッシュはシステムのメモリ消費を監視し、必要に応じて自身のサイズを変更します。L2 キャッシュによって使用されるメモリは、オペレーティング システムによってスワップ アウトされることもあります。
Level 2 Cache Usage
現在使用中の L2 キャッシュの量(バイト)。
Level 2 Cache Size Relative to Memory
物理メモリに対する L2 キャッシュ サイズの割合(%)。
システム メモリに対する L2 キャッシュの使用割合を示します。
Level 2 Cache Usage Percent
現在使用中の L2 キャッシュの割合(%)。
現時点における L2 キャッシュの使用割合を示します。
Zen MicroKernel I/O
このセットのカウンターは、データベース エンジンによる、物理記憶域へのデータの読み取りおよび書き込み状況を把握するのに役立ちます。カウンターによって報告されるページとはデータ ファイル ページです。これらのカウンターでは、アーカイブ ログまたはトランザクション ログ向けに使用されるファイルのページ用のデータは報告しません。
Zen Programmer's Guide』のページも参照してください。
 
表 44 MicroKernel 入力/出力用のカウンター
カウンター
説明
典型的な使用法
Pages Read/sec
1 秒あたりにディスクから読み取られたページ数。
データベース エンジンによる、物理記憶域へのデータの読み取りおよび書き込み状況を測定します。
Pages Written/sec
1 秒あたりにディスクに書き込まれたページ数。
Zen MicroKernel Locks and Waits
クライアントの要求は、リソースが使用可能になるのを待つため遅延することがあります。これらのカウンターを使用すれば、リソースが使用可能になるまでクライアント要求を待つ必要があるデータベース リソースのタイプを特定することができます。同様に、これらのカウンターでは複数のクライアントがリソースへアクセスしたときのデータベース エンジンの動作を観察することができます。値がクライアント数に近いまたは等しい場合は、同じリソースに対して競合している可能性があることを示しています。これらの競合を低減するための是正措置を行えば、反応性を改善することができます。
Waits on Page Buffers および Waits on Page Reads カウンターはグローバル リソースを待機します。その他のカウンターはすべて複数のクライアントに適用しますが、各クライアントはそれぞれ異なるリソースを待機している場合があります。
Zen Programmer's Guide』のデータ整合性および複数のクライアントのサポートを参照してください。
 
表 45 MicroKernel ロックおよび待機用のカウンター
カウンター
説明
典型的な使用法
Client Record Locks
クライアントによって明示的にロックされたレコード数。
クライアント アプリケーションの作業負荷を調査します。
Waits on Active Reader Lock
アクティブなリーダー ロックで待機中のクライアント数。複数のクライアントが同時にアクティブなリーダー ロックを保持できます。ただし、アクティブなリーダー ロックとアクティブなライター ロックは排他的に使用されます。そのため、1 つのクライアントがアクティブなリーダー ロックを保持すると、どのクライアントもアクティブなライター ロックを取得することはできません。1 つのクライアントがアクティブなライター ロックを保持すると、複数のクライアントがアクティブなリーダー ロックを取得することはできません。各ファイルがそれ自身のリーダー(およびライター)ロックを持っています。
Waits on Active Writer Lock カウンターも参照してください。
Waits on Active Writer Lock
アクティブなライター ロックで待機中のクライアント数。一度に 1 つのクライアントだけがアクティブなライター ロックを保持できます。各ファイルがそれ自身のライター(およびリーダー)ロックを保持します。
Waits on Active Reader Lock カウンターも参照してください。
Waits on File Locks
現在、ファイル ロックで待機中のクライアント数。
Waits on Page Buffers
ページ バッファーが利用可能になるのを待機中のクライアント数。要求に応えるために利用できるページがない場合は、MicroKernel がページを利用できるようになるまで、その要求はブロックされます。
データベース エンジンが、キャッシュのページ バッファーを使用できるかどうかを示します。この値をメモリ キャッシュ関連のカウンターと一緒に使用して、キャッシュのサイズが作業負荷に対して適切かどうかを確認します。キャッシュ サイズを大きくすると使用可能な総ページ数も増えます。これにより、ページ バッファーへの待機を減らすことができます。
キャッシュにページがない場合は、以下の 3 つ状況によってこの値が急増する可能性があります。
データ ファイルが最近開かれた
データ ページへ初めてアクセスする、またはそのデータ ページへアクセスすることがほとんどない
メモリ キャッシュが、頻繁にアクセスおよび変更されるすべてのページを含めることができないほど小さい可能性がある
1 番目と 2 番目の項目によって値が急増するのは、ファイルへのアクセスが初めてであるため回避することはできません。3 番目の状況はキャッシュ サイズを大きくすることで回避できます。キャッシュがいっぱいでキャッシュ ミス数が多くなると、メモリ キャッシュが小さすぎて、頻繁にアクセスおよび変更されるすべてのページを含めることができない可能性があります。
Waits on Page Locks
現在、ページ ロックで待機中のクライアント数。
クライアント アプリケーションの作業負荷を調査します。
Waits on Page Reads
ディスクからのページの読み取りを待機中のクライアント数。1 つのクライアントが既にページの読み取り処理を行っている場合、ほかのクライアントは処理中の読み取りが完了するまで待機しなければなりません。
同時に同じファイルの同じページへの読み取りを試みるクライアント数を測定します。
Waits on Record Locks
現在、レコード ロックで待機中のクライアント数。
クライアント アプリケーションの作業負荷を調査します。
Zen MicroKernel Transactions
これらのカウンターは、トランザクションに関するクライアント アプリケーションの動作を理解するために役立ちます。たとえば、変更が多く処理に長時間かかる少数のトランザクションと、短時間で処理が完了する多くのトランザクションとでは動作が異なります。
Btrieve API Guide』の Begin Transaction(19 または 1019)End Transaction(20)、および Abort Transaction(21)、また『Zen Programmer's Guide』の MicroKernel エンジンの基礎も参照してください。
 
表 46 MicroKernel トランザクション用のカウンター
カウンター
説明
典型的な使用法
System Transactions in Progress
進行中のシステム トランザクション数。システム トランザクションは特別類のトランザクションで、データ ファイルの変更は準備された後、ファイルに保存されます。
システム トランザクションの発生頻度が高すぎるまたは低すぎるかどうかを判断するために役立ちます。
データベース エンジンは、システム トランザクション中に変更をデータ ファイルへ書き込みます。システム トランザクションが発生する頻度は、起動時間制限およびオペレーション バンドル制限という 2 つのサーバー データの整合性設定プロパティによって決められます。また、L1 キャッシュの空き領域が少ない場合には、サーバーが自動的に頻度を調整します。
通常、システム トランザクションの実行頻度が高すぎたり低すぎたりするとパフォーマンスに悪影響を及ぼします。一般的には、1 秒あたりのページ書き込み数が増加し、レコードを変更する Btrieve オペレーション数は減少し、またアクティブなライタ ロックを待機するクライアント数は増加する可能性があります。これは特定の作業負荷に対する理想的な間隔を測定するための実験が必要となることもあります。
Transaction Commits /sec
1 秒あたりに実行されたコミット数。
アプリケーション トランザクションのコミット数を測定します。『Btrieve API Guide』の End Transaction(20)も参照してください。
Zen ページ サーバーの活動状況
このセットのカウンターは、ページ サーバーに関する統計情報を提供します。
表 47 ページ サーバーの活動状況のカウンター
カウンター
説明
Page Server Pass-Thru Operations/sec
ページ サーバーがキャッシュ エンジンから受け取ったパススルー操作の 1 秒あたりの数。
Page Server Page Requests/sec
ページ サーバーがキャッシュ エンジンから受け取った、データ ファイル ページに対する要求の 1 秒あたりの数。
Page Server Invalid Page List Requests/sec
キャッシュ エンジンから受け取った、無効ページ リストに対する要求の 1 秒あたりの数。
Page Server Invalid Page List Piggy-backs/sec
ページ サーバーが他のキャッシュ エンジンの要求に対する応答でピギーバックした無効ページ リストの 1 秒あたりの数。
Page Server Invalid Page List Length
ページ サーバーの無効ページ リストの現在の長さ。
Page Server Invalid Page List Adds/sec
ページ サーバーの無効ページ リストに追加されたコミット済みページの 1 秒あたりの数。重複もカウントします。
Page Server Invalid Page List Removals/sec
ページ サーバーの無効ページ リストから削除されたエントリの 1 秒あたりの数。
Page Server Level 1 Cache Hits/sec
ページ サーバーによる L1 キャッシュ ヒットの 1 秒あたりの数。
Page Server Level 1 Cache Misses/sec
ページ サーバーによる L1 キャッシュ ミスの 1 秒あたりの数。
Page Server Level 1 Cache Hit Ratio
ページ サーバーによる、最近の L1 キャッシュ アクセスのヒット率(%)。
Page Server Level 2 Cache Hits/sec
ページ サーバーによる L2 キャッシュ ヒットの 1 秒あたりの数。
Page Server Level 2 Cache Misses/sec
ページ サーバーによる L2 キャッシュ ミスの 1 秒あたりの数。
Page Server Level 2 Cache Hit Ratio
ページ サーバーによる、最近の L2 キャッシュ アクセスのヒット率(%)。
Page Server Cache Hit Ratio
ページ サーバーによる、L1 または L2 キャッシュからの最近のキャッシュ アクセスのヒット率(%)。
Page Server Level 1 Cache Usage Percent
現在使用中の L1 キャッシュのうち、ページ サーバーが占める割合(%)。
Page Server Level 2 Cache Usage Percent
現在使用中の L2 キャッシュのうち、ページ サーバーが占める割合(%)。
Zen キャッシュ エンジンの活動状況
このセットのカウンターは、Zen キャッシュ エンジンに関する統計情報を提供します。
表 48 キャッシュ エンジンの活動状況用カウンター
カウンター
説明
Cache Engine Pass-Through Ops/sec
キャッシュ エンジンから要求されたパススルー操作の 1 秒あたりの数。
Cache Engine Local Ops/sec
キャッシュ エンジンによって実行されたローカル操作の 1 秒あたりの数。
Cache Engine Page Requests/sec
キャッシュ エンジンから要求されたデータ ファイル ページの 1 秒あたりの数。
Cache Engine Page Invalidations/sec
このキャッシュ エンジンによって無効になったページの 1 秒あたりの数。
Cache Engine FCR Invalidations/sec
このキャッシュ エンジンによって無効になった FCR の 1 秒あたりの数。
Cache Engine Level 1 Cache Usage Percent
現在使用中の L1 キャッシュのうち、キャッシュ エンジンが占める割合(%)。
Cache Engine Level 1 Cache Hits/sec
キャッシュ エンジンによる L1 キャッシュ ヒットの 1 秒あたりの数。
Cache Engine Level 1 Cache Misses/sec
キャッシュ エンジンによる L1 キャッシュ ミスの 1 秒あたりの数。
Cache Engine Level 1 Cache Hit Ratio
キャッシュ エンジンによる、最近の L1 キャッシュ アクセスのヒット率(%)。
Cache Engine Level 2 Cache Usage Percent
現在使用中の L2 キャッシュのうち、キャッシュ エンジンが占める割合(%)。
Cache Engine Level 2 Cache Hits/sec
キャッシュ エンジンによる L2 キャッシュ ヒットの 1 秒あたりの数。
Cache Engine Level 2 Cache Misses/sec
キャッシュ エンジンによる L2 キャッシュ ミスの 1 秒あたりの数。
Cache Engine Level 2 Cache Hit Ratio
キャッシュ エンジンによる、最近の L2 キャッシュ アクセスのヒット率(%)。
Cache Engine Cache Hit Ratio
キャッシュ サーバーによる、L1 または L2 キャッシュからの最近のキャッシュ アクセスのヒット率(%)。
Windows パフォーマンス モニターの使用
このトピックでは、Windows パフォーマンス モニターの基本的な使用手順について説明し、Zen パフォーマンス カウンターを使用できるようにします。Windows パフォーマンス モニターの使用に関する詳細については、Microsoft のドキュメントを参照してください。
以下に示す手順は、Zen のインストールによって Zen パフォーマンス カウンターが Windows パフォーマンス モニターに登録されていることを前提としています。
Zen データ コレクター セットを表示する
1 Windows パフォーマンス モニターを起動します。このツールの起動手順はオペレーティング システムによって異なりますが、一般的には[コントロール パネル]>[管理ツール]から起動することができます。また、[ファイル名を指定して実行]ウィンドウ([スタート]>[ファイル名を指定して実行]を選択)で、「perfmon」と入力し[OK]をクリックして起動することもできます。
2 左ペインのツリーから[パフォーマンス モニター]をクリックし、右ペイン上部のツールバーにあるプラス記号(+)をクリックします。
3 [使用可能なカウンター]セクションのカウンター リスト内で、Zen データ コレクター セットへスクロールします。
カウンター セットまたは個別のカウンターをモニターへ追加する
1 次のいずれかを実行します。
カウンター セットとしてまとめて追加するには、[使用可能なカウンター]リストから希望のカウンター セット項目をクリックします。
カウンターを個別に追加するには、そのカウンターが属するカウンター セットを展開し(カウンター セットの項目をダブルクリック、または右端の下矢印をクリック)、その中から対象のカウンターをクリックします。
カウンターの説明を見るには、[説明を表示する]オプションを選択してください。
2 追加]をクリックしてから[OK]をクリックします。
カウンターのスケールを変更するには
1 メイン ウィンドウの下部にあるリストにカウンターが追加されたら、それを右クリックして[プロパティ]を選択できます。
2 [データ]タブで、[スケール]リストから値を選択します。
同じグラフ上に 2 つ以上のカウンターを表示する場合に、それらカウンターの出力数値の差が非常に大きい場合は、適切に表示されるようスケールを調整する必要があるかもしれません。データがグラフ化される前に、カウンターの出力値にスケール値を掛けます。たとえば、1 番目のカウンターの出力値が 53 と 99、2 番目のカウンターの出力値が 578 と 784 であるとします。1 番目のカウンターのスケールに 10 を設定することで、530 および 990 と出力されるようにするこができます。これにより、両カウンターのデータをより同等(530、990、578 および 784)に見ることができます。
3 OK]をクリックします。
[スケール]フィールドの値は、元の値(この例では "1")から新しい値(この例では "10")に変更されています。
4 [グラフ]タブで、[垂直スケール]セクションの[最大]および[最小]フィールドに必要な値を設定します。
グラフ化される対象が非常に小さい(または非常に大きい)場合は垂直スケールを変更することができるので、グラフが見やすくなります。たとえば、カウンターの出力値が常に 20 未満の場合は、垂直スケールの最大を 20、最小を 0 に変更することができます。
5 OK]をクリックします。
ライセンスの使用状況の監視
Zen 製品では、エディションに応じて異なるライセンス モデルを使用します。Zen Enterprise Server および Workgroup は同時ユーザー カウント ライセンスに基づいてライセンスされます。Cloud Server は容量ベース ライセンスに基づいてライセンスされます。
ユーザー カウント ライセンス
ユーザー カウント ライセンス モデルは、多くのユーザーまたはデバイスが別々のデスクトップから頻繁にレコードを追加、更新および削除するような従来型のクライアント/サーバー アプリケーションに適しています。各製品キーにはそれぞれライセンスされたユーザー数が定められています。ユーザー数により、指定された接続数が、Zen データベース エンジンへ同時接続できます。ユーザー数は、ネットワーク アドレスでカウントされます。
容量ベースのライセンス
容量ベース モデルは、ユーザー数ではなくデータベース サーバー処理の作業量に重点を置くようになりました。このライセンス モデルは容量に基づくもので、サービス管理、SaaS(サービスとしてのソフトウェア)、またはその他の多重環境におけるライセンス執行に対応しています。たとえば、Cloud Server のインスタンスごとに、使用セッション数および使用データの両方に対して容量制限が設けられています。
ライセンスの使用状況に関する監視の大部分が、ユーザー数、セッション数、または使用中データを対象とします。たとえば、これらの現在の値を調べる、現在の値を増やす、または必要な容量をさらに調べることができます。
ライセンスの使用状況の監視に使用する 4 つの主要なユーティリティは、Monitor(リソース使用状況の監視を参照)、Capacity Usage ビューアーLicense Administrator、および Notification Viewer です。
Capacity Usage ビューアー
ZenCC では、すべてのデータベース エンジンの同時セッション数とデータ使用量を監視する Capacity Usage ビューアーを提供します。このビューアーは特に、Zen Enterprise Server から Zen Cloud Server への移行を検討する際に役立ちます。なぜなら、これら 2 つのエディションにはライセンス方法に違いがあるからです。
Capacity Usage ビューアーには 2 つのグラフが含まれています。1 つは同時セッション数を表し、もう 1 つはデータの使用量を表します。各グラフには使用量のレベル バーというグラフを横断する横線を表示させることができます。これは業務上の正常とする使用量と異常とする使用量を判断するのに役立ちます。Capacity Usage ビューアーは使用量のピークに関する統計情報も表示します。
このグラフは毎日記録されるピーク値を使用します。エンジンが使用されない日については、ゼロの値が使用されます。グラフの生成には最低 2 日間のデータが必要です。そのデータがなければ、Capacity Usage ビューアーはエラー メッセージを表示します。
ここでは、以下の項目について説明します。
Capacity Usage ビューアーにアクセスするには
Capacity Usage ビューアーの GUI
拡大
Capacity Usage ビューアーにアクセスするには
ZenCC で、検査対象のエンジンを右クリックし、[Capacity Usage ビューアー]を選択します。
Capacity Usage ビューアーの GUI
次の図は Capacity Usage ビューアーを表しています。図の下の表は各機能の説明です。スクリーンショット上のそれぞれの領域をクリックするとその詳細が表示されます。
図 6 Capacity Usage ビューアーのユーザー インターフェイス
 
GUI のオブジェクト
説明
タイトル バー
選択したエンジンを示します。
統計情報インジケーター
有用な統計情報を表示したり、グラフに表示させるものを選択したりすることができます。統計情報インジケーターを参照してください。
期間指定
グラフに表示するデータの対象となる期間の開始日と終了日を表示します。
セッション使用量のグラフ
選択した期間中に同時発生したセッション数をグラフで表示します。
データ使用量のグラフ
選択した期間中に使用されたデータ量をグラフで表示します。
使用量のレベル バー
使用量が、選択したレベルを超える頻度を調べることができます。レベル バーの表示オプションが選択されると、各グラフのデフォルト レベル(使用量のピークの 90%)の位置にレベル バーが表示されます。使用量のレベル バーの左側に表示される数値は、そのレベル(セッション数またはデータ量)を示します。この使用量のレベル バーは必要に応じて移動させることができます。レベル バーを移動させるには、スピン ボックスを使用するか、またはカーソルでドラッグします。2 つの使用量レベル バーは互いに独立しています。
拡大縮小手順
グラフの拡大と縮小についての一般的な手順を説明します。手順の詳細については、拡大を参照してください。
[エクスポート]ボタン
分析をさらに行うためにデータを保存しておくことが有用と思われた場合、そのデータを .csv ファイルへエクスポートできます。[エクスポート]ボタンをクリックすると[フォルダーの参照]ダイアログを開きます。ここでデータを保存する場所を選択することができます。
図 7 統計情報インジケーター
 
GUI のオブジェクト
説明
期間
グラフに表示させるデータの対象期間を選択することができます。ウィンドウを開いたときにデフォルトで表示される期間は、前回そのウィンドウを閉じる前に選択されていた期間です。選択できる期間は次のとおりです。
全期間
先週
過去 30 日以内
過去 90 日以内
過去 180 日以内
グラフを拡大または縮小して期間を選択することもできます。グラフを拡大または縮小した場合、[期間]フィールドには、選択した期間として "カスタム" が表示されます。
[ピークの統計]グループ ボックス
グラフに表示する期間における最大データ使用量と最大同時セッション数の統計情報を表示するフィールドが含まれています。
セッション数のピーク値
セッション使用量グラフに表示される期間中に発生した最大同時セッション数を表示します。
セッション数のピーク日
発生した同時セッション数が最大となった日を表示します。最大同時セッション数の発生が複数日あった場合は、最後に発生した日を表示します。
使用データのピーク値 (GB)
データ使用量グラフに表示される期間中、一度に使用された最大データ量(GB 単位)を表示します。
使用データのピーク日
使用されたデータ量が最大となった日を表示します。使用データ量が最大となった日が複数日あった場合は、最後に発生した日を表示します。
使用量のレベル バーを表示する
このチェックボックスのオン/オフによって、グラフを横断する使用量レベルバーの表示/非表示を切り替えます。
[使用量の統計]グループ ボックス
使用量のレベル バーを上下に移動させるためのスピン ボックス、および使用量のレベル バーの移動により得られる統計情報を表示するフィードが含まれています。
セッション数
セッション使用量グラフで、使用量のレベル バーを置く位置に対応する値を設定します。
超過した日数
同時セッション数が、使用量のレベル バーが設定されたレベルを超えた日数を表示します。
使用データ (GB)
データ使用量グラフで、使用量のレベル バーを置く位置に対応する値を設定します。
超過した日数
使用データ量が、使用量のレベル バーが設定されたレベルを超えた日数を表示します。
拡大
期間]プルダウン メニューで提供されている期間の選択肢以外の期間について確認する必要がある場合は、グラフのセグメントを選択して拡大することができます。2 つのグラフの一方を拡大すると、もう一方のグラフも同時に拡大されます。2 つのグラフは常に同じ期間が設定されます。
グラフを拡大するには
1 表示対象期間の開始位置にカーソルを置きます。
2 マウスの左ボタンを押したまま、表示させたい期間の終了位置までカーソルをドラッグします。選択した部分を囲む四角形の黒い枠線がグラフ内に表示されます。カーソルを移動させると、それに応じてその四角形も拡張されます。
 
3 マウス ボタンを離します。選択した期間を表示するためにグラフが更新されます。[期間]フィールドの設定表示は "カスタム" になります。
4 さらに拡大するには上記の手順を繰り返します。
5 縮小するには、カーソルをグラフ内の任意の位置に置き、マウスの左ボタンを押したままカーソルを右から左へドラッグします。これでグラフは元の期間(ウィンドウを開いたときに表示されていた期間)に戻ります。
License Administrator
License Administrator はライセンスのキーの管理に使用するツールです。これについては、『Zen User's Guide』のライセンス管理で詳しく説明しています。次の表では、このツールで実施できる一般的な監視作業について簡単に説明し、関連情報の参照先として『Zen User's Guide』へのリンクも提供しています。
 
表 49 License Administrator におけるライセンス使用状況の監視の概要
監視する項目
グラフィカル ユーザー インターフェイスの使用
コマンド ライン インターフェイスの使用
ライセンス情報
(製品、製品キー、キーの状態、ライセンスが適用されるプラットフォーム、ライセンス タイプ、ユーザー数、セッション数、使用データ、ライセンスの失効日、ライセンスをインストールしたベンダー ソフトウェア、およびライセンスが適用されるアプリケーションなど、認証されているキーに対するすべてのライセンス情報)
ユーザー数
(製品キーによって許可される、Zen データベース エンジンへの同時接続数)
セッション数の制限
(使用許諾契約書に従って許可される最大同時セッション数)
使用データの制限
(使用許諾契書に従って許可される、同時に開く全データ ファイルの総量)
キーの認証残り回数
データベース アクセスの監視
Actian Corporation では、Audit for PSQL という、Zen に付属するデータベース レベルでのアクセスを監視するための製品を提供しています。Audit for PSQL を使用すると、次のような監査目的のために、データへの変更を監視することができます。
だれがレコードにアクセスしたか、または変更を行ったか
どのようなアクセスまたは変更が発生したか、それはいつ、どこから行われたか
どのようにして変更が行われたか
Audit for PSQL は詳細な監査証跡を提供するほか、クエリおよび警告機能を提供します。
製品の詳細については、Audit for PSQL のドキュメントを参照してください。
メッセージ ログの見直し
Zen ではメッセージ用のさまざまなログ リポジトリを提供して、トラブルシューティングを支援します。ログは大きく分けて 2 つのカテゴリに分類されます。
すべてのメッセージ:これらのメッセージにはステータス、エラー、警告および情報メッセージが含まれます。これらは、ライセンス管理コンポーネントを含め、あらゆる Zen コンポーネントから発生します。
ライセンス メッセージ:これらのメッセージは、ライセンスに関する問題を警告し、そのトラブルシューティング情報を提供します。これらはライセンス管理コンポーネントから発生します。
次の表にログ リポジトリの概要を示します。
表 50 Zen メッセージ ログ リポジトリ
リポジトリ
記録元
ライセンス管理コンポーネント
ライセンス管理コンポーネント(Windows)
Zen イベント ログ(Windows)にエラー メッセージを書き込む Zen コンポーネント
Zen の全コンポーネント(Linux、macOS、および Raspbian)
Zen の全コンポーネント(Windows)
ライセンス メッセージ
ログ リポジトリのいくつかはライセンス メッセージに重点を置いています。キーが無効と判断された場合、そのキーの状態は「アクティブ」から「検証失敗」に変わります。この状態でも一定の期間内はデータベース エンジンが正常に機能するので、検証失敗を修正するための時間は十分にあります。
その修正猶予期間が終わるまでにエラーが修正されないと、キーの状態は再び無効になります。キーが無効になると、データベース エンジンはデータ ファイルにアクセスできなくなります。
検証失敗への対応を適時に行う必要があるため、キーの状態の変更はできるだけ早く通知されるようになっています。たとえば、1 つのメッセージがすべてのメッセージ リポジトリに記録されます。リポジトリの中で最もわかりやすいのは Zen Notification Viewer です。License Administrator でもキーの状態が表示されます。このため、いつでも検証動作を実行して状態を確認することができます。『Zen User's Guide』のライセンス管理を参照してください。
キーの状態の変更
次の表では、キーの状態の変更に応じて返されるメッセージのタイプについて説明します。
表 51 キーの状態の変更に応じたメッセージのタイプ
メッセージのタイプ
キーの状態の変更
シナリオ
 
変更前
変更後
 
警告
アクティブ
検証失敗
検証動作によってキーの検証失敗が検出されました。たとえば、マシン署名を判別できないためキーと一致しなくなった、または 1 つまたは複数のライセンス コンポーネントをロードできないなどが原因です。
この状態でも一定の期間内はデータベース エンジンが正常に機能するので、検証失敗を修正するための時間は十分にあります。
警告
無効
検証失敗
キーが無効になった原因のいくつかは修正されていますが、まだ解決する必要がある問題が少なくとも 1 つあります。
キーの状態は検証失敗に変わったため、一定の期間内はデータベース エンジンが正常に機能するので、検証失敗の原因を修正することができます。
エラー
検証失敗
無効
検証失敗の原因を修正するために提供された期間が過ぎました。検証失敗の原因となる状態が期限内に修正されませんでした。キーが無効になると、データベース エンジンはデータ ファイルにアクセスできなくなります。
情報
検証失敗
アクティブ
検証失敗となった原因が修正されています。キーは有効になり、データベース エンジンはすべて機能します。
情報
無効
アクティブ
キーが無効になった原因が修正されました。キーは有効になり、データベース エンジンはすべて機能します。
期限切れ状態(一時キーの場合のみ適用)、または非アクティブ状態(前バージョンの Zen で登録されたままのキーに適用)となっているキーに関するメッセージは記録されないので注意してください。
ログ記録の頻度
次の表は、ライセンス メッセージが記録される頻度を特定の動作別に示しています。
表 52 メッセージのログ記録の頻度(起因動作別)
起因動作
ログ記録の頻度
ログ リポジトリ1
51 で示したキーの変更状況
即時
Notification Viewer
オペレーティング システムのイベント ログ
Zen のイベント ログ
キーが検証失敗状態のまま
1 日 1 回通知
Notification Viewer
オペレーティング システムのイベント ログ
Zen のイベント ログ
API 呼び出しによってプログラムから起動した検証動作
Zen User's Guide』の認証残り回数を表示するには、『Distributed Tuning Interface Guide』の PvValidateLicenses()、および『Distributed Tuning Objects Guide』の ValidateLicenses メソッドを参照してください。
即時
オペレーティング システムのイベント ログ
Zen のイベント ログ
Zen ライセンス サーバーから発生した警告またはエラー メッセージ
即時
オペレーティング システムのイベント ログ
Zen のイベント ログ
1 メッセージ ログは一方向の階層に従って記録されます。Notification Viewer へ記録されるライセンス メッセージはオペレーティング システムのイベント ログへ、さらに Zen イベント ログへと記録されます。オペレーティング システムのイベント ログに記録されるライセンス メッセージは、Zen イベント ログにも記録されます。
Notification Viewer
Notification Viewer は、ライセンス コンポーネントによって記録されるメッセージを表示するツールです。このツールは、注目すべきライセンス メッセージ(表 52 を参照)をわかりやすく通知することを目的としています。
Notification Viewer は、デフォルトで Zen Enterprise Server および Cloud Server(Windows、Linux、macOS の 32 ビットおよび 64 ビット版)および Zen Workgroup(Windows 版)のインストール時に一緒にインストールされます。また、Windows プラットフォームではデフォルトで、Windows を再起動すると Notification Viewer も再起動します。
Windows プラットフォームの場合、この実行可能ファイルの名前は notifyviewer.exe です。これはユーザーに対し、単独で実行するインスタンスを提供します。Notification Viewer が既に実行されている状態で新たに Notification Viewer を起動しようとすると、実行済みの GUI が画面の最前面に表示されます。
Linux、macOS、および Raspbian の場合、このツールは notifyviewer という名前のシェル スクリプトです。このシェル スクリプトは実行するたびに、新たな Notification Viewer インストタンスを起動します。オペレーティング システムを再起動した場合は、Notification Viewer を手動で再起動する必要があります。再起動時、このシェル スクリプトは自動的には実行されません。
コマンド ライン オプション
次のコマンド ライン オプションを使用すると、このツールの実行方法を指定できます。
オプション
説明
(オプションなし)
オプションを指定しないでこのツールを実行する場合は、GUI が表示され、オペレーティング システムがシステム トレイをサポートしている場合はトレイ アイコンが現れます。
-tray
このオプションを指定してツールを実行すると、GUI が表示されずトレイ アイコンを表示します。オペレーティング システムでシステム トレイがサポートされない場合は、GUI が表示されます。
Notification Viewer では、システム トレイ アイコンとグラフィカル ユーザー インターフェイスの 2 つのインターフェイスを提供します。
システム トレイ アイコン インターフェイス
Windows のデフォルトでは、Notification Viewer は GUI を表示しないで起動し、システム トレイ アイコンを表示します。Linux および macOS の場合、Notification Viewer は GUI として起動し、そのディストリビューションがシステム トレイをサポートしている場合は、システム トレイ アイコンを表示します。ツールが実行されると、ライセンス メッセージの監視を開始します。
Notification Viewer が未読のメッセージを検出すると、トレイ アイコンは未読メッセージを示す表示に変わります。トレイ アイコンを参照してください。
Notification Viewer は 2 種類のツールヒントも表示します。ツールヒントをマウスでポイントすると、重要な未読メッセージがある場合はそのメッセージ数、未読メッセージの総数が表示されます。メッセージがすべて既読の場合はツールの名前が表示されます。通知する必要があるメッセージを Notification Viewer が検出した場合は、バルーン形式のツールヒントが表示されます。Windows の場合、このツールヒントは直接閉じるか、キーボードまたはマウス操作を行わない限り表示され続けます。Linux および macOS の場合、このツール ヒント上をクリックして閉じる必要があります。
ポップアップ メニュー
トレイ アイコンのポップアップ メニューには、[Zen Notification Viewer を開く](GUI を開く)および[終了](ツールを終了する)という 2 つの項目があります。このメニューはトレイ アイコンを右クリックすると表示されます。
トレイ アイコン
次の表ではトレイ アイコンの意味を説明します。
アイコン
説明
Notification Viewer は実行中でライセンス メッセージを監視しています。このアイコンは、すべてのメッセージが開封済み(既読)である正常な状態を示しています。
Notification Viewer には未読メッセージがあります。
このアイコンは、未読メッセージがすべて開封されない限り表示され続けます。左パネルを参照してください。
グラフィカル ユーザー インターフェイス
トレイ アイコンをダブルクリックするか、トレイ アイコンを右クリックして[Zen Notification Viewer を開く]をクリックすると、Notification Viewer GUI を開くことができます。Linux および macOS のデフォルトでは、Notification Viewer は GUI として起動し、システム トレイ アイコンを表示します。起動動作を変更する場合は、notifyviewer シェル スクリプトに -tray オプションを渡します。Linux または macOS ディストリビューションがシステム トレイをサポートしていない場合、Notification Viewer は GUI を表示し、システム トレイ アイコンは表示しません。その場合は、シェル スクリプトを実行して Notification Viewer を起動してください。
この GUI が表示されると、未読メッセージが直ちに GUI へ追加されます。さらに、トレイ アイコンにツールヒントが表示され、アイコンは未読メッセージを示す表示に変わります。
Zen は、通知ファイルにある記録の既読または未読状態をユーザーごとに監視します。つまり、GUI を表示している各ユーザーからはすべてのメッセージが見えますが、メッセージの既読または未読状態はユーザーごと異なるということです。
オペレーティング システムでシステム トレイがサポートされない場合は、Notification Viewer に対して Close コマンドを実行することでこのツールは終了します。システム トレイがサポートされる場合は、画面を閉じることで GUI が非表示になり、ツールが実行中であることを示すトレイ アイコンが表示されます。
ツールバーとパネル
8 で示すように、Notification Viewer GUI にはツールバーと 2 つのメイン パネルがあります。
図 8 Notification Viewer の GUI
 
GUI 要素
説明
ツールバー
2 つのオプションを提供します。
[未読のみ表示](オンとオフで表示を切り替える)
[すべて開封済みにする]
左パネル
スクロール可能なメッセージの一覧が含まれます。メッセージは一番上に最新のメッセージが来るようソートされ、"今日"、"昨日から 1 週間前"、"それ以前" の 3 つのグループに分けて配置されます。各グループ ノードは展開したり閉じたりすることができます。
各メッセージには、情報のタイプを表すイメージ アイコン、タイトル文字列、日付および簡単な説明が表示されます。そのメッセージが未読の場合、テキストはすべて太字で表記されます。
メッセージを既読にするには、その対象のメッセージをクリックして選択します。
右パネル
メッセージの詳細を示します。ここではそのメッセージについて詳しい説明を記載し、場合によっては問題を解決する提案事項も提供されます。
オペレーティング システムのイベント ログ
Zen は、オペレーティング システムのイベント ログに以下のエントリを書き込みます。
Zen ライセンス管理メッセージ
Zen イベント ログ(zen.log)に書き込まれる Zen エラーメッセージ
(上記のメッセージも含む)Linux、macOS、および Raspbian 上の Zen コンポーネントの全メッセージ
詳細については、以下のトピックを参照してください。
Windows プラットフォームのイベント ログ
Linux、macOS、および Raspbian ディストリビューションのイベント ログ
Windows プラットフォームのイベント ログ
Windows オペレーティング システムでは、「アプリケーション」、「セキュリティ」、または「システム」として分類されるイベントの記録方法を提供しています。Zen では、一般的なエラー メッセージと選択したライセンス メッセージが zen.log に書き込まれると、Windows のアプリケーション イベント ログにもこれらのメッセージを記録します。
ライセンス メッセージの場合、「エラー」または「警告」として分類されるイベントが記録されます。これには、キーの状態の変更に起因するメッセージのほか、警告、エラー メッセージが含まれます(表 52 を参照)。さらに、表 51 で挙げているような特定の情報メッセージも記録されます。
イベント ログの表示
Windows オペレーティング システムでは、イベント ログを表示および操作するための「イベント ビューアー」という GUI を提供しています。この GUI には、Windows の PC 設定またはコントロール パネルから、あるいはコマンド インターフェイスで eventvwr.msc コマンドを実行してアクセスすることができます。
Zen は 1 つのイベントに対し以下の内容を表示します。
日付と時刻 - イベントの日付と時刻
ソース - Actian Zen
タスク カテゴリ - Zen
種類/レベル - イベントのレベル:情報、警告またはエラー
イベント ID - 1000
ユーザー - N/A
コンピューター - コンピューターの名前
さらに、[キーワード]列に "クラシック"、[ログ]列に "アプリケーション" を表示します。イベント ビューアーではさらに列が表示できるようになっていますが、Zen はそれらに対するデータを提供しません。
Linux、macOS、および Raspbian ディストリビューションのイベント ログ
Linux、macOS、および Raspbian ディストリビューションの場合は、Zen の全コンポーネントが標準ログ システムの syslog にメッセージを書き込みます。syslog はデフォルトで、Linux と Raspbian では /var/log/messages に、macOS では /var/log/system.log に書き込みます。SQL 接続マネージャーに限り、任意でメッセージを event.log ファイルに記録することもできます。
event.log ファイルと bti.ini
bti.ini は、Lnux、macOS、および Raspbian ディストリビューションで使用される Zen 設定ファイルです。デフォルトでは、このファイルは /usr/local/actianzen/etc にあります。
このファイルを使用すると、SQL 接続マネージャー用の構成を行うことができます(INI ファイルの[SQLManager]セクション)。設定の 1 つである LogEvent は、イベント ログ ファイル(event.log)に記録するイベント メッセージのタイプを決定します。デフォルトでは、event.log は /usr/local/actianzen/bin にあります。
bti.ini の SQLManager セクション用の各種パラメーター
説明
MgrPort
SQL 接続マネージャーで使用されるポート番号を設定します。デフォルト値は 1583 です。
MgrUseTransport
SQL 接続マネージャーで使用されるプロトコルの種類を設定します。これは TCP に設定する必要があります
LogEvent=msg_type
msg_type には以下の値のいずれかを指定します(デフォルトは 1 です)。この値はイベント ログ(event.log)に記録するメッセージのタイプを示します。
0 - 記録しない
1 - エラーのみ
2 - エラーと警告
3 - エラー、警告および情報メッセージ
4 - エラー、警告、情報メッセージおよび connect.log
InstallDirectory=/usr/local/actianzen
接続ログ /usr/local/actianzen/connect.log をアクティブ化します。
Zen イベント ログ(zen.log)
Windows プラットフォームの場合、Zen の全コンポーネントが Zen のイベント ログへステータス、エラー、警告、および情報メッセージを書き込みます。Linux、macOS、および Raspbian ディストリビューションの場合、Zen は専用のイベント ログを使用しません。その代り、Zen の全コンポーネントが標準ログ システムの syslog にメッセージを書き込みます。Linux、macOS、および Raspbian ディストリビューションのイベント ログを参照してください。
Zen のイベント ログには zen.log という名前が付けられています。デフォルトで、このログは<アプリケーション データ ディレクトリ\actianzen\logs ディレクトリにあります。Windows プラットフォームでは Zen の全コンポーネントがこのログ ファイルに書き込みます。Zen データベース エンジンを使用した複数のアプリケーションが同じマシン上で動作している場合、これらのアプリケーションは zen.log を共有します。
zen.log のフィールド
zen.log の内容は、次の表 53 で説明されている形式のテキスト メッセージで構成されます。
表 53 zen.log のフィールド
フィールド
内容
Date
yyyy/mm/dd/ 形式で表される自動日付スタンプ。
Time
hh:mm:ss 形式で表される自動時刻スタンプ。これらの表示形式は地域の設定に従います。
Component
エラーを返すコンポーネントのファイル名(拡張子なしのプレフィックスのみ)。
Process
コンポーネントのインスタンス ID。これは、コンポーネントのプロセス ID です。
Process Name
コンポーネントのパスおよび名前(最後の 15 文字に短縮)。
Computer Name
プロセスをホストするマシンに割り当てられた名前(最初の 15 文字に短縮)。
Type
1 文字:I は情報、W は警告、E はエラーです。
Message
呼び出し元のコンポーネントに関連するリソースから取得される文字列、または呼び出し元のコンポーネントから直接渡されるテキスト文字列から成るメッセージ テキスト。
メッセージ テキストには数値が含まれることもあります。この数値の形式は 10 進数または 16 進数です。16 進数と 10 進数を区別するため、16 進数値の前には "0x" 文字が付けられます。
メッセージ テキストの中には、OEM アプリケーション固有の情報(ベンダーの Web サイトへのリンクやトラブルシューティング情報など)が含まれている場合もあります。
エントリの後に、標準の 16 進形式のバイナリ データが続くことがあります。バイナリ データの長さには、制限がありません。
zen.log のエントリ例
以下は、zen.log に含まれるデータの種類の例です。
Date
Time
Component
Process
Process Name
5/10/2019
09:53:06
LicenseMgr
9048
zenengnsvc.exe
Computer Name
Type Category
Message
USRegion2Svr
W
ライセンスは検証に失敗しました。修復期限は 14 日間です。
メッセージの電子メール通知を受け取る
Zen にはイベント メッセージの電子メール通知が含まれていません。そのような機能を提供するベンダーの製品が簡単に入手できるからです。このトピックでは、それらの製品のいくつかを挙げるとともに、Zen ライセンスおよび製品キーに関する操作を監視するためのイベント ログの使用についても説明します。
監視されるイベントの電子メール通知を提供する製品
次の表は、オペレーティング システムのイベント ログに含まれるイベントの電子メール通知を提供できる製品の一部を挙げています。製品はアルファベット順に並んでいます。弊社では、特定の製品について推奨することはしません。一覧に記載されている製品は、ほかのベンダーから提供されるものであるため、製品とそれに関する解説がここで述べたものと異なることがあります。
通常、そのような製品は、エージェントをインストールする、WMI(Windows Management Instrumentation)のようなリモート アクセス メカニズム、あるいはセキュア シェル(SSH)を有効にする必要があります。
表 54 監視されるイベントの電子メール通知を提供する製品
製品
コスト
プラットフォーム
説明
Hyperic
www.hyperic.com
Hyperic 社までお問い合わせください。
Windows
監視されるマシン上にエージェントをインストールし、ファイアウォールでそのエージェント用にポートを開く必要があります。
Linux、macOS、および Raspbian
監視されるマシン上で SSH を有効にし、ファイアウォールでその SSH 用にポートを開く必要があります。
Nagios
www.nagios.org/
無料
Windows および Linux
監視されるマシン上にエージェントをインストールし、ファイアウォールでそのエージェント用にポートを開く必要があります。
Spiceworks
www.spiceworks.com
無料
Windows
監視されるマシン上でリモート WMI を有効にし、ファイアウォールでそのリモート WMI 用にポートを開く必要があります。
Linux
監視されるマシン上で SSH を有効にし、ファイアウォールでその SSH 用にポートを開く必要があります。
System Center Configuration Manager(SCCM)
www.microsoft.com
Microsoft 社までお問い合わせください。
Windows
監査されるマシン上で、エージェントをインストールするか、またはリモート WMI を有効にする必要があります。WMI が有効になると、ファイアウォールは自動的に調整されます。エージェントを使用する場合は、ファイアウォールでそのエージェント用のポートも開く必要があります。この製品は Windows オペレーティング システムでのみ使用可能です。
ZenOSS
www.zenoss.com
ZenOSS 社までお問い合わせください。
Windows
監視されるマシン上にエージェントをインストールし、ファイアウォールでそのエージェント用にポートを開く必要があります。
Linux、macOS、および Raspbian
監視されるマシン上で SSH を有効にし、ファイアウォールでその SSH 用にポートを開く必要があります。
ライセンスのイベント メッセージを監視するイベント ログの内容
54 で挙げた製品はすべて、オペレーティング システムのイベント ログの内容を識別することができます。識別方法は、Windows プラットフォームと、Linux、macOS、および Raspbian ディストリビューションで異なります。ここでは、各製品の具体的な監視方法について説明しません。詳細については、ベンダーのドキュメントを参照してください。
Windows プラットフォーム
次に表では、オペレーティング システムのイベント ログで、Zen ライセンスのプロパティを示しています。監視する製品の設定で、それらのプロパティの値に基づいて電子メール通知が送信されるようにします。
オペレーティング システムのイベント ログのプロパティ
監視する値
ソース
Actian Zen
タスク カテゴリ
Product Keys
種類
警告、エラー
Zen ライセンスに関するイベント メッセージのうち、警告またはエラーのメッセージについて電子メール通知を受け取りたいとします。製品を次のような条件で監視するよう設定します。
ソース = "Actian Zen"
タスク カテゴリ = "Product Keys"
種類 = "警告" | 種類 = "エラー"
Linux、macOS、および Raspbian ディストリビューション
Linux、macOS、および Raspbian の syslog には、Windows オペレーティング システムのイベント ログと同じプロパティは含まれていません。syslog 内のイベントと文字列を特定するよう通知製品を設定する必要があります。イベントと文字列の比較に基づいて、製品は電子メール通知など、希望の動作を開始することができます。
Zen データベース エンジンによって syslog に書き込まれるすべてのメッセージ(ライセンス関連かどうかに関わらずすべてのメッセージ)には mkded という文字列が含まれています。次の一覧には、syslog で Zen ライセンスのみに該当する文字列をいくつか示しています。syslog を監視する方法の 1 つは、mkded と以下の文字列の 1 つを含む内容に基づいて文字列比較を設定することです。
disabled
failed validation
for key
validation of key
capacity for session count
capacity for data in use
user count