TECHNOLOGY

Tips !(使用上のテクニック)

対象バージョン : 9.0.2以降
対象OS : Windows、Linux

ST0510048

ディスクの空き容量不足による障害を回避する

Tips !

データベース・サーバは、クエリ処理中のワーク・テーブルを保存する為にテンポラリ・ファイルを使用していますが、このテンポラリ・ファイルが大きくなり、使用可能なディスク領域を全て使用してしまうと、データベース・エンジンがアサーションを起こしたり、OSそのものが動作しなくなる等の障害が発生してしまいます。

Anywhere 9.0.2の新機能である TEMP_SPACE_LIMIT_CHECK データベース・オプションを使用すると、データベース・エンジンがテンポラリ・ファイルとして使用するディスクのサイズを監視し、要求された領域サイズが制限を越えた場合に、その要求をキャンセルすることで上記の問題を回避することができます。

このオプションがONに設定されると、テンポラリ・ファイルが最大サイズの80%以上になり、さらに追加のテンポラリ・ファイルが要求された時に、その接続の要求が許容されるテンポラリ・サイズを越えていないかチェックされます。その接続が、許容されるテンポラリ・サイズよりも大きいテンポラリ・サイズを要求している場合、その接続の要求は失敗し、エラー SQLSTATE_TEMP_SPACE_LIMIT が返されます。

デフォルトではこのオプションはOFFとなっておりますので、データベース・エンジンはディスクの空き領域が無くなるまでテンポラリ・ファイルを拡張し続けます。

・テンポラリ・ファイルの最大サイズ:現在のテンポラリ・ファイルのサイズと、そのファイルが存在しているパーティションの空き領域の合計。

・許容されるテンポラリ・サイズ:テンポラリ・ファイルの最大サイズをアクティブな接続数で割った値。

上記 TEMP_SPACE_LIMIT_CHECK オプションの動作につきましては以下のマニュアルに記載されております。
 ASA データベース管理ガイド 
  データベース・オプション 
   アルファベット順のオプション・リスト 
    TEMP_SPACE_LIMIT_CHECK オプション [データベース]