我正在重新編譯一些目前在我公司沒有編譯過的Pro * C代碼。它編譯好了,但是當我將它複製到生產服務器並運行它時,我得到了Oracle錯誤ORA-12547(TNS:失去聯繫)Oracle Pro * C ORA-12547
任何想法?
我正在重新編譯一些目前在我公司沒有編譯過的Pro * C代碼。它編譯好了,但是當我將它複製到生產服務器並運行它時,我得到了Oracle錯誤ORA-12547(TNS:失去聯繫)Oracle Pro * C ORA-12547
任何想法?
哦,算出來了。 :-)
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
與此相關的,我剛剛發現我得到同樣的錯誤ORA-12547 TNS失去了我的Windows機器上的接觸,當我嘗試連接到使用PL/SQL Oracle數據庫和同時我打開了一個VPN連接。
我在Linux上有類似的問題,Oracle 11gR2。 Oracle所有者可以運行SQL * Plus並通過TNS或本地連接進入。非oracle用戶可以通過TNS登錄,但不能作爲本地連接。
原來的答案是ORACLE_HOME文件系統被掛載爲「nosuid」。刪除該安裝選項解決了我的問題。
請參閱[**如何解決ORA-12547:TNS:嘗試連接到Oracle **時丟失聯繫人](http://lalitkumarb.com/2015/11/03/ora-12547-tns-lost-接觸時,嘗試對連接到ORACLE /) – 2015-11-03 11:11:10