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

标签 oracle sqlplus

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 或 SERVICE_NAME 为所有数据库创建“别名”。例如:

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 文件 - 您可以在其中保留要连接的所有数据库。

关于GNU/Linux 上的 Oracle SQLPlus 默认配置文件位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51292824/

相关文章:

sql - PLSQL 需要匹配嵌套记录

java - Oracle自动增量与序列和触发器问题

java - 如何将父表和子表数据移动到存档表(具有相同的列)

oracle - dbms_output 大小缓冲区溢出

sql - 创建一个简单的用户界面来访问 Oracle 数据库

sql - Oracle SQL 舍入不当行为

java - 带有 oracle NUMBER 类型的 jdbc 准备语句

oracle - SQL*Plus 中的 "2"是什么意思?

oracle - 从 shell 脚本运行 sqlplus 时管理错误处理

sql - 如何使用 TIMESTAMP 数据类型减少 Oracle (SQL Plus) 中的列宽?