web-dev-qa-db-ja.com

sqlplus:共有ライブラリのロード中にエラーが発生しました:libsqlplus.so:共有オブジェクトファイルを開けません:そのようなファイルまたはディレクトリはありません

この問題を解決するための解決策を提案してください??コマンドsqlplus /nologを与えている間、発生したエラーは

sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory ..

11
Priyanka U

シェルからsqlplusを適切に実行するための最小構成は、Oracle_HOMEおよびLD_LIBRARY_PATHを設定することです。使いやすいように、それに応じてPATHを設定することもできます。

/opt/Oracle/instantclient_11_1で必要なアーカイブを解凍したと仮定します:

sh$ export Oracle_HOME=/opt/Oracle/instantclient_11_1
sh$ export LD_LIBRARY_PATH="$Oracle_HOME"
sh$ export PATH="$Oracle_HOME:$PATH"

sh$ sqlplus

SQL*Plus: Release 11.1.0.7.0 - Production on Wed Dec 31 14:06:06 2014
...
13
Sylvain Leroux
Sudo sh -c "echo /usr/lib/Oracle/12.2/client64/lib > /etc/ld.so.conf.d/Oracle-instantclient.conf";Sudo ldconfig

from https://help.ubuntu.com/community/Oracle%20Instant%20Client

6
Toolkit

設定してこのエラーを解決しました

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$Oracle_HOME/lib:$Oracle_HOME

はい、$ Oracle_HOME/libだけでなく、$ Oracle_HOMEもあります。

6
Leon Rom

権限:「sqlplus」の権限の重要性を強調したいと思います。

  1. Owner/Group以外の「その他」のUNIXユーザーがsqlplusを実行してOracleデータベースにアクセスできるようにするには、これらの4つのディレクトリの読み取り/実行権限(rx)が必要です。

    $ Oracle_HOME/bin、$ Oracle_HOME/lib、$ Oracle_HOME/oracore、$ Oracle_HOME/sqlplus

  2. 環境。これらを適切に設定します。

    A. Oracle_HOME(例:Oracle_HOME=/u01/app/oranpgm/product/12.1.0/PRMNRDEV/

    B. LD_LIBRARY_PATH(例:Oracle_HOME=/u01/app/oranpgm/product/12.1.0/PRMNRDEV/lib

    C. Oracle_SID

    D.パス

     export PATH="$Oracle_HOME/bin:$PATH"
    
3
gidi gob

私はそれが古いスレッドであることを知っていますが、Oracle 12cとLD_LIBRARY_PATHが正しく設定されているので、これにもう一度入りました。 straceを使用して、探していたものと失敗した理由を確認しました。

 strace sqlplus /nolog

sqlplusはこのライブラリを異なるディレクトリからロードしようとしますが、一部はインストールに存在しませんでした。次に、LD_LIBRARY_PATHにすでにあるものを試しました。

open( "/ Oracle/product/12.1.0/db_1/lib/libsqlplus.so"、O_RDONLY)= -1 EACCES(許可は拒否されました)

そのため、私の場合、libには740の権限があり、ユーザーは所有者ではないか、Oracleグループが割り当てられていなかったため、読み込めませんでした。とても簡単 chmod +r助けた。

3
michal

使用を試すことができます:

# echo "/usr/lib/Oracle/12.2/client64/lib" > /etc/ld.so.conf.d/Oracle.conf
# ldconfig

この問題は、oracleinstantクライアントが共有ライブラリを構成しないためです。

1

/etc/profile.d/Oracle.shに必要な変数がすべてあるはずです。必ず入手してください:

$ source /etc/profile.d/Oracle.sh

PS:このファイルのコンテンツは次のようになります。

Oracle_HOME=/usr/lib/Oracle/11.2/client64
PATH=$Oracle_HOME/bin:$PATH
LD_LIBRARY_PATH=$Oracle_HOME/lib
export Oracle_HOME
export LD_LIBRARY_PATH
export PATH

持っていない場合は、作成して入手します。

1
forzagreen

これは、Oracle_HOMEおよびOracle_SID変数を設定しなかったことを意味します。適切に動作する$ Oracle_HOMEと$ Oracle_SIDを設定してから、sqlplus/nologコマンドを実行してください。動作します。

0
doc123

LD_LIBRARY_PATHがOracleライブラリを指しているかどうかを確認してください

0
Charmi