locked
CreateThread がリソース不足を誤認してエラーを返す RRS feed

  • 質問

  • 現在、運用中の環境にて、下記の現象が発生致しました。

    オラクルのサポートに問い合わせた所、

    「Create Threadがリソース不足を誤認してエラーを返す」等、

    OS側で正しい動作が行われていない可能性があるとの返答を頂きました。

    過去事例として、その様な現象をご存知の方がいらっしゃれば、ご教示頂けませんでしょうか。

    <詳細>

    Windows Serverをオラクルデータベースサーバとして使用しています。

    先日、以下のイベントログが出力される様になり、データアクセスができなくなる現象が発生致しました。

    -->>ココから

    Oracle.orcl エラー

    イベント ID (31) (ソース Oracle.orcl 内) に関する説明が見つかりませんでした。

    リモート コンピュータからメッセージを表示するために必要なレジストリ情報またはメッセージ DLL ファイルが

    ローカル コンピュータにない可能性があります。この説明を取得するために /AUXSOURCE= フラグを使用することができる

    可能性があります。詳細については、ヘルプとサポートを参照してください。

    <<--ココまで

    また、データベースサーバのアラートログを確認したところ、以下のエラーが出力されていました。

    -->>ココから

    ORA-27300: OSシステム依存操作:CreateThreadがステータス:8で失敗しました。

    ORA-27301: OS障害が発生しました。メッセージ: このコマンドを実行するのに十分な記憶がありません

    ORA-27302: 障害が発生しました。場所: ssthrddcr

    <<--ココまで

    現象発生当時のリソース状況を確認した限りでは、リソース不足は認められていない為、

    OS側の動作として、問題が無いかの確認をしたいと考えています。

    <環境>

    OS:Windows Server 2003 R2 StandardEdtion Service Pack2

    HW:HP DL360 G6

    MW:Otracle Standard Edition One 11.1.0

    お手数お掛け致しますが、何卒、宜しくお願い致します。

    2012年11月21日 7:02

