wslのUbuntuに、Oracleのsqlplusをインストールします。以下のブログを参考に実施しており、自分の今まで知らなかった点を追記しています。
WSLのUbuntuにsqlplus(Oracle client)を入れる
環境情報
- Windows10 (1809 17763.557)
- wsl(Ubuntu 18.04)
- sqlplus 19.3.0.0.0
作業
モジュールのダウンロード
Oracleのサイトに行って、以下モジュールのrpmパッケージのものをダウンロードしてきます。Ubuntuだけど、rpmパッケージでOK。
Instant Client Downloads for Linux x86-64 (64-bit)
deb形式に変換
rpmパッケージをdebパッケージに変換するため、 alien
をインストールします。
Alienはジョイ・ヘス(Joey Hess)によって作成された、異なるLinuxパッケージの間で相互変換を行うプログラムである。 AlienはLinux Standard Base、RPM、deb、Stampede (.slp)、Solaris (.pkg)そしてSlackware (.tgz)各パッケージ間の相互変換をサポートしている。
こんなものがあるんですね。
$ sudo apt -y install alien
で、このalienを利用してダウンロードしてきたrpmパッケージを、debパッケージに変換します。
$ sudo alien --to-deb oracle-instantclient19.3-basic-19.3.0.0.0-1.x86_64.rpm $ sudo alien --to-deb oracle-instantclient19.3-sqlplus-19.3.0.0.0-1.x86_64.rpm $ sudo alien --to-deb oracle-instantclient19.3-devel-19.3.0.0.0-1.x86_64.rpm
変換した作成したdebパッケージをインストールします。
$ sudo dpkg -i oracle-instantclient19.3-basic_19.3.0.0.0-2_amd64.deb $ sudo dpkg -i oracle-instantclient19.3-sqlplus_19.3.0.0.0-2_amd64.deb $ sudo dpkg -i oracle-instantclient19.3-devel_19.3.0.0.0-2_amd64.deb
libaio1のインストール
公式でインストールしておいてと言われているライブラリ libaio1
を追加しておきます。
このライブラリにより、ユーザースペースから Linux kernel の非同期 I/O システムコールを呼び出せるようになります。データベースその他の進んだ アプリケーションの性能上重要です。
$ sudo apt install libaio1
環境変数の設定
.bash_profile
に、各種環境変数情報を記載しておきます。
export ORACLE_HOME=/usr/lib/oracle/19.3/client64 export PATH=~/.local/bin:~/bin:$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
確認
ログインし直して環境変数を有効にすると、sqlplusを利用できるようになっています。
$ sqlplus /nolog SQL*Plus: Release 19.0.0.0.0 - Production on Thu Aug 22 05:16:26 2019 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. SQL>