Oracle SQL Developer を導入する【Oracle Instant Client 編】

Oracle Database の管理ツールとして無償配布でありデバッグもできる、といえば「Oracle SQL Developer」です。(詳細は「SQL Developer とは何ですか?」参照)
SQL Developer そのものは zip 解凍するだけで利用できますが、データベースに接続するためには通常、Oracleクライアントを別途インストールする必要があります。借用PCやセキュリティの関連でインストールはしたくない、という人のために、今回はインストールを含めてWindowsの環境周りの設定を一切行わずに Oracle SQL Developer を利用するための手順をご紹介したいと思います。
尚、データベースは既に導入済であることが前提で、SQL Developer を利用するOSは Windows10 で行っています。

関連ソフトウェアの入手

必要なソフトウェアは「Oracle SQL Developer」と「Oracle Instant Client」のふたつです。
それぞれ ORACLE社のダウンロードサイトからダウンロードを行います。尚、ダウンロードには Oracle プロファイルが必要です。無料で作成できますので、お持ちでない場合は以下の「プロファイルの作成」から作成しておいてください。詳細は割愛します。

Oracle プロファイルへのサインインページ

Oracle SQL Developer

Oracle SQL Developerのダウンロード」からダウンロードします。「Windows 64ビット、JDK 8が付属」を利用します。この時点で最新版がダウンロードできます。2021/9/8 時点では"20.4.1″でした。

Oracle SQL Developer のダウンロード

先に結論を書きますが、最新版(20.4.1)では、この時点でリリースされている Oracle Instant Client の最新版(19.12)を利用するように設定したときの「テスト(後述します)」で以下のようなエラーが発生します。ただし無視して進めてもなぜか接続できてしまいます。上位互換があるからだと思いますが、気持ち悪い人はバージョンを合わせると良いでしょう。

クライアント・ディレクトリをテストしています...OK
Oracle JDBCドライバのロード中をテストしています...OK
Oracle JDBCドライバのバージョンを確認していますをテストしています...失敗: 
  必要な最小ドライバ・バージョンは21.0ですが、指定されたドライバ・バージョンは19.12.0.0.0です

過去のバージョンをダウンロードしたい場合は前述のダウンロードページに「以前のバージョン」というリンクがあるので、そちらを辿るとひとつ前のバージョンのページに遷移します。
以下のスクリーンショットの中央部付近です。私は遡って"19.1.0″をダウンロードしました。

以前のバージョン

Oracle Instant Client

Instant Clientのダウンロード – Oracle」からダウンロードします。「Instant Client for Microsoft Windows (x64)」を利用しますので、そちらをクリックします。

Instant Client のダウンロードその1

インストール手順が表示された画面に遷移します。

Instant Client のダウンロードその2

なんだか「たらいまわし感」がありますが、実際のダウンロードは「こちら(USサイト)」をクリックして進めます。パッケージには「Basic Package」と「Basic Light Package」があります。後者でも動作すると思いますが、私は「Basic Package」をダウンロードしました。

Instant Client のダウンロードその3

インストール手順

ダウンロードファイルの展開

以下が今回ダウンロードしたファイルです。これらを任意のフォルダに展開します。
例とするフォルダ名も記載しておきます。

  • sqldeveloper-19.1.0.094.2042-x64.zip → C:\tools\sqldeveloper
  • instantclient-basic-windows.x64-19.12.0.0.0dbru.zip → C:\tools\sqldeveloper\instantclient_19_12

実行するための準備作業

Oracle Instant Client は展開のみでインストーラー等はありません。このOracle Client を利用するためには本来以下のような設定が必要になります。

使用している環境のライブラリ・ローディング・パスを、手順2のディレクトリ("instantclient")に設定します。UNIXプラットフォームでは、LD_LIBRARY_PATHがこれに対応する環境変数です。Windowsプラットフォームでは、 PATH環境変数を使用します。

