Caché の管理
この章では、プロセスの詳細表示、メッセージ送信、プロセスの監視を含む、一般的な Caché の操作タスクについて説明します。以下の項目について説明します。
ローカル・データベースの管理
管理ポータルの [データベース] ページでは、ローカル・データベースの確認と保守ができます。このページには、[システムオペレーション] を選択してから [データベース] を選択することでアクセスできます。各ローカル・データベースについて以下の情報が表示されます。
列名 | 定義 |
---|---|
名前 | データベース名。この名前をクリックすると、このデータベースの詳細が表示されます。 |
ディレクトリ | データベースが存在するシステム・ディレクトリ。 |
最大サイズ (GB) | 割り当てられた許容されるデータベースの最大サイズ。ギガバイト単位。 |
サイズ (MB) | 現在割り当てられているデータベースのサイズ。メガバイト単位。 |
状態 |
データベースの状態。マウントされているかマウントされていない (ディスマウントされている) かと、設定されているアクセス権を示します。 マウントされているデータベースとは、Caché の起動に必要なデータベースのことです (つまり、[開始時にマウントが必要] が [はい] に設定されているもの)。詳細は、このドキュメントの “Caché の構成” の章の "データベース・プロパティの編集" を参照してください。この場合は、Caché を起動する際に必ずマウントされ、アクセス可能になります。または、以前にマウント解除され、アクセスしたり明示的にマウントした際に動的にマウントされたデータベースです。この場合、明示的にディスマウントしたり Caché の再起動や停止が行われるまで、マウントされたままになります。 マウントされていないデータベースとは、Caché の起動には必要とされず (つまり、[開始時にマウントが必要] が [いいえ] に設定されている)、アクセスされたり明示的にマウントされていないデータベースのことです。アクセスしたり明示的にマウントすると動的にマウントされ、明示的にディスマウントしたり Caché の再起動や停止が行われるまで、マウントされたままになります。 ディスマウントされたデータベースとは、明示的にディスマウントされたデータベースのことです。明示的にマウントしたり Caché の再起動や停止が行われるまで、アクセスできません (つまり、アクセスしても、ディスマウントされたデータベースは動的にマウントされません)。永久にデータベースをディスマウントするには、構成から削除する必要があります。詳細は、このドキュメントの “Caché の構成” の章の "ローカル・データベース" を参照してください。
Note:
データベースを明示的にマウントしたりディスマウントする方法の詳細は、このテーブルの [ディスマウント] および [マウント] アクション・ボタンを参照してください。 |
暗号化 | データベースが暗号化されているかどうかを表示します。 |
ジャーナル | データベースのグローバルがジャーナルされているかどうかを [はい] または [いいえ] で示します。 |
ディスマウント / マウント |
データベースを明示的にディスマウントまたはマウントするためのボタン。明示的に変更したり Caché の再起動や停止が行われるまで、新しい状態は有効です。永久にデータベースをディスマウントするには、構成から削除する必要があります。 |
また、表示するデータベースの数の制御に使用できるフィルタ・バーをページは含んでいます。例えば、システム・データベースのみをリスト表示するには、[フィルタ:] テキスト・ボックスに cac* を、ページごとにデータベースを 5 つだけリスト表示するには、[ページサイズ] テキスト・ボックスに 5 を、表示する行数を 3 行に制限するには、[最大行数:] テキスト・ボックスに 3 をそれぞれ入力します ([結果] フィールドに数字付きで表示される [+] 記号は、指定された基準に合うデータベースがその他にあることを示していますが、表示はされません)。
空き容量情報の表示
空き容量の情報を取得するには、管理ポータルの [データベース空き容量] ページを表示するか、^%FREECNT ユーティリティを使用します。
通常運用時のデータベースのサイズと空き容量属性は常に変化しているため、ポータルやユーティリティで報告される特定の時点での数値は概算に過ぎないことに注意してください。
管理ポータルを使用した空き容量情報の表示
[データベース空き容量] ページには、空き容量に関する情報がローカル・データベースごとに表示され、このページを使用してデータベースの圧縮や領域の削除を実行できます。[データベース空き容量] ページを表示するには、[データベース] ページに移動して、[空き容量] をクリックします。次のテーブルは、[データベース空き容量] ページに表示される情報の説明です。
列名 | 定義 |
---|---|
名前 | データベース名 |
ディレクトリ | データベースのプライマリ・ボリュームが存在するシステム・ディレクトリ。 |
最大サイズ | 最大割り当てサイズ (ギガバイト単位)。データベースは、このサイズまで拡大可能です。データベース作成時の既定値は無制限です。 |
サイズ | 現在割り当てられているデータベースのサイズ。メガバイト単位。 |
拡張サイズ | データベースを拡張できるサイズ (メガバイト単位)。データベースの作成時の既定値はゼロ (0) に設定することを推奨します。これは、システムの既定値 (現在のサイズの 12% または 10 MB のどちらか大きい方) を使用することを意味します。この設定では、拡張サイズは 1GB より大きくなりません。 |
使用可能 | データベースで使用できる空き領域の容量 (メガバイト単位)。 |
空き (%) | データベースで使用できる空き領域の割合。 |
ディスク空き容量 | ボリュームの空き領域の容量。 |
状態 | ディレクトリの状態。データベースがマウントされているかどうかと、アクセス許可を示します。 |
データベースの空き容量 (空のブロック) の管理は、データベース・メンテナンスの重要な側面です。[データベース空き容量] ページでは、以下に示す空き容量の管理操作を実行できます。
-
データベースの圧縮 — データベース全体に分散した空き領域をデータベースの末尾に移動します。
-
データベース領域の削除 — データベースの末尾の空き領域を基盤となるファイル・システムに返します。
さらに、^DATABASE ユーティリティを使用すると、グローバル・ブロック (グローバル・データを格納するブロック) に関連する以下のデータベース管理操作を実行できます。
-
データベースのグローバルの圧縮 — グローバル・ブロック内の未使用領域と全体的なグローバル・ブロックの数を削減して、空き容量を増やします。
-
データベースのグローバルのデフラグ — グローバル・ブロックを再配置して、特定のグローバルを表すブロックが連続するようにします。
^DATABASE ユーティリティは、空き容量情報の表示と、データベースの圧縮および領域の削除、さらに、データベースの再作成などその他のデータベース・タスクの実行にも使用できます。これによって、データベースの名前やサイズを変更せずに、既存のデータベース内のデータをクリアできます。このユーティリティの詳細については、"Caché セキュリティ管理ガイド" の “文字ベースのセキュリティ管理ルーチンの使用” の章で "^DATABASE" を参照してください。
Caché によって使用されるデータ構造は自身で均衡を保つように構成されており、長時間使用し続けてもパフォーマンスが低下することはありません。パフォーマンスを回復するために、データベースを終了してデータやインデックスの再構築や圧縮を行う必要はありません。
%FREECNT を使用した空き容量情報の表示
Caché には、データベースで使用可能な空き容量を表示する ^%FREECNT ユーティリティが用意されています。このユーティリティは、ターミナルで do ^%FREECNT と入力して実行します。
%SYS ネームスペースで ^%FREECNT を使用する場合は、プロンプトにアスタリスク (*) を入力してすべてのデータベースの空き容量を表示するか、1 つのデータベース・ディレクトリ名を入力するかを選択できます。次に例を示します。
%SYS>do ^%FREECNT
Database directory to show free space for (*=All)? *
Databases Selected
------------------
c:\MyCache\mgr\
c:\MyCache\mgr\cacheaudit\
c:\MyCache\mgr\cachelib\
c:\MyCache\mgr\cache\
c:\MyCache\mgr\cachetemp\
c:\MyCache\mgr\docbook\
c:\MyCache\mgr\samples\
c:\MyCache\mgr\user\
Device:
Right margin: 80 =>
Cache Database Free Space
Feb 15 2012 7:25 PM
Database Max Size Size Available %Free Disk Free
c:\MyCache\mgr\ Unlimited 191MB 19MB 9.94 60.79GB
c:\MyCache\mgr\cacheaudit\ Unlimited 1MB 0.43MB 43 60.79GB
c:\MyCache\mgr\cachelib\ Unlimited 319MB 27MB 8.46 60.79GB
c:\MyCache\mgr\cache\ Unlimited 1MB 0.55MB 55 60.79GB
c:\MyCache\mgr\cachetemp\ Unlimited 4MB 1.5MB 37.5 60.79GB
c:\MyCache\mgr\docbook\ Unlimited 144MB 11MB 7.63 60.79GB
c:\MyCache\mgr\samples\ Unlimited 114MB 52MB 45.61 60.79GB
c:\MyCache\mgr\user\ Unlimited 1MB 0.43MB 43 60.79GB
%SYS 以外のネームスペースでは、このユーティリティは、そのネームスペース内のデータベースの空き容量を示します。次に例を示します。
USER>Do ^%FREECNT
Databases Selected
------------------
c:\MyCache\mgr\user\
Device:
Right margin: 80 =>
Cache Database Free Space
Feb 15 2012 7:28 PM
Database Max Size Size Available %Free Disk Free
c:\MyCache\mgr\user\ Unlimited 1MB 0.52MB 52 42.72GB
<- フラグ (%Free 列内) は、指定されたデータベースの空き容量の割合が 5% 未満に低下したことを示します。ファイルシステムでデータベースの拡張を処理できるだけの十分な領域を確保する必要があります。
情報の送信先デバイスを選択でき、表示の行の長さを選択できます。
データベースの圧縮
データベースの圧縮では、グローバル・ブロックを再配置することで、データベース全体に分散された空き領域を、そのデータベースの末尾に移動します。その後、データベースの領域の削除を実行することで、空き領域を基盤となるファイル・システムに返すことができます。(グローバルも圧縮できます。"データベースのグローバルの圧縮" を参照してください。)
データベースを圧縮するときには、そのデータベースの末尾に配置する利用可能な空き領域の容量を指定し、最低でも指定した空き容量を末尾に配置するために、十分な数のグローバル・ブロックを末尾から先頭に移動する操作を行います。(この操作では、追加の空き領域を作成することはできません。そのため、利用可能容量の合計よりも多くの容量を末尾に配置することはできません。)
例えば、サイズが 50 MB のデータベースがあり、そのうちの 15 MB が空き領域になっていて、その空き領域のうちの 5 MB が既にデータベースの末尾に配置されているとします。このデータベースを圧縮して、5 MB より大きく 15 MB より小さい容量を指定すると、データベースの末尾の空き領域が指定した容量と等しくなるまで、グローバル・ブロックがデータベースの末尾から先頭に移動されます。この容量に 15 MB を指定すると、移動可能なすべてのグローバル・ブロックがデータベースの先頭に移動されます。
データベース領域を圧縮するには、以下の手順を実行します。
-
[データベース] ページ ([システム処理]→[データベース]) に移動し、[空き容量] をクリックして [データベース空き容量] ページを表示します。
-
圧縮するデータベースの行の [圧縮] をクリックします。これにより、[データベース圧縮] ページが表示されます。このページには、データベースの名前と場所、現在のサイズ、利用可能な空き容量の合計、および現在ファイルの末尾にある空き領域の量が表示されます。
Note:データベースが読み取り専用でマウントされていて、Caché インスタンスがバックアップまたは非同期ミラー・メンバ ("Caché 高可用性ガイド" の “ミラーリング” の章を参照) ではない場合、[データベース空き容量] ページには、そのデータベースの行に [圧縮] リンクが表示されません。
-
[ファイルの末尾でのターゲット空き容量 (MB)] プロンプトを使用すると、操作後にファイルの末尾に確保したい空き容量を指定できます。提示された範囲内の値を入力する必要があります。容量を入力したら、[OK] をクリックします。(すべての空き容量が既に末尾にある場合や、空き容量がない場合、プロンプトは表示されず、[OK] ボタンも無効になります。)
Note:いくつかの理由から、この操作で移動される空き容量は、指定した容量よりも大きくなる可能性があります。逆に、報告される数値は概算であるため、表示された空き容量のすべてが、実際に移動できるわけではない可能性もあります。
-
バックグラウンド・ジョブが開始されたことを示すメッセージが [圧縮] ダイアログ・ボックスに表示されたら、ページの上部付近にある [バックグラウンドタスクページを参照するにはここをクリックしてください] リンクをクリックして、[バックグラウンドタスク] ページ ([システム処理]→[バックグラウンド・タスク]) にデータベース領域の圧縮バックグラウンド・タスクの状態を表示します。
-
[圧縮] ダイアログ・ボックスで、[完了] をクリックして [データベース空き容量] ページを再度表示します。データベース行の最初の列に [>>] が表示されている場合は、ページを更新して [サイズ] 列で実行後のサイズを確認します。
データベースの領域の削除
データベースの領域を削除すると、空き領域がデータベースの末尾から基盤となるファイル・システムに返されます。多くの場合、データベースの領域は圧縮後に削除されます。圧縮すると、空き領域がデータベースの末尾に移動します。
データベースの領域を削除するときには、そのデータベースのターゲット・サイズを指定します。データベースの末尾に十分な空き領域がある場合は、この操作により、ターゲット・サイズに合わせてデータベースを縮小する分の領域が削除されます。十分な空き領域がない場合は、削除可能なすべての領域が削除されます。(末尾に配置されるデータベースの空き領域の容量を調べるには、データベースを圧縮します。現在の合計空き容量と末尾の空き容量を表示するために、この操作を完了する必要はありません。)
この機能は、raw ボリュームやクラスタ・マウントされたボリュームを持つデータベースには使用できません。
データベース領域を削除するには、以下の手順を実行します。
-
[データベース] ページ ([システム処理]→[データベース]) に移動し、[空き容量] をクリックして [データベース空き容量] ページを表示します。
Note:切り捨てのための空き容量は、データ保存用の空き容量とは異なります。特定の制御構造がデータの保存に使用されていない場合、切り捨て中に削除される可能性があります。これにより、レポートされる空き容量に違いが生じる可能性があります。
-
削除するデータベースの行の [削除] をクリックします。選択したデータベースの名前、場所、およびメガバイト (MB) 単位の現在のサイズを示す [データベース領域の削除] ページ ([システム処理]→[データベース]→[空き容量]→[削除]) が表示されます。
Note:データベースが読み取り専用でマウントされていて、Caché インスタンスがバックアップまたは非同期ミラー・メンバ ("Caché 高可用性ガイド" の “ミラーリング” の章を参照) ではない場合、[データベース空き容量] ページには、そのデータベースの行に [削除] リンクが表示されません。
-
[ターゲットファイルサイズ (MB)] に入力します。これは、現在のサイズより小さくする必要があります。その後、[OK] をクリックします。0 を入力すると、利用可能な空き領域をファイルの末尾からすべて削除します。
-
バックグラウンド・ジョブが開始されたことを示すメッセージがページに表示されたら、ページの上部付近にある [バックグラウンドタスクページを参照するにはここをクリックしてください] リンクをクリックして、[バックグラウンドタスク] ページ ([システム処理]→[バックグラウンド・タスク]) にバックグラウンド・タスクの状態を表示します。
-
[削除] ダイアログ・ボックスで、[完了] をクリックして [データベース空き容量] ページを再度表示します。データベース行の最初の列に [>>] が表示されている場合は、ページを更新して [サイズ] 列で実行後のサイズを確認します。
データベースのグローバルの圧縮
^DATABASE ルーチンの [Compact globals in a database] オプションにより、グローバル・データはより少数のブロックに統合され、データベースの空き容量が増加します。
グローバルの作成時および構成時に、Caché は、通常、グローバル・ブロックの容量の約 70% が満たされるようにデータを割り当てます。(完全に照合順で増加したグローバルは、90% 近くまで割り当てられることがあります。)一般に、Caché による自動的なグローバル・ブロック密度の管理で問題はありません。ただし、連続しないデータ削除のパターンによっては、平均のグローバル・ブロック密度が大幅に小さくなることがあります。
データベース内の 1 つのグローバルに対するグローバル・ブロックについて、現在の密度をグローバル単位で確認するには、整合性チェックを実行して ("Caché データ整合性ガイド" の “データ整合性の概要” の章の "構造的な整合性の検証" を参照)、各グローバルの Data Level 出力を調べます。
グローバルを圧縮するときには、目標のグローバル・ブロック密度 (既定では 90%) と、この密度に可能な限り近づくようにするためのデータの統合操作 (3 つのブロックに分散されたグローバル・データを 2 つのブロックに再編成するなど) を指定します。通常 (例外もありますが)、グローバルを圧縮すると、データベース内で利用可能な空き容量が大幅に増加します。(現在のデータベースのグローバル・ブロック密度よりも低い目標密度を指定しても、データベースのサイズが増加することはありません。)
データベースのグローバルを圧縮するには、以下の手順を実行します。
-
ターミナルを開いて、%SYS ネームスペースに変更します。
-
do ^DATABASE と入力して、メニューから [7) Compact globals in a database] を選択します。
-
操作を実行するデータベースのディレクトリを指定します。複数のデータベースを指定するには、番号付きリストの [Database directories to compact?] プロンプトで ? を入力して、 番号のリスト (例えば、1,4,7-10) を入力します。
-
すべてのグローバルの圧縮を指示します。または、圧縮する個別のグローバルのリストを入力します。
-
平均グローバル・ブロック密度の目標値を指定して、圧縮操作の結果をグローバルごとに表示するかどうかを指示し、出力デバイスを指定して、指定内容を確定します。
グローバルの圧縮操作は、通常のデータベース・アクティビティと並行して実行するように設計されています。ただし、この操作は、ある程度のシステム・リソースを消費するため、システムが極度に高負荷の状態にあると完了しないことがあります。このような理由から、この操作やその他のデータベース再編成操作 (データベースの圧縮やグローバルのデフラグなどを含む) は、高負荷時を避けて実行し、このような操作をシステム上で同時に複数実行しないようにすることをお勧めします。
グローバル圧縮では、圧縮中にデータベースのサイズが一時的に増大することがあります。これによってデータベースが構成された最大サイズに到達した場合 (このガイドの “Caché の構成” の章で "ローカル・データベース" を参照)、またはストレージ・ボリュームで利用可能な領域が不足するために拡張が可能でない場合、操作はキャンセルされます。
データベースのグローバルのデフラグ
^DATABASE ルーチンの [Defragment globals in a database] オプションにより、データベース内のグローバル・ブロックが再編成され、特定のグローバルのデータを含むすべてのブロックが連続するようになります。この操作では、1 つのグローバルからのビッグ・ストリング・ブロックやポインタ・ブロックを順序どおりには配置しませんが、それらを連続する領域に配置します。このプロセスの一環として、[Defragment globals in a database] オプションでは、[Compact globals in a database] オプションと同じ方法ですべてのグローバルを圧縮します。ただし、目標密度は 70% に設定されています。(この目標密度がデータベースの現在のグローバル・ブロック密度よりも低い場合、データベースのサイズが増加することはありません。)
CACHETEMP データベースはデフラグできません。
一般に、デフラグを定期的に実行する必要はありません。だだし、ワークロードによっては、特にデータベースの大部分を連続的に読み込むような場合は、グローバル・ブロックを連続的に編成することで良好な結果が得られます。
デフラグ処理には、データベースの末尾に特定の量の空き領域が必要になります。そのため、以下に示すような状況が考えられます。
-
この操作の実行に必要十分な空き領域がデータベースの末尾にある場合は、グローバルのデフラグ以外の変更がデータベースに加えられることなく操作が完了します。
-
データベースに十分な空き領域がない場合は、データベースが必要に応じて拡張されます。デフラグの完了後に、データベースの領域の削除を実行すると、追加された空き領域を削除できます。
データベースに十分な空き領域がない場合でも、データベースの末尾に移動できる大量の空き領域があるときには、これを通知し、最初にデータベースを圧縮してから、[Defragment globals in a database] オプションを再度選択すると、デフラグ操作を完了するために必要な拡張量を減らせるようにします。
データベースのグローバルをデフラグするには、以下の手順を実行します。
-
ターミナルを開いて、%SYS% ネームスペースに変更します。
-
do ^DATABASE と入力して、メニューから [14) Defragment globals in a database] を選択します。
-
操作を実行するデータベースのディレクトリを指定します。
-
必要な場合には拡張を許可することを示して、完了します。
グローバルのデフラグ操作は、通常のデータベース・アクティビティと並行して実行するように設計されています。ただし、この操作は、ある程度のシステム・リソースを消費するため、システムが極度に高負荷の状態にあると完了しないことがあります。このような理由から、この操作やその他のデータベース再編成操作 (データベースの圧縮やグローバルの圧縮などを含む) は、高負荷時を避けて実行し、このような操作をシステム上で同時に複数実行しないようにすることをお勧めします。
グローバルのデフラグでは、圧縮中にデータベースのサイズが一時的に増大することがあります。これによってデータベースが構成された最大サイズに到達した場合 (このガイドの “Caché の構成” の章で "ローカル・データベース" を参照)、またはストレージ・ボリュームで利用可能な領域が不足するために拡張が可能でない場合、操作はキャンセルされます。
グローバルのデフラグ操作では、データベース内のすべてのデータが一時的に再配置されます。これは、この操作の実行前のデータベースのグローバル断片化の程度には関係ありません。後続の操作の実行では、ほぼ同量のリソースを消費しますが、それ以上の効果は得られません。
Caché プロセスの管理
Caché システムは多くのプロセスを実行します。アプリケーション・コードと Caché システム・コードは、プロセス内で実行されます。Caché プロセスは、以下の 3 つのカテゴリに分けられています。
-
ユーザ・プロセス:Caché に接続したときに作成される
-
バックグラウンド・プロセス:ユーザが ObjectScript Job コマンドを発行したときに作成される、または管理ポータルやユーティリティ ("[バックグラウンド・タスク] ページの使用" を参照) で作成される
-
Caché システム・プロセス
この章では、ユーザ・プロセスとバックグラウンド・プロセスの両方の意味で “プロセス” という用語を使用します。
プロセスは管理ポータルを使用して管理および制御できます。
機能 | ポータルから機能にアクセスする方法 |
---|---|
プロセス情報の表示 |
[プロセス] ページ ([システム処理]→[プロセス]) が表示されます。 |
プロセスの詳細の表示 |
[プロセス] ページを表示し、選択したプロセスの右側の列で、[詳細] をクリックして、[プロセス詳細] ページを表示します。 |
プロセスの一時停止または再開 |
[プロセス] ページを表示し、選択したプロセスの右側の列で、[詳細] をクリックして、[プロセス詳細] ページを表示します。次に、必要に応じて操作バーの [一時停止] または [再開] をクリックします。 |
プロセスの終了 |
[プロセス] ページを表示し、選択したプロセスの右側の列で、[詳細] をクリックして、[プロセス詳細] ページを表示します。次に、必要に応じて操作バーの [終了] または [<RESJOB> エラーで終了] をクリックします。 |
プロセス変数の表示 |
[プロセス] ページを表示し、選択したプロセスの右側の列で、[詳細] をクリックして、[プロセス詳細] ページを表示します。次に、[変数] タブをクリックしてプロセス変数を表示します。 |
ターミナルへのメッセージの送信 |
[プロセス] ページが表示されるので、[ブロードキャスト] ボタンをクリックして [ブロードキャスト] ダイアログを開きます。 |
プロセス更新間隔の管理 |
オプションで、[プロセス] ページを表示し、右側の列で、[詳細] をクリックして、[プロセス詳細] ページを表示します。いずれの場合でも、必要に応じて、[更新] オプション (操作バー上) を編集します。 |
プロセス情報の表示
システム上のアクティブな全プロセス、および各プロセスの基本情報を表示するには、[プロセス] ページ ([システム処理]→[プロセス]) に移動します。ページには、列内に各プロセスとその統計のテーブルが表示されます。
以下の表は、ディスプレイで利用できるプロセス情報を説明しています。
列名 | 定義 |
---|---|
ジョブ番号 | プロセス・テーブルのインデックス。 |
プロセスID | オペレーティング・システム・プロセス識別番号 (PID)。* |
ユーザ | プロセスを所有しているユーザの名前 |
デバイス | プロセスが使用している現在のデバイス |
ネームスペース | プロセスが実行している場所のネームスペース |
ルーチン | プロセスが現在実行しているルーチンの名前 |
コマンド | 実行したコマンドの数。 |
グローバル | Caché の開始以降、更新を含めて、実行されたグローバル参照の数 (データベースの読み取りと書き込み) |
状態 | プロセス状態。各状態の説明については、"インターシステムズ・クラス・リファレンス" の %SYS.ProcessQueryOpens in a new tab クラス・ドキュメントの StateOpens in a new tab プロパティを参照してください。 |
クライアント名 | プロセスに接続した、またはプロセスへの接続を開始したクライアント・システムの名前 |
クライアント EXE | プロセスを呼び出した実行可能プログラムの名前 |
クライアント IP | プロセスを開始したシステムの IP アドレス |
O/S Username | オペレーティング・システムによりプロセスに割り当てられるユーザ名。 |
詳細 | このプロセスを管理する権限を持っている場合に表示されるボタン。"プロセスの詳細の表示" を参照してください。 |
ユーザがプログラマ・モードで Caché を使用する場合、アスタリスク (*) はプロセス id に表示されます。プラス記号またはマイナス記号は、コールイン・プロセスの隣に表示されます。
-
+ プロセスは Caché にあります。
-
– プロセスは Caché にありません。
コールイン API は、Caché 機能です。これを使用すると、C プログラム内から ObjectScript のコマンドや式を実行したり、評価できるようになります。
プロセスの詳細の表示
[プロセス詳細] ページに、プロセスの詳細情報が表示されます。管理ポータルからこの情報にアクセスする手順は以下のとおりです。
-
[プロセス] ページ ([システム処理]→[プロセス]) が表示されます。
-
該当するプロセスの行で [詳細] をクリックします (このオプションは、ユーザにプロセスを管理する権限がある場合にのみ表示されます)。
-
ポータルに、選択したプロセスの [プロセスの詳細] ページが表示されます。
各カテゴリの説明は、以下の表のいずれかにあります。
多くの場合、インジケータのいずれかをクリックすると、[プロセス詳細] ページの左下隅の詳細ボックスに、項目の説明が表示されます。
インジケータ | 定義 |
---|---|
Process ID | このプロセスのプロセス ID (PID) 番号。 |
ユーザ名 | このプロセスに現在ログインしているユーザの名前。 |
OS ユーザ名 | オペレーティング・システムによりプロセスに割り当てられるユーザ名。 |
ネームスペース | プロセスを実行中のネームスペース。 |
プロセスの優先度 | このプロセスの優先度レベル。 |
グローバル参照 | このプロセスのグローバル参照数。 |
実行されたコマンド | このプロセスで実行したコマンドの数。 |
メモリ制限 | このプロセスで使用できるように割り当てられたメモリ量 (kB)。 |
メモリ・ピーク | このプロセスで使用されるメモリ量のピーク値 (kB) |
プライベート・グローバル・ブロック | このプロセスで使用されるプライベート・グローバル・データ・ブロックの数。 |
現在のデバイス | このプロセスで現在使用している I/O デバイス名。 |
使用メモリ | このプロセスで現在使用しているメモリ量 (kB)。 |
開かれたデバイス | このプロセスで現在開かれているデバイスのリスト。 |
ロック | このプロセスのロック情報。詳細 (モード、カウント、完全参照) を表示するには、詳細ボックス上部のリンクをクリックします。 |
インジケータ | 定義 |
---|---|
クライアント名 | このプロセスに接続した、またはプロセスへの接続を開始したクライアントのノード名 (存在する場合)。 |
EXE 名 | このプロセスに接続された実行可能クライアント・アプリケーションのクライアント名 (存在する場合)。 |
クライアント IP アドレス | このプロセスに接続された実行可能クライアント・アプリケーションのクライアントの IP アドレス (存在する場合)。 |
情報 | ユーザ定義の情報 (存在する場合)。 |
インジケータ | 定義 |
---|---|
プロセス状態 | このプロセスの現在の実行状態。 |
実行中 | このプロセスが現在トランザクションで処理されているかどうかを示します。 |
最終グローバル参照 | このプロセスで参照された最後のグローバル。 |
ルーチン | このプロセスが現在実行しているルーチンの名前。 |
ソースの場所 | このプロセスで最後にレポートされたソースの場所 (ルーチン名とオフセット)。 |
ソース行 | 最後にレポートされたこのプロセスでの実行ソース・コードの行数 (取得可能な場合)。 |
このページから、プロセスを停止または再開することもできます。プロセスは、以下のいずれかの方法で停止できます。
プロセスの一時停止または再開
プロセスの実行内容が不明で確認を要する場合や、より重要なプロセスを実行するために CPU サイクルが必要な場合にプロセスの一時停止が必要になることがあります。管理ポータルからこのオプションにアクセスする手順は以下のとおりです。
-
[プロセス] ページ ([システム処理]→[プロセス]) が表示されます。
-
該当するプロセスの行で [詳細] をクリックします。このオプションは、ユーザにプロセスを管理する権限がある場合にのみ表示されます。
-
オプション・バーで [一時停止] をクリックします。
同じページの [再開] をクリックすれば、いつでも一時停止のプロセスを再開できます。
プロセスの終了
プロセスが応答しなくなったり、他のプロセスやユーザに影響を及ぼす場合は、終了できます。管理ポータルからこのオプションにアクセスする手順は以下のとおりです。
-
[プロセス] ページ ([システム処理]→[プロセス]) が表示されます。
-
該当するプロセスの行で [詳細] をクリックします (このオプションは、ユーザにプロセスを管理する権限がある場合にのみ表示されます)。ポータルに、選択したプロセスの [プロセスの詳細] ページが表示されます。
-
オプション・バーで [終了] をクリックします。
必要に応じてプロセスの終了時の状態をログに記録するには、[RES JOB エラーで終了] チェック・ボックスにチェックを付けます。
Note:このオプションは既定で有効となります。
-
選択したプロセスを終了するために [はい] をクリックします。終了したプロセスは、二度と再開できません。
プロセス変数の表示
[プロセス変数] ページには、選択したプロセスで使用されているすべての変数が、グローバルの名前と値と共に表示されます。管理ポータルからこの情報にアクセスする手順は以下のとおりです。
-
[プロセス] ページ ([システム処理]→[プロセス]) が表示されます。
-
該当するプロセスの行で [詳細] をクリックします (このオプションは、ユーザにプロセスを管理する権限がある場合にのみ表示されます)。ポータルに、選択したプロセスの [プロセスの詳細] ページが表示されます。
-
オプション・バーで [変数] をクリックします。
ターミナルへのメッセージの送信
選択したプロセス、あるいはすべてのプロセスに関連付けられているターミナルにメッセージを送信できます。このユーティリティは、例えばユーザにシステムからのサイン・オフを依頼する場合などに便利です。しかし、メッセージがその時点で印刷中のレポートの中央に表示されることがあるため、使用には注意を要します。
このユーティリティは、メッセージを送信する際に各ターミナルの制御を一時的に占有します。メッセージの受信後、ターミナルは継続してプロセスを実行します。メッセージはターミナル画面に表示されます。したがって画面の表示が中断されることがありますが、ユーザの入力には影響しません。メッセージは、実行中の Caché ユーティリティ・ウィンドウには表示されません。
選択したプロセスに関連するターミナルにメッセージを同報通信するには、管理ポータルで以下のように実行します。
-
[プロセス] ページ ([システム処理]→[プロセス]) が表示されます。
-
[ブロードキャスト] (操作バー上) をクリックし、[ブロードキャスト] ウィンドウを開きます。
-
テキスト・ボックスに同報通信するメッセージを入力します
(メッセージを受信するアクティブなプロセスがない場合は、それを示すダイアログ・ボックスが表示されます。メッセージ・テキスト・ボックスやプロセスのリストは表示されません。[閉じる] をクリックします)。
-
ブロードキャスト・メッセージを受け取るプロセス (PID) のチェック・ボックスにチェックを付けます。必要に応じて、[全て選択] または [すべて解除] を使用すると便利です。
-
[ブロードキャスト] をクリックします。
-
完成したメッセージが表示されたら、[閉じる] をクリックします。
更新間隔の管理
プロセス情報の自動更新の有無を制御できます。また、情報の更新を希望する場合は、更新の頻度を指定することができます。データ自動更新の最短間隔は 5 秒です。既定の間隔は 10 秒となります。
既定では、自動更新がオフになっています。手動でプロセス更新を行う場合は、更新アイコンをクリックします。
アクティブなプロセスすべてに対して自動更新をオンにする場合、管理ポータルで以下の手順を実行します。
-
[プロセス] ページ ([システム処理]→[プロセス]) が表示されます。
-
[on] (オプション・バー上) をクリックして、テキスト・ボックスに更新間隔 (最短 5秒) を入力します。
-
プロセスの詳細に対して自動更新をオンにする場合、管理ポータルで以下の手順を実行します。
-
[プロセス] ページ ([システム処理]→[プロセス]) が表示されます。
-
該当するプロセスの行で [詳細] をクリックします (このオプションは、ユーザにプロセスを管理する権限がある場合にのみ表示されます)。ポータルに、選択したプロセスの [プロセスの詳細] ページが表示されます。
-
[on] (オプション・バー上) をクリックして、テキスト・ボックスに更新間隔 (最短 5秒) を入力します。
-
タスク・マネージャの使用
タスク・マネージャを使用するには、[システム処理]→[タスク・マネージャ] を選択して次のメニュー・オプションを表示します。
-
[新規タスク] (新規タスク・スケジュール)
-
[オンデマンド・タスク] (オンデマンドのタスクの実行)
-
[実行予定タスク] (次の 24 時間で実行する予定のタスクの表示)
-
[タスクスケジュール] (すべてのスケジュールされたタスクの表示)
-
[タスク履歴] (完了したタスクの表示)
-
[タスクのインポート] (以前に、おそらく別の Caché インスタンスによってファイルにエクスポートされたタスクのインポート)
タスク・マネージャは 60 秒ごとにポーリングして、実行するタスクがあるかどうかを確認します。[すぐに実行する] をクリックしてタスクをスケジュールすると、新しくスケジュールされたタスクが実際に実行されるまで最大で 60 秒の遅延が発生する場合があります。
新規タスク
[新規タスク] オプションを選択すると、[タスクスケジューラウィザード] が起動します。
-
ウィザードの最初のページでは、以下の情報の記入を求められます。
-
タスク名
-
説明
-
[実行先ネームスペース] — タスクを実行する定義済みのネームスペースのリストから選択します。
-
[タスク・タイプ] — リストされているタスクから選択します (リストは直前のプロンプトで選択したネームスペースによって内容が変わります)。
Note:選択したタスクのタイプによっては、追加情報の指定に使用するフォームが表示される場合があります。例えば、IntegrityCheck をスケジュールしているときは、[ディレクトリ]、[ファイル名]、[KeepDays] (ファイルを保持する日数) の入力を求めるフォームが表示されます。
-
CheckLogging — ログの実行が長時間 (既定では 2 日) に及んだ場合の警告の作成、もしくは ^%ISCLOG または ^ISCSOAP ログの無効化
-
CumuIncrDBList — 定義済みリストのデータベースの累積バックアップ
-
DiagnosticReport — 診断レポートの収集および WRC への配信
-
FullAllDatabases — すべてのデータベースのフル・バックアップ
-
FullDBList — 定義済みリストのデータベースのフル・バックアップ
-
IncrementalDBList — 定義済みリストのデータベースのインクリメンタル・バックアップ
-
IntegrityCheck — ネームスペースのデータベースの整合性チェック。整合性チェック・タスクは、%SYS ネームスペースが選択されている場合にのみ表示されます。
-
InventoryScan — インスタンスのインベントリ・スキャンのコンパイル
-
PurgeAudit — ジャーナル切り替えの指定時間後の監査データベースの削除
-
PurgeBackupLog — データベース・バックアップから指定時間が経過した後のバックアップ・ログの削除
-
PurgeErrorsAndLogs — cache.cpf ファイルの設定に基づいて、エラー・グローバルと cconsole.log が削除されます ("Caché パラメータ・ファイル・リファレンス" の “Caché パラメータ・ファイルの概要” の章にある [Startup] セクションで "ErrorPurge" と "MaxConsoleLogSize" のパラメータを参照してください)。
-
PurgeJournal — 削除条件と一致するジャーナル・ファイルの削除
-
PurgeTaskHistory — タスク・マネージャの履歴ファイルの削除
-
RunLegacyTask — レガシー・タスク、つまり、ユーザ独自のプログラム・タスクを実行します。テキスト・ボックスに入力する行 (例えば、do ^MyCode) は、ターミナルで実行できる必要があります
Note:RunLegacyTask コードでローカル変数の Status を使用しないでください。Caché はこの変数を使用します。この変数が RunLegacyTask コードによって変更されている場合、タスクはエラー・ステータスで終了する可能性があります。
エラーのため完了できないレガシー・タスクには、[エラーのために一時停止しています] というマークが付けられます。このマークが付いたタスクは、エラーが修正されてユーザがタスクを再開するまで実行スケジュールに入れられません。
-
SecurityScan — 失効したユーザ・アカウントの無効化、およびユーザ・パスワードとCSP セッション・トークンの失効設定
-
ShadowPurge — シャドウ・ファイルの削除
-
SuspendOnError — タスクが OnTasl() メソッドからエラー %Status を返した場合の動作を決定します。タスクを実行しようとしたタスク・マネージャで発生したエラー (ログイン・エラーやタスクが見つからない場合) は、このフラグをチェックしません。
-
SwitchJournal — 新しいジャーナル・ファイルへの切り替え
Note:%SYS.Task.DefinitionOpens in a new tab API を使用すると自分のタスク・タイプを定義できます。"インターシステムズ・クラス・リファレンス" のクラス・ドキュメントを参照してください。
-
-
[タスクの優先度] — [優先度通常]、[優先度低]、または [優先度高] から選択します。
-
[このユーザでタスクを実行] — 定義済みのユーザのリストから選択します。現在ログイン中のユーザとは別のユーザを選択するには、%Admin_Secure:Use 特権を持つ必要があります。
Note:各タスクは、選択した Caché ユーザ名に基づいたライセンス・ユーザ ID で 1 つのライセンス・ユニットを消費します。詳細は、このドキュメントの “Caché ライセンス” の章にある、"ライセンス・ログインの特別な考慮事項" を参照してください。
-
[タスク実行時に出力ファイルを開く] および [出力ファイル] — タスクによって出力が生成された場合は、指定したディレクトにログ・ファイルが書き込まれます。
-
[エラー時にタスクを一時停止]— エラー後にタスクを再スケジュールして実行を継続するか、タスクを一時停止するかを指定します。既定は [いいえ] です。エラー後にタスクを再スケジュールして実行します。
-
[システム再起動後にタスクを再スケジュール] — システムの再起動時 (タスクの実行を予定していたときにシステムがダウンした場合) に、タスクを再スケジュールするかどうかを以下のとおり指定します。
-
[いいえ] はシステムの再起動時にタスクを実行するように指定します。
-
[はい] はシステムの再起動後、タスクを次の論理時刻に実行するようにスケジュールの再設定を指定します。
-
-
[完了の電子メール通知の送信先] — タスク・マネージャの電子メール設定を構成した場合に (このドキュメントの “Caché の構成” の章にある "タスク・マネージャの電子メール設定の構成" を参照)、タスクが正常に終了したときに通知を送信する、電子メール・アドレスのコンマで区切られたリストを入力します。
-
[エラーの電子メール通知の送信先] — タスク・マネージャの電子メール設定を構成した場合に、タスクが失敗したときに通知を送信する、電子メール・アドレスのコンマで区切られたリストを入力します。
-
[ミラーにおけるタスクの実行方法] — このインスタンスがミラー・メンバの場合、タスクを実行できるメンバのタイプをしてします。
-
プライマリ・フェイルオーバー・メンバでのみ実行
-
バックアップ・フェイルオーバー・メンバおよび非同期メンバでのみ実行 (すべてについてプライマリを除く)
-
すべてのミラー・メンバで実行 (プライマリ、バックアップ、および非同期)
Note:バックアップがプライマリとしての引き継ぎ中など、フェイルオーバー・メンバの状態が移行中の場合は、タスク・マネージャはプライマリまたはバックアップとして状態が確立されるまでそのメンバでタスクを実行しません。
-
-
-
[次へ] をクリックして、タスクの実行時刻を指定します。
-
[完了] をクリックして、タスクをスケジュールします。
すべてのタスクは、既定で有効期限切れに構成されます。これを変更するには、以下の操作を実行します。
-
ターミナルを開きます。
-
zn “%SYS” と入力して、%SYS ネームスペースに変更します。
-
do ^TASKMGR と入力します。
-
オプション 2 を選択します。
-
編集するタスク番号を入力します。
-
Task Expires? に到達するまで、Enter キーを押して各オプションの既定値を保持します。
-
No と入力します。
選択したタスクは、有効期限がなくなります。
タスクの有効期限が切れる時期を制御する 3 つの追加の有効期限フィールドがあります。これらのフィールドは、日数、時間数、分数で制御します。特定のタスクの有効期限が切れる時期を調整するには、以下の操作を実行します。
-
ターミナルを開きます。
-
zn “%SYS” と入力して、%SYS ネームスペースに変更します。
-
do ^TASKMGR と入力します。
-
オプション 2 を選択します。
-
編集するタスク番号を入力します。
-
Expires in how many days?、Expires in how many hours?、または Expires in how many minutes? に到達するまで Enter キーを押して、各オプションの既定値を保持します。
-
有効期限が切れる時期を編集するには、スケジュールする日数、時間、または分数を入力します。
この有効期限の値は、この時点で保存されます。
タスクのスケジュールや編集に必要な情報の詳細は、"インターシステムズ・クラス・リファレンス" の %SYS.TaskSuper クラスのドキュメントを参照してください。
オンデマンドタスク
[オンデマンドタスク] ページ ([システム処理]→[タスク・マネージャ]→[オンデマンドタスク])には、必要に応じて実行するようにスケジュールされたタスクが一覧表示されます。このリストには、タスク名、説明、およびタスクをこのページから [実行] するオプションが含まれています。 列見出しをクリックすることにより、テーブルの情報を並べ替えることができます。[実行] をクリックすると、[タスクの実行ウィザード] ページにタスク名と ID、およびタスクを実行する日付と時刻が表示されます。情報を確認し、タスクをスケジュールするには、[すぐに実行する] をクリックします。
実行予定タスク
[実行予定タスク] ページ ([システム処理]→[タスク・マネージャ]→[実行予定タスク]) には、特定の間隔内に実行される予定のタスクが一覧表示されます。間隔を選択するには、タスク・リストの左にある [実行予定 :] 検索ペイン内のオプションをクリックします。[日付] オプションを選択した場合、日付は yyyy-mm-dd 形式で入力するか、またはカレンダー・アイコンをクリックしてカレンダーから日付を選択することができます。
列見出しをクリックすることにより、タスク・リストの情報を並べ替えることができます。各タスクのスケジュールは、[一時停止] または [再開] の各オプションを使用して、一時停止または再開できます。
-
一時停止 — タスクを一時停止します。[タスクの実行予定時にタスクを再スケジュールしますか?] ドロップダウン・リストを使用して、以下のいずれかを指定します。
-
[いいえ] を指定すると、永久に停止されます。
-
[はい] を指定すると、現時点で一時停止し、実行が通常どおりスケジュールされたときに再開されます。
-
-
再開 — 一時停止されたタスクを再開できます。
タスクスケジュール
[タスクスケジュール] ページ ([システム処理]→[タスク・マネージャ]→[タスクスケジュール]) には、予定されているすべてのタスクが一覧表示されます。 列見出しをクリックすることにより、テーブルの情報を並べ替えることができます。各オプションを使用して、[詳細] や [履歴] を表示したり、スケジュールされたタスクを [実行] できます。
-
[taskname] — タスクに関する詳細を表示して、操作を実行できます。
-
[履歴] — タスクの履歴を表示します。
-
[実行] — タスクを実行できます。[タスクの実行] ウィザードには、タスク名と ID、およびタスクを実行する日付と時刻が表示されます。情報を確認し、タスクをスケジュールするには、[すぐに実行する] をクリックします。
タスクの詳細
予定されているタスクの詳細を表示し、操作のいずれかを実行するには、[タスク名] 列のタスク名をクリックします。[タスク詳細] ページには、選択したタスクの情報と実行詳細が表示されます。以下の適切なボタンをクリックして、タスクで以下の操作のいずれかを実行できます。
-
[編集] — [タスクスケジューラウィザード] を使用してタスク定義とスケジュールを変更できます。
-
[履歴] — タスクの履歴を表示できます。
-
[一時停止]→[再開] — [実行予定タスク] ページと同様に、タスクを一時停止したり、一時停止されているタスクを再開できます。
-
[削除] — タスクを永久に削除できます。
-
[エクスポート] — タスクをファイルにエクスポートします。その後、別の Caché インスタンスなどにより、そのファイルをインポートできます。
-
[実行] — タスクをスケジュールできます。[実行] をクリックすると、[タスクの実行ウィザード] ページにタスク名と ID、およびタスクを実行する日付と時刻が表示されます。情報を確認し、タスクをスケジュールするには、[すぐに実行する] をクリックします。
ここで説明したアクション・オプションには、タスクの実行中には使用できないものもあります。
スケジュールされたタスクの履歴
スケジュールされた個別のタスクの履歴情報を表示するには、項目の行にある [履歴] リンクをクリックします。[タスク履歴] ページには、選択したタスクの詳細履歴が表示されます。 [結果] 列は、最後にタスクが実行されたときの結果を [成功] またはエラー・メッセージで示します。列見出しをクリックすることにより、テーブルの情報を並べ替えることができます。
ページ上部の [詳細] リンクには、選択したタスクに対応する [タスク詳細] ページが表示されます。
タスク履歴
[タスク履歴] ページ ([システム処理]→[タスク・マネージャ]→[タスク履歴]) には、タスク・マネージャによって実行されたすべてのタスクの履歴が表示されます。列見出しをクリックすることにより、テーブルの情報を並べ替えることができます。
タスクのインポート
[タスクのインポート] ページ ([システム処理]→[タスク・マネージャ]→[タスクのインポート]) により、タスクのインポートと実行ができます。そのためには、以前にエクスポートしたタスク・ファイルを参照してから、[すぐに実行する] をクリックします。タスクをファイルにエクスポートする方法の詳細は、このセクションの "タスクの詳細" を参照してください。
[バックグラウンド・タスク] ページの使用
バックグラウンド・タスクとは、そのタスクを作成したプロセスから独立して、バックグラウンドで実行する非同期のジョブ・プロセスのことです。バックグラウンド・タスクは、ユーザが ObjectScript JOB コマンドを発行したときに作成されるか、完了までユーザが待機する必要のないジョブを管理ポータルまたはユーティリティで実行することで作成されます。例えば、ポータルを使用してデータベースの領域を削除すると (この章で前述した "データベースの領域の削除" を参照)、バックグラウンド・タスクが開始されます。
[バックグラウンド・タスク] ページ ([システム処理]→[バックグラウンド・タスク]) には、過去のバックグラウンド・タスクとアクティブなバックグラウンド・タスクが表示されます。過去のバックグラウンド・タスクについてのログは、いつでも削除できます。
バックグラウンド・タスクがアクティブのときには、そのプロセスは [プロセス] ページ ([システム処理]→[プロセス]) で確認することもできます ("Caché プロセスの制御" を参照)。