Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

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」「-Xms」とは?
  • -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は使えるといったこともあるため、トラブルシューティング対策を覚えておきましょう。

【関連記事】
SQL LoaderはOracleユーティリティ 制御ファイル定義でお手軽データロード可能

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。