Oracle Instant Clientをインストールする

Oracle Instant Clientをインストールする

私はOracle SQL Developerを16.04で動作させようとしています。PhatHVの回答に従ってこれ質問ですが、デスクトップアプリは正常に開き、正しく表示されますが、データベースに接続しようとすると(Windowsで同じデータベースに接続したことがあるので、これは機能するはずです)、エラーウィンドウがポップアップ表示され、

An error was encountered performing the requested operation:

no ocijdbc12 in java.library.path

Vendor code 0

このエラーの原因と修正方法をご存知の方はいらっしゃいますか?

答え1

私の場合、LD_LIBRARY_PATH 環境変数を Instant Client ディレクトリに設定した場合のみ機能し、/etc/ld.so.conf.d/oracle.conf で設定しても実行されませんsudo ldconfig

答え2

さて、私は (いくらか助けを借りて) 2 台の別々のコンピューターでこの問題を解決することができましたが、解決までにかなり時間が経っているため、解決のために行ったすべてのことを覚えているわけではありません。少なくとも覚えていることを記載しますが、後でこの回答を修正するかもしれません。私は内部のすべてを理解しているわけではないので、不要な手順がある場合はお詫びします。ただし、元の質問で述べたように、私は PhatHV による別の回答に従ったので、そこに記載された手順をここで繰り返すつもりはありません。ここに来る前に、彼のチュートリアルに従っていることが前提となります。

Oracle Instant Clientをインストールする

SQL Developerバージョン4.2.0では、Instant Clientのバージョン12.2.0.1.0を入手する必要がありました。ダウンロードは次の場所にあります。ここ. アーキテクチャに対応する「Instant Client for Linux」を選択します (私は 64 ビット マシンを使用しているため、x86-64 オプションを開きました)。次の 5 つのファイルをダウンロードします (適切なバージョン番号とアーキテクチャに置き換えてください)。

  • Oracle-インスタントクライアント12.2-ベーシック-12.2.0.1.0-1.x86-64.rpm
  • Oracle-インスタントクライアント12.2-devel-12.2.0.1.0-1.x86-64.rpm
  • Oracle-インスタントクライアント12.2-jdbc-12.2.0.1.0-1.x86-64.rpm
  • Oracle-インスタントクライアント12.2-odbc-12.2.0.1.0-1.x86-64.rpm
  • Oracle-インスタントクライアント12.2-sqlplus-12.2.0.1.0-1.x86-64.rpm

まだインストールしていない場合は、次のツールをインストールする必要がありますalien:

sudo apt-get install alien

ダウンロード ディレクトリ (またはファイルを保存した場所) に移動し、sudo alien -i各ファイルに対して を実行してインストールします。 を使用するのalienは、インストールする前にまず に変換するためです.deb。注:alienはすぐには多くの出力を生成しないため、何も実行していないように見えるかもしれませんが、実際には実行されています。

sudo alien -i oracle-instantclient12.2-basic-12.2.0.1.0-1.x86-64.rpm
sudo alien -i oracle-instantclient12.2-devel-12.2.0.1.0-1.x86-64.rpm
sudo alien -i oracle-instantclient12.2-jdbc-12.2.0.1.0-1.x86-64.rpm
sudo alien -i oracle-instantclient12.2-odbc-12.2.0.1.0-1.x86-64.rpm
sudo alien -i oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86-64.rpm

プロファイルと環境変数を編集する

これらすべてのコマンドを実行するには、root ユーザーである必要があります。 を実行して、sudo suroot としてログインします。

以下の内容を含むように編集します/etc/profile.d/oracle.sh

export ORACLE_HOME=/usr/lib/oracle/12.2/client64
export TNS_ADMIN=/usr/lib/oracle/ora
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

ここで、変数のバージョン番号に注意してくださいORACLE_HOME。 も繰り返しますが、私のは です12.2が、他のものになっている可能性があります。 を設定することも一般的ですが、ファイルがバージョン依存のディレクトリ ( など)に存在しないTNS_ADMIN=$ORACLE_HOME/oraように、私は設定しないことを選択しました。.ora12.2

編集/etc/ld.so.conf.d/oracle.confして含む

/usr/lib/oracle/12.2/client64/lib/

もう一度、バージョン番号をメモしてください。

最後に、/etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/default-java/"
CLASSPATH=/usr/lib/jvm/default-java/lib:/usr/lib/jvm/default-java/include:/usr/lib/oracle/12.2/client64/lib

これらのファイルの編集が終わったら、

ldconfig
source /etc/profile.d/oracle.sh
source /etc/environment

通常のユーザーに戻るには、押す<Ctrl> + Dか入力します。exit

サードパーティドライバーとして追加

この手順が厳密に必要かどうかはわかりませんが、私のコンピュータでは機能します。SQL Developer を開くと、 に移動してTools -> Preferences -> Database -> Third Party JDBC DriversをクリックできますAdd Entry。 を開いて/usr/lib/oracle/12.2/client64をクリックしますlib。 がハイライト表示されるので、クリックしてselectリストに追加できます。

この手順の後、SQL Developerを閉じて再度開く必要があります。これをすべて完了したら、うまくいけばこれ以上エラーは発生しなくなります。

関連情報