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/