2017-06-20 19 views
0

端末からsqlplusを実行しようとしています。私はすでに定義されてbash_profileには、以下のLD_LIBRARY_PATHの行を追加:LD_LIBRARY_PATHが設定されていてもSQLPlusクライアントは実行できません

[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile 

LD_LIBRARY_PATH=/usr/local/instantclient_12_2:${LD_LIBRARY_PATH} 
export LD_LIBRARY_PATH 

を、私はこのエラーを取得します。sqlplus呼び出す:LD_LIBRARY_PATH=/usr/local/instantclient_12_2:${LD_LIBRARY_PATH}

輸出:

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

これは私が明示的にターミナル上でパスをエクスポートするときにのみ解決されると

これをbash_profileですでに定義していたのですが、なぜエラーが続くのでしょうか?

P:変更後、ログアウトしてマシンをリフレッシュして環境をリフレッシュします。しかし、成功はありません。

+1

とそこに置か輸出LD_LIBRARY_PATH =は/ usr/local/instantclient_12_2:$ {LD_LIBRARY_PATH}。 環境ファイルの名前の前にドットを記述してください。 –

+0

それは動作します。なぜ、bashrcがbash_profileより優先されるのですか? – learner

+0

.bash_profileはログイン時に一度実行されます。 mem、cpuまたはディスクの統計情報をそこに置くことができます。一方、.bashrcはログインとシェル呼び出しの両方の方法で実行されます。私はsudo、/ bin/bashなどを意味します。上記のすべての.bashrcは単純に動作します。 –

答えて

0

あなたの.bashrcに変数$ ORACLE_HOMEを設定することをお勧めします。 .bashrc(bashrcの前にあるドットに言及してください)はあなたのホームディレクトリに置いてください。 cdコマンドを使用してそこに行きます(パラメータなし)。次のように

export $ORACLE_HOME=/usr/local/instantclient_12_2 

それからちょうどあなたの.bashrcにそれを使用する:

export PATH=$ORACLE_HOME:$ORACLE_HOME/bim:$PATH 

あなたの問題を解決するべきです。

そうでない場合は、LD_LIBRARY_PATH変数を使用して、目的の.soライブラリを指定してください。

など。

export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH 
利用〜/ .bashrcの代わりに〜/ .bash_profileのの
関連する問題