如何找出我的linux系统正在使用哪个tnsnames.ora文件?

当我执行updatedb并findtnsnames.ora时,由于各种Oracle数据库安装,我找回了一长串列表。 我需要添加一些条目,为系统configuration的“默认”tnsnames.ora。

如何找出许多tnsnames.ora文件中的哪一个被实际使用?

注意:30个奇怪的实例都不在任何“系统”文件夹下(例如/ etc / usr等),并且:

> echo $TNS_ADMIN TNS_ADMIN: Undefined variable. > echo $PATH /usr/kerberos/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/usr/local/ade/bin:/usr/NX/bin > echo $ORACLE_HOME ORACLE_HOME: Undefined variable. 

RHEL4

如果$ TNS_ADMIN没有设置,那么tnsnames.ora应该在$ ORACLE_HOME / network / admin /中

在“ networking服务参考手册”中可以find关于tnsnames.ora的更多解释。

要确定$ ORACLE_HOME的值,可以查看文件/ etc / oratab。 该文件列表数据库,关联的$ ORACLE_HOME以及数据库必须自动启动/停止。

你也可以在oraInventory中find一些信息(看看/ etc / oraInventory文件夹或/etc/oraInst.loc文件)

上面的输出来自安装Oracle的服务器? 您是否以访问Oracle的用户身份login? 我不知道如何通过输出访问任何Oracle,除非通过每次构build环境的shell脚本来完成。 已经有一段时间了,但是在nix系统上的IIRC,你必须定义ORACLE_HOME才能访问Oracle。

如果你input:

 sqlplus someuser@somedb 

从上面的命令提示符,它告诉你什么? 在我看来,它应该告诉你,sqlplus是一个未知的命令。 如果不是,那是什么

 which sqlplus 

告诉你?