すべての返信

  • 「リソース状況を確認した」のは、どのリソースを確認されたのでしょうか?

    http://technet.microsoft.com/ja-jp/windows/ee424288

    • 回答の候補に設定 星 睦美 2012年11月28日 9:17
    2012年11月21日 8:58
  • ご確認頂き、ありがとうございます。

    メモリ使用率、及びCPU使用率を確認致しました。

    2012年11月21日 9:03
  • 詳細は先ほどの URL に書いてありますが、一般に、CreateThread が ERROR_NOT_ENOUGH_MEMORY (8) になるのは、ハードウェア リソースの使用率が原因ではないことが多いと思います。
    • 回答の候補に設定 星 睦美 2012年11月28日 9:16
    2012年11月21日 9:09
  • まつぼっくり さん、こんにちは
    フォーラム オペレーターの星 睦美です。

    HomeCloset さんの返信から参考情報と「ハードウェア リソースの使用率が原因ではないことが多い」のアドバイス、まつぼっくり さんの質問に書かれているOracle のサポートからの「OS側で正しい動作が行われていない可能性がある」をヒントに、私のほうでもWindows Server 2003 に関連した情報がないか調べてみました。

    Oracle 製品に関しては分からないので今回はキーワードを見つけて情報をたどりましたが、
    もしかしたら情報を探す際の参考のひとつになるかも知れないと思いますので順を追って書いてみました。

    1.Oracle のエラー(ORA-27300) を手がかりに検索したところ、以下の英語のブログがありました。

    ・Oracle10g ORA-27300 error:
    http://mrothouse.wordpress.com/2008/10/04/oracle10g-ora-27300-error/


    2.ブログに書かれている、関連情報のリンクをたどっていくとマイクロソフト サポート 情報 Windows の /3GB 起動スイッチを設定する方法 があります。
    このブログでは" /3GB 起動スイッチ" が解決の方法のようなので、" /3GB 起動スイッチ"をキーワードにします。

    3.つぎはOracle 製品に関する情報を探してみました。"Oracle" と "Windows Server 2003" をキーワードに検索したところ、以下のOracle の技術情報が見つかりました。

    ・1 WindowsでのOracle Databaseアーキテクチャ:
    http://docs.oracle.com/cd/E16338_01/win.112/b58885/architec.htm

    この中の「WindowsでのOracle Databaseのスケーラビリティ」の項で"Windowsの4GB RAM Tuning(4GT)" の説明があり、"4GB RAM Tuning" もキーワードに加えました。

    4.見つかった二つのキーワードの" /3GB 起動スイッチ" と"4GB RAM Tuning" で検索したところ、マイクロソフト サポート 情報 4 GB RAM チューニング機能と物理アドレス拡張のスイッチの説明 が見つかりました。

    ---

    (サポート情報から抜粋)
    →Boot.ini ファイルの /3GB スイッチと /PAE スイッチは、以下の製品で使用するためのものです。
    • Microsoft Windows 2000 Advanced Server
    • Microsoft Windows 2000 Datacenter Server
    • Microsoft Windows Server 2003 Enterprise Edition
    • Microsoft Windows Server 2003 Datacenter Edition

    注意 : マイクロソフトでは、運用環境における Active Directory での使用を目的とした、Windows Server 2003 Standard Edition の /3GB スイッチの使用をサポートしています。その他のアプリケーションについて、マイクロソフトが運用環境における Windows Server 2003 Standard Edition の /3GB スイッチの使用をサポートするのは、この環境でアプリケーション製造元のテストが行われていて、この機能を使用するユーザーのサポートが製造元で提供される場合に限られます。Microsoft Exchange Server 2003 および Microsoft SQL Server 2000 におけるこの機能の使用は、運用環境でもサポートされます。使用しているアプリケーションについて、そのアプリケーションの製造元にお問い合わせください。/3GB スイッチを使用すると、一部のアプリケーションで、アドレスの依存関係やカーネル領域の減少に関連する問題が発生する可能性があります。前述の場合を除いて、Windows Server 2003 Standard Edition の /3GB スイッチは、開発およびテストの目的でのみ使用してください。
    ---

    Oracle データベース サーバーは4GB RAM Tuning(4GT) に対応したアプリケーションで、英語のブログによれば、/3GB スイッチ を有効にしてORA-27300 のエラーを解消することができるようですが、Windows Server 2003 Standard Edition では運用環境でActive Directory での使用を目的とした以外にはサポートしていませんので、今回のまつぼっくりさんの質問の環境では /3GB スイッチ を有効にした場合には問題が発生する可能性がある、ということになります。

    あくまでも私が調べてみた範囲でのまとめですので、まつぼっくり さん ご自身がサポート情報を調べてみると別な情報が見つかるかも知れません。Oracle ユーザーのフォーラムがあれば、そちらでも情報を集めることができるのではないかと思います。また確実な情報が必要な際にはOracle のサポート窓口もしくはマイクロソフトのサポート窓口へのお問い合わせを検討いただければと思います。

    こちらの情報が手がかりのひとつになれば幸いです。


    日本マイクロソフト株式会社 フォーラム オペレーター 星 睦美






    • 編集済み 星 睦美 2012年11月28日 9:16 参考情報のリンク
    2012年11月28日 8:52
  • 度々申し訳ありません。

    OracleのVirtualBytesより、オラクルのメモリ使用量が不足していないことを確認しておりました。

    念の為、お伝え致します。宜しくお願い致します。

    2012年11月28日 11:24
  • ご確認頂き、ありがとうございます。

    ご指摘の通り、対象サーバは、現在、3GB スイッチが適用されています。

    ご案内頂いた内容を含め、「3GBスイッチ」をキーワードに詳細の確認をしてみたいと思います。

    2012年11月28日 11:41
  • オラクルのサポートより回答があり、

    OSパラメータ(IRPStackSize)の設定に起因して、ORA-27300、ORA-27301、ORA-27302 が発生する可能性があるとのことです。

    念の為、共有させて頂きます。

    お気付きの点がありましたら、ご教示頂けると幸いです。

    何卒、宜しくお願い致します。

    2012年11月30日 1:50