Oracle中TNS_ADMIN变量的用途是什么?

Sac*_*iya 4 unix oracle connection shell sqlplus

请告诉我在Oracle中使用TNS_ADMIN参数有什么用?我正在使用oracle数据库在Unix上工作.

是否需要此参数来定位sqlplus.我正在执行一个脚本,在该脚本中对Oracle数据库执行更新查询.

使用crontab执行时,脚本失败并显示127错误代码.

我怀疑(eval)失败的脚本内容是

----------
cmd='sqlplus ${ORALOGIN} < SQLS
----------
eval $cmd
Run Code Online (Sandbox Code Playgroud)

Phi*_*ump 10

TNS_ADMIN告诉sqlplus在哪里找到tnsnames.ora文件.

如果你从crontab运行sqlplus,那么遇到困难的正常原因是:

  1. 路径不正确
  2. 没有正确设置ORACLE_SID或其他Oracle连接信息
  3. 当您登录到干扰cron执行的系统时执行的启动/登录脚本
  4. 您在登录时从命令行运行的某些脚本会设置您的crontab中未执行的Oracle环境.

检查这些东西和其他环境相关的项目.它总是需要我通过一些通行证让crontab和Oracle快乐地一起工作.

  • 正如Philip在开始时所说:"TNS_ADMIN告诉sqlplus在哪里可以找到tnsnames.ora文件." 基本上就是这样!或者你想知道tnsnames.ora文件的用途是什么? (5认同)
  • Net8配置文件的默认位置是$ ORACLE_HOME/network/admin.您可以使用TNS_ADMIN环境变量覆盖它,以指定Oracle将找到sqlnet.ora文件的目录. (2认同)