2009-11-30 36 views
4

請告訴我Oracle中TNS_ADMIN參數的用法是什麼?我正在使用oracle數據庫在Unix上工作。Oracle中TNS_ADMIN變量的用法是什麼?

該參數是查找sql​​plus所必需的。我正在執行一個在Oracle數據庫上執行更新查詢的腳本。

腳本失敗,並在執行crontab時發生127錯誤代碼。

的腳本內容,我懷疑(EVAL)失敗是

---------- 
cmd='sqlplus ${ORALOGIN} < SQLS 
---------- 
eval $cmd 
+0

任何推倒我的理由 – 2009-11-30 05:53:21

+0

我沒有downvote,但你可能有興趣閱讀:http://asktom.oracle.com/pls/asktom/f?p = 100:11:0 :::: P11_QUESTION_ID:489021635775 – 2009-11-30 06:03:52

回答

10

TNS_ADMIN告訴SQLPLUS在哪裏可以找到tnsnames.ora文件。

如果您正在從一個crontab的sqlplus然後正常的原因有困難有:

  1. 不正確的路徑
  2. 不具有正確設置ORACLE_SID或其他Oracle連接信息
  3. 一個啓動/登錄在登錄到系統時正在執行的腳本干擾了您的cron執行
  4. 您在登錄時從命令行運行的一些腳本設置了未在yo中執行的Oracle環境你的crontab。

檢查這些事情和其他環境相關的項目。它總是需要我一些通行證才能讓crontab和Oracle一起愉快地工作。

+0

除此之外,TNS_ADMIN的用途是什麼? – 2009-11-30 06:10:16

+5

正如菲利普在開始時所說:「TNS_ADMIN告訴sqlplus在哪裏可以找到tnsnames.ora文件。」基本上就是這樣!或者你想知道tnsnames.ora文件的用途是什麼? – 2009-11-30 10:45:52

+2

Net8配置文件的默認位置是$ ORACLE_HOME/network/admin。您可以使用TNS_ADMIN環境變量覆蓋它,以指定Oracle將找到sqlnet.ora文件的目錄。 – spencer7593 2009-12-01 05:36:51