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