^STURECOVによる復旧方法を教えてください

cconsole.log に以下のようなエラーが出力され、Cachéの起動に失敗する場合があります。

その際の復旧手順をご紹介します。
 

-----------------------------------------------------------------
08/11-08:55:14:180 ( 2224) 1 errors during journal rollback, 
see console.log file for details. 
Startup aborted, entering single user mode. 

Enter Caché with 
c:\intersystems\cache\bin\cache -sc:\intersystems\cache\mgr -B 
and D ^STURECOV for help recovering from the errors. 
-----------------------------------------------------------------



これは、ジャーナルファイルの破損によるCache起動時のリカバリ処理がエラーになっているということなので、通常起動を行わないで(例:ジャーナルの適用を行わない)、起動処理を行います。

【手順】
1. コマンドンプロンプトより、以下を実行します。
 

> cd C:\intersystems\cache\bin  <- \binへ移動
> css force cache


2. 一旦、通常起動処理(STU)を行わないようにして起動します

2-1) Windowsの場合は、タスクマネージャで、全 cache.exe がないのを確認後、通常起動処理(STU)を行わないようにして起動します。
 

> ccontrol startnostu cache     <---- cache=構成名 "nostuモード":あとで手動でSTUを行う。
                                                    ※nostu ― スタートアップ・ルーチンを実行しません (^STU)。
> cache -s..\mgr -B             <---- 空白に注意


2-2) Windows 以外の場合は、ps コマンドで cache プロセスが存在しないことを確認後、通常起動処理(STU)を行わない開始を指定します。

> ccontrol start cache nostu

> ccontrol session cache -B


​​​​​以下、2-1) 2-2) 共通です。

%SYS> というプロンプトになったらログイン成功です。

※古いバージョンは、...\intersystems\cache\mgr\> のようなプロンプトです。
※「Use emergency login to login to the system」 のメッセージが出て、上記プロンプトにならない場合、コマンドプロンプトを起動しているユーザが管理者(administrator または administrators グループ所属)であることを確認してください。

 また、UACが有効になっている環境では、コマンドプロンプトを「管理者として実行」が必要になる場合もあります。

3. STURECOV ルーチンを実行してジャーナルリカバリ情報をリセットします

%SYS> do ^STURECOV
Do you want to continue ? No => yes          <---- yes
Enter error type (? for list) [^] => JRN     <---- JRN入力
Journal recovery options
...
8) Reset system so journal is not restored at startup
...
Enter choice (1-10) or [Q]uit/[H]elp? 8      <---- 8入力
Are you sure you want to do this? No => yes  <---- yes
Journal recovery options
...
Enter choice (1-10) or [Q]uit/[H]elp? quit   <---- quit
Exiting
%SYS>


4. STUルーチンを実行して通常の起動処理を行います
 

%SYS>d ^STU                    <-----
Start Journaling? Yes => Yes
%SYS>


5. キューブが青色に変更したら成功です。
  ※halt か exit でターミナルを抜ける

その後、念のためキューブからCachéを再起動し、再起動が成功したら、cconsole.log を確認してください。

最後の起動時にエラーが存在しなければ、復旧処理は完了です。

※復旧後は必ず整合性チェック (Do ^INTEGRIT または 管理ポータル > [システムオペレーション] > [データベース] > [整合性チェック]) を行うようにしてください。


該当する製品: Caché, Ensemble, 旧HealthShare
関連トピック:
添付ファイル:

アンケートにご協力をお願いします
このトピックは参考になりましたか?
このトピックに関するお問い合わせ

FAQトップに戻る