SqlPlusのインストール方法


19

ここからの指示に従って、sqlplusをインストールしてみました。私はまだ得ています:

sqlplus: command not found

sqlplus私の端末から行うとき。

私はUbuntuの初心者で、Ubuntu 12.04を使用しています。


私はあなたがsudoでエイリアン-iコマンドを実行する必要があると思います:sudo alien -i
Savvas Radevic

回答:


26

まず、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


詳細をありがとう。特にlibのインストールに関する部分で、インストールを完了するのに役立ちました。
lonstar

1
... sqlplus testuser / passwordを実行して「sqlplus:共有ライブラリのロード中にエラーが発生するまで:libsqlplus.so:共有オブジェクトファイルを開けません:そのようなファイルまたはディレクトリはありません」
-lonstar

4
...それは、oracle.confファイルに触れただけで、これを追加する必要があることが判明したためです:/usr/lib/oracle/11.2/client/lib/(実際にそれがあることを確認してくださいパス、およびmarcelozambranav.blogspot.com/2012/08/…に感謝します。それをやったら、すべてが順調でした。
lonstar

4
@K .K Patel私はあなたの指示に従いましたが、コマンドラインでsqlplusと入力すると、ユーザー名とパスワードの入力を求められます。そして、私はユーザー名とパスワードを知りません。私は何をすべきか?
サビヤサチ14

oracle-instantclient * basic、devel、jdbc、odbc、sqlplus、tools、basicliteがあります。sqlplusをインストールするだけでは完了しませんか?
masterxilo

3

エイリアンは次の理由で機能しませんでした:

Error: cannot open Name index using db5 - Permission denied (13)

そこで私は簡単な解決策を採用しました。Oracleからzipファイル(basicおよびsqlplus)をダウンロードし、それらを解凍して、プログラムファイルを配置するフォルダー(例:)を配置します。次に、変数を設定した後に実行可能ファイルを実行するスクリプトを作成し、ライブラリが見つかるようにします。/usr/shareLD_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


1

このリンクが役立つと思います。それはかなり説明的です。必ずすべての手順に従ってください。それでも問題がある場合は、コメントすることをheしないでください。


6
これは理論的には質問に回答するかもしれませんが、回答の重要な部分をここに含め、参照用のリンクを提供することが望ましいでしょう
エリアケイガン

それは私がやったことでも..しかし、それは働いていないようです!
アリの

私はこのスレッドを見つけましたunix.com/ubuntu/157848-sqlplus-command-not-found.html。私はそれをダウンロードするための正味の速度を持っていません。
ヴィニットクマール

1
@Antの「機能していません」は、手がかりを提供しません。各コマンドの出力を表示します。次に、何が起こっているのか、問題はどこにあるのかについての全体像を把握します。
サヴァスラデビッチ

0

もちろん、正しいインストールは上記のような公式パッケージ(インスタントクライアントダウンロードをダウンロード)から行われますが、これらのファイルをコピーするだけで完全に機能するsqlplusを取得できます(Oracleクライアントがインストールされているコンピューターで見つけることができます)。 :

./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/

0

@Ketan Patelの素晴らしい答えの補遺として:

ダウンロードしたrpmファイルと一緒に保持されるこの単純なスクリプトは、以降のインストールのプロセスを自動化します。

#!/usr/bin/env sh
# /ubuntu//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!!";

注:それがインストールlibaio1されているlibaioを少なくともUbuntuの中の名前(と私はあまりにもDebianの中で思います)。他のディストリビューションでは、このパッケージ名を「libaio」または対応するパッケージ名に調整する必要がある場合があります。

編集:これはreadlineのラッピングを備えた拡張版です(この投稿の信者):

#!/usr/bin/env sh
# /ubuntu//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!!";

まだオラクルですが、少なくとも痛みを少し我慢できるようにしています...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.