Windows のシャットダウン時にInterSystems製品を自動停止することはできますか?
これは InterSystems FAQ サイトの記事です。
Windowsのグループセキュリティポリシーに停止コマンドを記述したバッチファイルを登録する事により可能です。
手順は以下のとおりです。
1.Windowsのローカルコンピュータ・ポリシーのシャットダウンスクリプトに停止コマンドを登録します。
停止コマンドを含んだbatファイルを作成します。
CacheStop.bat ※InterSystems Caché の場合
c:\intersystems\cache\bin\ccontrol stop CACHE
IRISStop.bat ※InterSystems IRIS の場合
c:\intersystems\IRIS\bin\iris stop IRIS
2.[ファイル名を指定して実行(R) ]で mmc と入力し、管理コンソールを起動します。
3.管理コンソールから[スナップインの追加と削除]を選択します。
4.スナップインの追加と削除で「グループ ポリシー オブジェクト エディタ」を選択し、追加します。
5.グループ ポリシー オブジェクトの選択画面で完了ボタンを押します。
6.OKをクリックして完了します。
7.シャットダウンスクリプトを登録します。
[コンソールルート] > [ローカルコンピュータポリシー] > [コンピュータの構成] > [Windowsの設定] > [スクリプト] > [シャットダウン]
ダブルクリックまたは右クリック > [プロパティ] から設定します。
※Caché の場合は、CacheStop.batを設定します。
8.最後にコンソールを終了し設定を任意名で保存して終了します。
Microsoft管理コンソール(MMC: Microsoft Management Console)の使用方法については、添付資料をご覧ください。
【注記】
OSシャットダウン時には明示的なInterSystems製品の停止を推奨しております。
OSシャットダウン時にInterSystems製品がそれを検出できた場合、messages.log/cconsole.log に次のように記録して緊急シャットダウンを試みます。
Caché - Performing emergency Cache shutdown due to Operating System shutdown
IRIS - Operating System shutdown! InterSystems IRIS performing fast shutdown.
次回起動時には以下のようなエラーが記録されます。
Previous system shutdown was abnormal, system forced down or crashed
もし、この緊急シャットダウンが完了する前にOSのシャットダウンが進行してしまうと、緊急シャットダウンが間に合わず、データベースファイルへの書き込みやトランザクションのロールバックが正常に行われない場合もあります。
もちろん、次回開始時にWIJおよびジャーナルファイルを使用した回復は行われますが、極力そのような状況にならないように明示的なシャットダウンを行うのが安全です。
以下の関連トピックもあわせてご覧ください。
Linuxでシステム開始/停止時に、インターシステムズ製品を自動起動/停止することはできますか?
マシン名(ホスト名)を変更後OSを再起動すると、InterSystems IRIS が開始しなくなる