UbuntuにSQL*Plusをインストールする方法

以前、Windows10にSQL*Plusをインストールしました。

ponsuke-tarou.hatenablog.com
RDSのOracleにEC2のUbuntuからSQL*Plusを使って接続したいと思います。
なので今回は、EC2のUbuntuSQL*Plusをインストールしたいと思います。

rpmをダウンロードします。

インスタンスタイプが小さく動きが悪いのでダウンロードだけリモートデスクトップ接続で行い、あとはSSH接続してコマンドで実施します。

  1. リモートデスクトップ用ユーザーでUbuntuリモートデスクトップ接続してブラウザを起動します。
  2. Oracleのサイトからからパッケージをダウンロードします。

Alienコマンドでrpmパッケージをdebパッケージに変換します。

Alienをインストールします。

Ubuntuは、Debian GNU/Linuxをベースとしたオペレーティングシステムです。
Debianでは、debパッケージでソフトウエアをインストールします。
Alienは、rpmdebパッケージに変換してくれるプログラムです。

# 1. SSHでUbuntuに接続します。
$ ssh -i .ssh/秘密鍵.pem ubuntu@xx.xx.xx.xx
Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-1060-aws x86_64)

 * Documentation:  https://help.ubuntu.com
# ...省略...
Last login: Fri Mar  6 12:27:00 2020 from 153.242.66.11

# 2. aptでAlienを検索します。
$ apt search alien
Sorting... Done
Full Text Search... Done
alien/bionic 8.95 all # <<<<< これをインストールします。
  convert and install rpm and other packages

alien-arena/bionic 7.66+dfsg-4 amd64
  Standalone 3D first person online deathmatch shooter
# ...省略...

# 3. Alienをインストールします。
$ sudo apt -y install alien
Reading package lists... Done
Building dependency tree       
Reading state information... Done
# ...省略...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...

# 4. インストールされたことの確認にバージョンを確認します。
$ alien --version
alien version 8.95

rpmパッケージをdebパッケージに変換します。

xtech.nikkei.com

# 1. rpmのダウンロード先であるリモートデスクトップのユーザーのDownloadsディレクトリに移動します。
$ cd /home/ponsuke/Downloads/

$ ls -la | grep rpm
-rw-rw-r--  1 ponsuke ponsuke 26731248 Mar  6 21:42 oracle-instantclient12.2-basiclite-12.2.0.1.0-1.x86_64.rpm
-rw-rw-r--  1 ponsuke ponsuke   708104 Mar  6 21:44 oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm

# 2. rpmパッケージをdebパッケージに変換します。
$ sudo alien -c oracle-instantclient12.2-basiclite-12.2.0.1.0-1.x86_64.rpm 
oracle-instantclient12.2-basiclite_12.2.0.1.0-2_amd64.deb generated
# -cオプション : パッケージのインストール時・アンインストール時に実行されるスクリプトも変換する
$ sudo alien -c oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm 
oracle-instantclient12.2-sqlplus_12.2.0.1.0-2_amd64.deb generated

SQL*Plusをインストールします。

dpkgコマンドでインストールします。

「dpkg」とはdebianのパッケージである「deb」ファイルを取り扱うコマンドである。名前の由来は「Debian Package」の略とされている。
Debianのパッケージ管理システムは他のディストリビューションに比べて最も高度な部類だ。
dpkg単体でもパッケージのインストールやアンインストールは一応に可能だが、実際にはパッケージの操作及び統合管理は「apt」系のコマンド「apt-get」や「aptitude」などで行なわれる。これにより依存関係の解決が行われ、必要なパッケージが自動的に導入される。
debファイルを扱うdpkgコマンドの使い方を簡単解説

# 1. dpkgコマンドでインストールします。
$ sudo dpkg -i oracle-instantclient12.2-basiclite_12.2.0.1.0-2_amd64.deb oracle-instantclient12.2-sqlplus_12.2.0.1.0-2_amd64.deb 
Selecting previously unselected package oracle-instantclient12.2-basiclite.
(Reading database ... 157738 files and directories currently installed.)
Preparing to unpack oracle-instantclient12.2-basiclite_12.2.0.1.0-2_amd64.deb ...
Unpacking oracle-instantclient12.2-basiclite (12.2.0.1.0-2) ...
Selecting previously unselected package oracle-instantclient12.2-sqlplus.
Preparing to unpack oracle-instantclient12.2-sqlplus_12.2.0.1.0-2_amd64.deb ...
Unpacking oracle-instantclient12.2-sqlplus (12.2.0.1.0-2) ...
Setting up oracle-instantclient12.2-basiclite (12.2.0.1.0-2) ...
Setting up oracle-instantclient12.2-sqlplus (12.2.0.1.0-2) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...

# 2. イントールされたことを確認します。
$ which sqlplus64
/usr/bin/sqlplus64

SQL*Plus用の環境変数を.profileに設定します。

# 1. ログインユーザーのホームディレクトリに戻ります。
$ cd ~
$ ls -la | grep profile
-rw-r--r-- 1 ubuntu ubuntu  807 Apr  4  2018 .profile

# 2. インストール先を確認します。
$ find /usr/lib/oracle/12.2/client64/ -type d
/usr/lib/oracle/12.2/client64/
/usr/lib/oracle/12.2/client64/lib
/usr/lib/oracle/12.2/client64/bin

# 3. SQL*Plus用の環境変数を.profileに設定します。
$ vi .profile 
# ↓ここから追記するところ
# SQL*Plusのインストール場所を指定する環境変数。
export ORACLE_HOME=/usr/lib/oracle/12.2/client64
# UNIXおよびLinux上のライブラリの検索に使用するパスを指定する環境変数。
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
# グローバリゼーション機能を指定する環境変数。
export NLS_LANG=Japanese_Japan.UTF8

export PATH=$ORACLE_HOME/bin:$PATH
# ↑ここまで追記するところ

# 4. 環境変数を反映します。
$ source .profile 

# 5. 環境変数を確認します。
$ printenv | grep -i oracle
LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib:
ORACLE_HOME=/usr/lib/oracle/12.2/client64
PATH=/usr/lib/oracle/12.2/client64/bin:...省略...

SQL*Plusを起動してみます。

# 起動しました。
$ sqlplus64

SQL*Plus: Release 12.2.0.1.0 Production on 月 39 14:17:17 2020

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

ユーザー名を入力してください: 

失敗したこと

i386.rpm is for architecture i386 ; the package cannot be built on this system

qiita.com

sqlplus: command not found

qiita.com


f:id:ponsuke_tarou:20161113101208j:plain