如何生成 tnsnames.ora 文件以连接到 Oracle 数据库?

use*_*237 27 oracle

我已经安装了 Oracle 11g,可以连接sysman到 Oracle 数据库,但是找不到tnsnames.ora文件。

我需要自己生成 tnsnames.ora 文件吗?如果是这样,我应该把它放在哪里?如果没有,Oracle 如何为我生成它?如果我确实需要生成它,该文件的适当语法是什么?

Aar*_*ron 17

您可以轻松创建 tnsnames.ora [text] 文件。它应该在 $ORACLE_HOME/network/admin/ 中,看起来像这样:

 ORATST=
 (description=
   (address_list=
     (address = (protocol = TCP)(host = fu.bar)(port = 1521))
   )
 (connect_data =
   (service_name=oratst)
 )
)
Run Code Online (Sandbox Code Playgroud)


Mun*_*chi 11

tnsnames.ora 文件的默认目录是

/u01/app/oracle/product/<version>/<dbname>/network/admin/tnsnames.ora
Run Code Online (Sandbox Code Playgroud)

内容:

<alias> = (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <ip>)(PORT = <port>))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = <dbname>)
    )
  )
Run Code Online (Sandbox Code Playgroud)
  • alias:您可以选择它并稍后将其用作连接字符串。
  • port: 默认值为 1521

更多信息:http : //docs.oracle.com/cd/B28359_01/network.111/b28317/tnsnames.htm

  • 默认目录不是这样的。它相对于`$ORACLE_HOME`,因此将是`$ORACLE_HOME/network/admin`(其中`$ORACLE_HOME` 可以是多个不同的目录,其中有多个Oracle 安装/补丁级别)或者可以被`$TNS_ADMIN 覆盖` 环境变量。这完全取决于软件所在的用户。 (7认同)
  • 老实说,它是 linux 系统上的默认设置...如果您不触摸任何东西,它将被放置在那里...因此是默认设置。但是 $ORACLE_HOME 如果不被篡改确实是一个更好的解决方案。 (4认同)