記事
· 2020年10月25日 4m read

IRIS の開始に失敗し messages.log に ^STURECOV を使用して復旧するように記載されている場合の操作方法

これはInterSystems FAQ サイトの記事です。

IRIS の開始ができず、messages.log に以下のようなエラーが出力された場合の対処方法についてご説明します。

-----------------------------------------------------------------
08/11-08:55:14:180 ( 2224) 1 errors during journal rollback, 
see message.log file for details. 
Startup aborted, entering single user mode.  Enter IRIS with 
c:\intersystems\IRIS\bin\iris -sc:\intersystems\IRIS\mgr -B 
and D ^STURECOV for help recovering from the errors. 
-----------------------------------------------------------------

 

このメッセージは、ジャーナルファイルの破損による IRIS 開始時のリカバリ処理がエラーになっていることを示しています。

IRIS を開始するためには、通常の開始処理を行わず (例:ジャーナルの適用を行わない) 開始するように ^STURECOV を使用して手順を変更します。

具体的な手順は以下の通りです。

1) IRIS のインストールディレクトリ以下 bin ディレクトリへ移動し、以下のコマンドを実行します。

> cd C:\intersystems\IRIS\bin  <- \binへ移動
> iris force IRIS

 

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

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

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

 

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

> iris start iris nostu

> iris session iris -B

 

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

上記実行で、プロンプトに %SYS> が表示されたらログイン成功です。

【注意】Windows で実行する場合「Use emergency login to login to the system」 のメッセージ、または 
のメッセージが出力される場合は、コマンドプロンプトを起動しているユーザが管理者 (administrator または administrators グループ所属) であるか、ご確認ください。

また、Windows で 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>

%SYS>do ^STU    <---- do ^STUを入力 

Start Journaling? Yes => yes  <---- yes

%SYS>halt   <---- haltでIRISのログインを終了します

 

5) Windowsでは、IRISのランチャーがグレーからカラーの表示に変更したら成功です。Windows以外のOSでは、 iris list の結果から status が running であれば成功です。

確認後、halt でターミナルを抜けます。

iris list の実行例は以下の通りです。

$ iris list

Configuration 'IRIS'   (default)
                directory:    /usr/irissys
                versionid:    2020.1.0.215.0
                datadir:      /usr/irissys
                conf file:    iris.cpf  (SuperServer port = 51773, WebServer = 52773)
                status:       running, since Sat Apr 18 18:24:10 2020
                state:        ok
                product:      InterSystems IRISHealth
$

 

その後、IRIS を再起動し、再起動が成功したら、messages.log を確認してください。

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

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

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください