SQL Developerが起動しない
「SQL Developer」は、Oracle社が提供している、データベース開発ツールです。
GUIでテーブルの作成などのデータベースの管理を行なったり、SQLの実行、PL/SQLの開発をしたりできます。「SQL Developer」は、SQL*Plusのような「コマンドラインベース」のツールが苦手な人に向いており、Oracleデータベースの学習にも役立つツールです。
この記事では、「SQL Developer」が起動しなくなった時の対処法について紹介します。
SQL DeveloperにはJavaが必要
SQL DeveloperはJavaで作られており、JVM(JAVAの仮想マシン)上で動作するアプリケーションです。
Javaがインストールされていない端末では、SQL Developerは起動しないため、SQL Developerと一緒にJavaを入れるインストーラを使用するか、別の方法でJavaをインストールしておく必要があります。
Javaが見つからないエラーの対処
前述したように、SQL Developerを動かすには、端末(PC)にJavaをインストールする必要があります。
Javaがインストールされていない端末や、Java Homeの設定が誤っている端末では、SQL Developerは正しく起動しません。
また、SQL Developerを初回起動する時にダイアログで表示される、Java Homeの設定を誤ると、エラーが出て起動することができません。
Javaのインストール
まず、SQL Developerを利用する端末にJavaがインストールされていない時は、Javaを別でダウンロードするか、JDKが一緒に入っているSQL Developerをインストールします。
SQL Developerのインストール方法は、以下の記事で解説していますので、参考にしてください。
【関連記事】
▶SQL Developerを使ってみよう!資格取得の学習にも使える便利なツール
Java Homeの修正
SQL Developerを利用する端末にJavaはインストールされているが、Java Homeの設定が誤っている場合は、SQL Developer設定ファイルをクリアすることで、再度、初回起動時に表示されるJava Home選択ダイアログが表示されます。
では、設定ファイルをクリアする方法を解説していきます。
まず、次のパスにある設定ファイルを見つけます。
▪️ Windowsの場合
C:\Users\<user名>\AppData\Roaming\sqldeveloper\19.1.0\product.conf
▪️ macOSの場合
$HOME/.sqldeveloper/<product-version>/product.conf
テキストエディタで上で見つけた設定ファイルを開き、「Set JavaHome 」と書かれている行を探し、コメントアウトまた削除します。
# Set JavaHome C:\Program Files\Java\jdk1.8.0_51
編集が終わったら、設定ファイル(sqldeveloper.conf)を保存して、SQL Developerを起動すると、Java Homeの選択画面が表示されるため、JDKがインストールされているフォルダを指定します。
ヒープメモリ問題の対処
ヒープメモリの設定が大きすぎ(小さすぎ)てSQL Developerが起動しない時の対処法を解説します。
SQL Developerを起動するとき、Javaのヒープメモリの割当が大きすぎで、実際のメモリ空き容量を超えていると、SQL Developerの起動時に、次のようなエラーが表示されます。
(英語)
「Error occured during initialization of VM Could not reserve enough space for object heap」
(日本語訳)
「VMの初期化中にエラーが発生しました。オブジェクトヒープ用に十分なスペースを予約できませんでした」
ヒープメモリの割り当てを少なくする
前述のようなエラーが発生した場合は、SQL Developerに割り当てるヒープメモリの量を少なくことで、うまく起動するようになります。
ヒープメモリの設定は、次のパスのファイルに存在し、「-Xmx」および「-Xms」のオプションを適切に設定します。
▪️「sqldeveloperのインストール先\sqldeveloper\ide\bin\ide.conf」
#AddVMOption -Xmx640M
AddVMOption -Xmx512M
AddVMOption -Xms512M
- -Xmx size :メモリー割当てプールの最大サイズを指定します。
- -Xms size :Javaヒープ領域の初期サイズを指定します。
JVM(JAVAの仮想マシン)は、起動時に-Xmsに指定されたメモリをJavaヒープ領域に確保します。その後、Javaアプリ側で-Xmsで指定したサイズ以上のメモリが必要になった場合、-Xmsで指定したサイズまでJavaヒープ領域を割り当てます。
メモリの割り当ては少なすぎてもダメ
「-Xmx」や「-Xms」の値を限りなく小さくすれば、メモリの使用量を抑えられるのでは?と思うかもしれませんが、Javaヒープ領域の割り当てが少なすぎると、途中でメモリ不足になり「OutOfMemoryError」でSQL Developerが異常終了したり、そもそもSQL Developerが起動しなくなったりします。
SQL Developerの推奨環境
SQL Developerは便利なツールですが、多機能が故に、インストールするPCには、それなりのスペックが求められます。
以下の表は、Oracle社が公開している「SQL Developer」の推奨環境です。
WIndows
リソース | 推奨最小値 |
---|---|
OS | Windows Server 2008
Windows Server 2012 Windows 7 Windows 8 Windows 10 |
CPU | Pentium IV 2 GHz MHz以上 |
メモリ | 2GB RAM |
ディスク | 110MB Javaも一緒にインストールする場合は500MB |
Java | Windows用JDK 8または9 |
Mac
リソース | 推奨最小値 |
---|---|
OS | Apple Mac OS Xバージョン10.8.3 |
CPU | Dual 1.25GHz G4/G5(1GHz G4以上) |
メモリ | 2GB RAM |
ディスク | 110MB |
Java | JDK 8または9 |
SQL Developerを使う時は、「Eclipse」や「Visual Studio」などのアプリケーション開発ツールを一緒に起動する人も多いでしょう。そういう人は、上記の推奨環境よりもスペックが多い開発端末が用意いたほうが良いでしょう。
まとめ
SQL Developerが起動しない時の対処法を紹介してきました。SQL DeveloperはJavaで動作するアプリケーションのため、一般的なJavaアプリケーションと同様に、Java Homeの設定やヒープメモリの設定によって、正しく動作しないことがあります。
SQL Developerは、Oracle社公式のデータベースツールのため、サードパーティ製のツールの使用に制約がある開発現場などでも、SQL Developerは使えるといったこともあるため、トラブルシューティング対策を覚えておきましょう。