エラー概要
Dbeaverで、3GBくらいあるCSVファイルをインポートしていたら、以下のエラーになりました。
SQLエラー: JDBCドライバの内部エラー
Java heap space
原因
エラーは、Java仮想マシン(JVM)のヒープメモリが不足しているよ、ということを示しています。
CSVファイルの大きさやデータベースへのインポート操作がメモリを多く消費する場合に発生することがあるらしい。
JDBC(Java Database Connectivity)ドライバというのは、Javaプログラムからデータベースに接続し、データベースとの対話を可能にするJavaライブラリ。DBeaverはこちらを使用するデータベースツールなんですね。
対策
CSVファイルを単純に分割してインポートする、という方法もありますが、面倒なので、他に手はないかなと調べていたら以下記事にも同じエラー対応がありました。
参考:[Mac]DBeaverでJava heap spaceが出た時の対処法
ということで、メモリの割り当てを増やすことにしました。
cd /Applications/DBeaver.app/Contents/Eclipse/
vi dbeaver.ini
ここで、-Xmx1024m
というデフォルトの数値を-Xmx4096m
に変更してあげます。
十分なメモリが確保されたので、エラーが表示されなくなり、インポートプロセスがスムーズに実行できました。
ちなみに-Xmx
はJVMの最大ヒープメモリサイズを設定するオプション。
-Xms64m
はヒープメモリの最小値(最小割り当て量)。