here の指示に従ってsqlplusをインストールしてみました。私はまだ得ています:
sqlplus: command not found
端末からsqlplus
するとき。
私はUbuntuの初心者で、Ubuntu 12.04を使用しています。
まず、ダウンロードする必要がある Instant Client Downloads 。ターミナルで次のコマンドを入力して、rpmパッケージをインストールできるように、エイリアンパッケージをインストールします。
Sudo apt-get install alien
それが完了したら、rpmファイルがあるフォルダーに移動し、次を実行します。
Sudo alien -i Oracle-instantclient*-basic*.rpm
Sudo alien -i Oracle-instantclient*-sqlplus*.rpm
Sudo alien -i Oracle-instantclient*-devel*.rpm
libaio.so
をインストールする必要があります。次のコマンドを入力して実行します。
Sudo apt-get install libaio1
Oracle構成ファイルを作成します。
Sudo sensible-editor /etc/ld.so.conf.d/Oracle.conf
そのファイルに次の行を追加します。
/usr/lib/Oracle/<your version>/client/lib/
注-64ビットインストールの場合、パスは次のようになります。
/usr/lib/Oracle/<your version>/client64/lib/
次のコマンドを実行して構成を更新します。
Sudo ldconfig
次を使用して接続してみてください。
sqlplus username/password@//dbhost:1521/SID
または:
sqlplus testuser/password
64ビットバージョンをインストールした場合、クライアントはsqlplus64
と呼ばれることに注意してください。
エイリアンは次の理由で機能しませんでした:
Error: cannot open Name index using db5 - Permission denied (13)
だから私は簡単な解決策に行きました:Zipファイルを Oracle (basicおよびsqlplus)からダウンロードし、それらを抽出し、プログラムファイルを配置するフォルダーを配置します(例:/usr/share
)。次に、LD_LIBRARY_PATH
変数を設定した後に実行可能ファイルを実行するスクリプトを作成し、ライブラリが見つかるようにします。
#!/bin/bash
DIR=/usr/share/instantclient_12_2 # <------- adjust this to the path you use
export LD_LIBRARY_PATH="$DIR"
"$DIR"/sqlplus "$@"
それをsqlplus
と呼び、実行可能(chmod 755 sqlplus
)にし、PATH
(たとえば/usr/bin/
)のディレクトリに入れて、bashが見つけられるようにします。
のように実行します
sqlplus user/password@Host:port/service
あなたが取得する場合
error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
Sudo apt-get install libaio1
でライブラリをインストールします
これは link に役立つと思います。それはかなり説明的です。必ずすべての手順に従ってください。それでも問題がある場合は、コメントすることをheしないでください。
@Ketan Patelの素晴らしい答えの補遺として:
ダウンロードしたrpmファイルと一緒に保持されるこの単純なスクリプトは、以降のインストールのプロセスを自動化します。
#!/usr/bin/env sh
# https://askubuntu.com/a/207145/585248
CURRDIR="$(pwd)";
cd $(dirname "${0}");
# Tools and dependencies:
Sudo apt-get update
Sudo apt-get install alien libaio1
# Oracle Packages:
echo "Installing instantclient-basic..."
Sudo alien -i Oracle-instantclient*-basic*.rpm
echo "Installing instantclient-sqlplus..."
Sudo alien -i Oracle-instantclient*-sqlplus*.rpm
echo "Installing instantclient-devel..."
Sudo alien -i Oracle-instantclient*-devel*.rpm
echo "Configuring LD path..."
# LD config:
echo /usr/lib/Oracle/*/client64/lib \
| sort -V \
| tail -n 1 \
| Sudo tee /etc/ld.so.conf.d/Oracle.conf \
;
Sudo ldconfig
cd "${CURRDIR}"
echo "DONE!!";
注:少なくともUbuntuではlibaioの名前である
libaio1
をインストールします(そしてDebianでもそう思います)。他のディストリビューションでは、このパッケージ名を「libaio」または対応するパッケージ名に調整する必要がある場合があります。
Edit:ここに、readline wrapping( this post )の機能拡張版があります:
#!/usr/bin/env sh
# https://askubuntu.com/a/207145/585248
CURRDIR="$(pwd)";
cd $(dirname "${0}");
# Tools and dependencies:
Sudo apt-get update
Sudo apt-get install alien libaio1 rlwrap
# Oracle Packages:
echo "Installing instantclient-basic..."
Sudo alien -i Oracle-instantclient*-basic*.rpm
echo "Installing instantclient-sqlplus..."
Sudo alien -i Oracle-instantclient*-sqlplus*.rpm
echo "Installing instantclient-devel..."
Sudo alien -i Oracle-instantclient*-devel*.rpm
# LD config:
echo "Configuring LD path..."
echo /usr/lib/Oracle/*/client64/lib \
| sort -V \
| tail -n 1 \
| Sudo tee /etc/ld.so.conf.d/Oracle.conf \
;
Sudo ldconfig
# Readline wrapping:
echo "Configuring readline wrapping..."
echo "WARNING: You need to manually execute this command or re-read /etc/profile"
echo "if you want readline wrapped 'sqlplus' alias to work in current session".
(cat | Sudo tee /etc/profile.d/sqlplus_rlwrap.sh) <<!EOF
alias sqlplus="rlwrap -i -f ~/.sqlplus_history -H ~/.sqlplus_history -s 30000 sqlplus64"
!EOF
touch ~/.sqlplus_history
cd "${CURRDIR}"
echo "DONE!!";
まだオラクルですが、少なくとも痛みを少し我慢できるようにしています...
もちろん、正しいインストールは上記のような公式パッケージからです( download Instant Client Downloads )が、これらのファイルをコピーするだけで完全に機能するsqlplusを取得できます(Oracleクライアントがインストールされているコンピューターで見つけることができます) )、および一部のmsbはオプションです:
./sqlplus
./sqlplus/mesg
./sqlplus/mesg/sp1zhs.msb
./sqlplus/mesg/sp2zhs.msb
./sqlplus/mesg/sp2ptb.msb
./sqlplus/mesg/sp2us.msb
./sqlplus/mesg/sp1us.msb
./sqlplus/mesg/sp1ptb.msb
./sqlplus/mesg/cpyja.msb
./sqlplus/mesg/sp1ja.msb
./sqlplus/mesg/cpyus.msb
./sqlplus/mesg/cpyzhs.msb
./sqlplus/mesg/cpyptb.msb
./sqlplus/mesg/sp2ja.msb
./sqlplus/sqlplus
./README
./lib
./lib/libaio.so.1
./lib/libclntsh.so.11.1
./lib/libsqlplus.so
./lib/libnnz11.so
./lib/libociei.so
追加の依存関係として、libaio.so
を含めました-Sudo apt-get install libaio1
でインストールできます
したがって、サンプルの使用方法は次のとおりです。
cd <PATH_OF_FILES>
Oracle_HOME=$PWD LD_LIBRARY_PATH=$PWD/lib ./sqlplus/sqlplus user/pw@server:PORT/