2009-04-23 13 views
0

現在私の会社の誰も編集していないPro * Cコードを再コンパイルしています。 OKをコンパイルしていますが、実動サーバーにコピーして実行するとOracleエラーが発生しますORA-12547(TNS:連絡先が失われました)Oracle Pro * C ORA-12547

アイデアはありますか?

+0

[** ORA-12547を解決する方法:TNS:Oracleへの接続を試みると連絡が失われる**](http://lalitkumarb.com/2015/11/03/ora-12547-tns-lost-オラクルに接続しようとするときのコンタクト/) –

答えて

2

わかりました。 :-)

C実行可能ファイルは、サーバー上で直接実行されるのではなく、接続環境を設定するスクリプトを通じて起動されます。つまり、このような何か:これに関連し

export SHLIB_PATH=/oracleDatabaseSidHere/oracle/10.2/lib:/usr/lib:/oracleDatabaseSidHere/oracle/10.2/odg/lib 
export ORACLE_BASE=/oracleDatabaseSidHere/oracle 
export ORACLE_SID=oracleDatabaseSidHere 
export ORACLE_HOME=/oracleDatabaseSidHere/oracle/10.2 

# Set up the path and executable to run 
PATH=.\:$PATH:$ORACLE_HOME/bin:/usrlocal/bin 
PATH=$PATH:/path_to_application_logs 

cd /path_to_application 
application 
0

、私はちょうど私がPL/SQLを使用してOracleデータベースに接続しようとすると、私は同じエラーORA-12547 TNSは、私のWindowsマシン上の接触を迷うことが判明し、私は同時にVPN接続を開いています。

0

Linux、Oracle 11gR2で同様の問題が発生しました。 Oracleの所有者はSQL * Plusを実行し、TNSまたはローカル接続を介してアクセスできます。 Oracle以外のユーザーはTNS経由でログインできますが、ローカル接続としてはログインできません。

答えは、ORACLE_HOMEファイルシステムが "nosuid"でマウントされていることでした。そのマウントオプションを削除すると、私の問題が解決しました。

関連する問題