GNU/Linux 上的 Oracle SQLPlus 默认配置文件位置

Oracle SQLPlus default configuration file location on GNU/Linux

Oracle SQLPlus 是否有数据库主机、pid、端口的配置文件?如果有,GNU/Linux 主机上的默认位置是什么?换句话说,当您从 Linux 命令行调用 sqlplus 时,它如何知道在哪里可以找到要连接的数据库?

我一直没有通过 Oracle 的在线文档寻找任何运气。

when you invoke sqlplus (from a linux command line) how does it know where to find the database to which to connect?

您可以访问的数据库列表存储在 TNSNAMES.ORA 文件中。我不知道 Linux,但是 - 在 MS Windows 上,它存储在 oracle 主目录 \network\admin 中。我想你应该能找到它。

在那里,按照 语法 ,您可以通过指定主机(或其 IP 地址)、端口、SID 或 [=] 为所有数据库创建 "aliases" 30=]。例如:

ORA10=
  (DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=my_db_server)
      (PORT=1523)
    )
    (CONNECT_DATA=
      (SERVICE_NAME=ORA10)
    )
  )

连接数据库时,您必须提供连接字符串,其中包含用户名、密码和数据库。例如:

sqlplus scott/tiger@ora10

如果安装了多个 Oracle 产品,每个产品都有自己的 TNSNAMES.ORA 文件。为了不维护所有这些(因为,您希望从 Forms Builder、SQL*Plus、Apex 等连接到 ORA10),您可以创建 TNS_ADMIN 环境变量,它指向到一个包含 TNSNAMES.ORA 文件副本的目录 - 在那里,你保留了你正在连接的所有数据库。

在Linux/Unix中,sqlplus搜索tnsnames.ora文件,在

中依次查找
  1. 如果定义了$TNS_ADMIN
  2. 更经常$ORACLE_HOME/network/admin
  3. 最后机会/etc