2011-12-26 4 views
0

私はjava/mysqlアプリケーションを持っています。私は私のJavaアプリケーションを使ってmysqlに巨大なデータを書いています。しかし、ディスクいっぱいの状態が原因で、mysqlがクラッシュすることがあります。 java/jdbcからmysql diskfullのシナリオを処理することは可能ですか?java mysql disk full

よろしく

+0

投稿してください。a)JDBCから取得したエラーb)ディスクがいっぱいになったときにやろうとしていたことc)mysqlサーバーエラーログのすべてのエラー。あなたが使用しているエンジンも参考になるかもしれません。ディスクが一杯になったときにMySQLがクラッシュしないようにしてください(私の経験上、その動作は常に役に立つとは限りません) – MarkR

答えて

0

java/jdbcからmysqlディスクフルシナリオを処理することはできますか?

はい。これは、おそらく例外の(MySQL固有の)コードに基づいて検出することができるJDBC更新ステートメントの失敗として現れます。

ただし、一度例外を検出すると、回復するためにできることがたくさんあることは疑いの余地があります。ディスクが一杯になった場合は、問題を解決するために人間の介入が必要です。例えば削除可能なファイルを探します。

2

これは、現在の行を記述するのに十分なスペースがあるかどうかを確認するために1分ごとにチェックします。十分なスペースがあれば、何も起こっていないかのように続きます。

10分ごとにログファイルにエントリが書き込まれ、ディスクフル状態を警告します。

は、下のリンクを参照してください:Javaコードを通じて28(フルディスク用):

http://dev.mysql.com/doc/refman/5.0/en/full-disk.html

は、MySQLのエラーコードを処理するようにしてください。

0

ディスク満杯状態が検出され、MySQLによって処理されると、結果としてINSERTクエリが失敗します。 Javaで処理する場合は、失敗したINSERTを処理します。

+0

他のSQL文も失敗すると思います。 –