Oracle SQLPlus是否具有数据库主机,pid,端口的配置文件,如果是,那么GNU / Linux主机上的默认位置是什么?换句话说,当你从linux命令行调用sqlplus时,它如何知道在哪里找到要连接的数据库?
没有任何运气通过Oracle的在线文档 . 任何指向正确方向的人都非常感激 .
当你调用sqlplus(从linux命令行)时,它如何知道在哪里找到要连接的数据库?
您可以访问的数据库列表存储在TNSNAMES.ORA文件中 . 我不懂Linux,但是 - 在MS Windows上,它存储在oracle主目录\ network \ admin中 . 我想你应该能够找到它 .
在那里,按照语法,通过指定主机(或其IP地址),端口,SID或SERVICE_NAME,为所有数据库创建"aliases" . 例如:
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 文件,顺序查找
sqlplus
tnsnames.ora
如果已定义 $TNS_ADMIN
$TNS_ADMIN
更经常 $ORACLE_HOME/network/admin
$ORACLE_HOME/network/admin
最后一次机会 /etc
/etc
2 回答
您可以访问的数据库列表存储在TNSNAMES.ORA文件中 . 我不懂Linux,但是 - 在MS Windows上,它存储在oracle主目录\ network \ admin中 . 我想你应该能够找到它 .
在那里,按照语法,通过指定主机(或其IP地址),端口,SID或SERVICE_NAME,为所有数据库创建"aliases" . 例如:
连接到数据库时,必须提供由用户名,密码和数据库组成的连接字符串 . 例如:
如果安装了多个Oracle产品,则每个产品都有自己的TNSNAMES.ORA文件 . 为了不维护所有这些(因为,你想要从Forms Builder,SQL * Plus,Apex等连接到ORA10),你可以创建TNS_ADMIN环境变量,该变量指向一个包含一个副本的目录 . TNSNAMES.ORA文件 - 在那里,您保留所有要连接的数据库 .
在Linux / Unix中,
sqlplus
搜索tnsnames.ora
文件,顺序查找如果已定义
$TNS_ADMIN
更经常
$ORACLE_HOME/network/admin
最后一次机会
/etc