https://www.oracle.com/jp/topics/technologies/winx64soft.html

しかしながら、今回は環境周りの設定を行わずに SQL Developer を実行したいのでシステム詳細設定からのPATHの設定は行わず、PATH設定を行って起動するためのスクリプト(.bat)を作成することにします。
以下の通りのBATファイルを SQL Developer を展開したフォルダに配置します。
(C:\tools\sqldeveloper\sqldeveloper.bat)

@echo off
set top=%~dp0
set path=%top%\instantclient_19_12;%path%
set tns_admin=%top%
start %top%\sqldeveloper.exe

少し解説しておきますと、TNS_ADMIN という環境変数ですが、Oracle のネットワーク関連のパラメータファイル(tnsnames.ora、sqlnet.ora)を参照するためのディレクトリを指しています。今回はいずれのファイルも利用しませんので、TNS_ADMIN は定義するだけになります。
(参考:「TNS_ADMINパラメータについて」)

SQL Developer の実行

いよいよ SQL Developer を実行しますが、前項で作成した「sqldeveloper.bat」から実行することを忘れないでください。実行すると以下のような画面が表示されます。過去に別バージョンを実行している場合はその設定を引き継ぐことができます。今回は最初なので「いいえ」を選択します。

インポート・プリファレンスの確認

以下は起動した直後ですが、右ペイン中央に「データベースが検出されました」と出ています。これは自動でローカルのデータベースを検出して接続設定を簡易化できるものですが、今回は完全に手動で設定を行うので無視してください。

SQL Developer の起動

Oracle Client の構成を設定

メニューバーより「ツール」→「プリファレンス」を選択します。

プリファレンスの起動

表示された設定画面(プリファレンス)の左ペインより「データベース」→「拡張」を選択します。

データベース:拡張

右ペイン中央右にある「構成」ボタンをクリックし、Oracle Client の構成情報を設定します。
 クライアントタイプ:インスタント・クライアント
 クライアントの場所:Oracle Instant Client を展開したフォルダ

Oracle Clientの構成

ここで「テスト」ボタンをクリックします。これで該当箇所にドライバや必要なライブラリがあるかどうかをチェックします。一番上位の画面上にテスト結果が表示されます。Instatnt Client のフォルダに PATH が通ってないなと、この「テスト」が失敗します。

Oracle Client のテスト

問題なければ、「OK」ボタンをクリックして前画面に戻ります。
さらに「Oracle Client の使用」「OCI/Thickドライバの使用」の2箇所のチェックボックスをONにして「OK」ボタンをクリックします。

「変更を適用するためには再起動が必要です。今すぐ再起動しますか。」と再起動の確認ダイアログが表示されます。ここの再起動は SQL Developer の再起動なので「はい」をクリックして再起動します。

データベース接続の作成

データベースへの接続設定を追加するためには左上ペインの「Oracle接続」で右クリック→「接続の作成」またはその上にある「+」ボタンをクリックします。

必要事項を入力します。わたしの環境はローカルにデータベースをインストールしていますので接続先のホストは"localhost"にしています。ここはご利用環境に応じて設定ください。

データベース接続の作成

「テスト」ボタンをクリックすると入力した接続情報を使ってデータベース接続を試行します。左下のステータス欄に「成功」と表示されれば接続情報は問題ないので保存します。

テストの実行

そのまま「接続」ボタンをクリックするか、最初の画面に追加された接続情報の「+」ボタンをクリックすることで接続されます。以下のようにオブジェクトツリーが表示されていれば接続成功です。

接続した結果

アンインストール手順

アンインストールといっても、元々インストーラは使っていないので展開したフォルダを削除することでアンインストールは完了します。ただし、設定した接続情報等は別のところに情報を保持しています。

  • %USERPROFILE%\AppData\Roaming\SQL Developer
  • %USERPROFILE%\AppData\Roaming\sqldeveloper

完全に削除したい場合は上記フォルダも削除してください。