ページの先頭です。
ここから本文です。

よくあるご質問(サポートFAQ)

【StarOffice】 StarOfficeX: アプリケーションのイベントログに警告でPERCIOカーネルエラー21番、23番が出力される

質問内容

StarOffice Xサーバのイベントログに、以下の警告が出力されます。

  警告,2013/11/21 9:06:21,PERCIO kernel,3,なし,PERCIOカーネルエラー21番が発生しました: デッドロックが発生しました
  警告,2013/11/21 9:06:18,PERCIO kernel,3,なし,PERCIOカーネルエラー23番が発生しました: ロックが時間ぎれになりました

出力される原因、対応について教えてください。

回答内容

該当エラーは、EDS(ディレクトリ)とキャビネットで使用しているPERCIOデータベースで、処理の競合が発生していることを示します。
利用状態が高負荷の場合に発生します。
いずれの場合も、通常運用で発生し得るエラーで、たまに発生している程度であれば問題のないエラーです。
利用者の画面にエラーが頻繁に表示されて利便性が低下している状況の場合や、ログにエラーが多数記録されすぎて運用に支障をきたしている場合には、チューニングや負荷を減らす運用方法、サーバ構成の見直し等を検討する必要があります。

●EDS(ディレクトリ)の処理で発生した場合:
EDSでは、データベースの整合性を保つために共有排他制御を行なっています。
データベースの参照や更新が行なわれる際に、参照・更新対象のロックを取得できなかった場合には、その操作は一旦取り消され、再度実行されます。
このとき、イベントログに「PERCIOカーネルエラー21番」が出力されます。

既定値では6回再実行しても、ロックを取得できなかった場合には、参照・更新操作がエラーとなります。リトライ回数が6に達していなければ、リトライにより処理は成功していますので、運用に問題はありません。

リトライ回数は、EDSのエラーログファイル
  <StarOfficeフォルダ>\EDS\LOG\Error.log
に以下のような記録で出力されています。

=====================================
 [E] 2013/11/21 09:06:21 EDldapd.exe[03316,M280097]: [2027] In rollback(1) PERCIO error[21] occured (retry = 4)
 [E] 2013/11/21 09:06:18 EDldapd.exe[03396,M280097]: [2027] In rollback(1) PERCIO error[23] occured (retry = 1)
=====================================
(retry = x)のxがリトライ回数を表しています。

リトライ回数が5以下であれば対処は不要です。

頻繁に(retry = 6)が出力されている場合は、ディレクトリサーバへの負荷が集中しないように運用やサーバ構成を見直すなどの対策を検討してください。

既定値では、6回再実行してもロックを取得できなかった場合には、参照・更新操作がエラーとなります。
リトライ回数が6回に達していなければ、リトライにより処理は成功していますので、運用に問題はありません。

●キャビネットサーバの処理で発生した場合
キャビネットサーバにおいても、排他制御を行っています。
PERCIOカーネルエラー21番または23番が発生した場合、キャビネットサーバの既定の設定では3回まで処理のリトライを行います。
3回リトライして処理できなかった場合には、利用者のWeb画面(キャビネット/掲示板画面)には、以下のいずれかのダイアログメッセージが表示されます。

ダイアログメッセージ:
「現在、負荷が集中しています。しばらく待ってから、操作し直してください。(code=0x40280a07)」

「現在、負荷が集中しています。しばらく待ってから、操作し直してください。(code=0x40280a08)」

これらのエラーが発生した場合には、キャビネットサーバの以下のログファイルにエラーコード40280a07または40280a08のエラーが記録されます。

<StarOfficeフォルダ>\Cabinet\Server\Log
  ・sbxc_om.log  ・・・(キャビネットAPIから利用時のキャビネットサーバの情報)
  ・omservice.log・・・(キャビネットサーバのサービス自体のトレース情報)

ログに記録されるエラーの例: 
sbxc_om.logには、以下のようにエラー1回毎に4行で1セットのエラーが出力されます。(何回目のリトライかという情報は出力されません。)
=====================================
I 2013/04/16 22:06:13 00000A20 Return:  Error:  (0x40280a07) OmCCommitTransaction. Transaction error. (line=161)
I 2013/04/16 22:06:13 00000A20 (USER01 , no objectid ) 
I 2013/04/16 22:06:13 00000A20 Return: Error: (0x40280a07)OmCreateObject:Call OmCommitTransaction function fail.(Line=1747)
I 2013/04/16 22:06:13 00000A20 (USER01 , no objectid ) 
=====================================

キャビネットサーバが原因で頻繁にPERCIOカーネルエラー21番または23番が発生している場合は、キャビネットサーバへの負荷が集中しないように運用やサーバ構成を見直すなどの対策を検討してください。


●参考(詳細)
PERCIO処理競合について詳細は下記マニュアルをご参照ください。

  StarOffice X ~運用管理者編~ リファレンスガイド
   第 1 章 キャビネット・掲示板
      - エラーメッセージ一覧
         - PERCIO処理競合について
   第 10 章トラブルシューティング
      - ディレクトリ
         - EDSのエラーログに「In rollback(1) PERCIO error[21] occured」や「In rollback(1) PERCIO error[23] occured」と出力される」

※StarOffice Xのバージョンによっては章番号が異なる場合がございます。

製品名カテゴリ

StarOffice X

関連情報

  • StarOffice X マニュアル
  • コンテンツID: 3170100342
    StarOffice X の製品マニュアルになります。※StarOfficeの契約者様限定
  • コンテンツID: 3150107491
  • 公開日: 2014年05月30日
  • 最終更新日:2015年06月29日
ここからページ共通メニューです。 ページ共通メニューを読み飛ばす。