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


22

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

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

Answers:


15

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

 ORATST=
 (description=
   (address_list=
     (address = (protocol = TCP)(host = fu.bar)(port = 1521))
   )
 (connect_data =
   (service_name=oratst)
 )
)

很好的答案,尽管我发现我必须命名文件$HOME/.tnsnames.ora;答案中建议的路径似乎被sqlplus忽略。
DuffJ '17

@DuffJ,则您的环境有问题。
miracle173

11

tnsnames.ora文件的默认目录是

/u01/app/oracle/product/<version>/<dbname>/network/admin/tnsnames.ora

内容:

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

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


6
默认目录没有任何种类。它是相对的$ORACLE_HOME,因此将是$ORACLE_HOME/network/admin$ORACLE_HOME可能有多个不同的目录,其中有多个Oracle安装/补丁程序级别),或者可以被$TNS_ADMIN环境变量覆盖。这完全取决于软件所处的用户。
Philᵀᴹ

4
老实说,这是Linux系统上的默认值...如果您不触摸任何东西,它将放置在此处...因此是默认值。但是,如果不修改$ ORACLE_HOME,确实是一个更好的解决方案。
蒙奇

我实际上已经在数百个Linux系统上运行了Oracle,但这不是默认设置,也不是这样。也许您的意思是文档中的示例,他们必须选择一些东西。据我所知,没有Linux发行版具有“默认情况下”的/ u01文件系统,您必须已经创建了它并告诉Oracle使用它!
Gaius 2013年

2

$ORACLE_HOME/network/admintnsnames.oraDBCA和/或NetCA 在其中创建文件的目录。

$ORACLE_HOME是类似的路径/u01/app ...,它是符合OFA的路径,如果安装程序未覆盖安装程序,则安装程序将其用作默认路径。


2

如果您的操作系统是Windows 10,则可以tnsnames.ora在以下unc路径中找到文件:

C:\app\myAccount\product\11.2.0\dbhome_1\NETWORK\ADMIN

myAccount您的Windows帐户名在哪里。


1
换句话说,是%ORACLE_HOME%\NETWORK\ADMIN吧?
Andriy M

是的,这是正确的。请记住,默认情况下,Oracle将tnsnames.ora存储在UNIX操作系统的$ ORACLE_HOME / network / admin目录中,以及Windows操作系统的%ORACLE_HOME%\ network \ admin目录中。
S. Mayol

$ ORACLE_HOME在我的环境中对我不起作用,因此了解完整路径确实有所帮助...仅知道它在C:\ app \中...给了我所需的开始,并且我能够从中进行跟踪那里。为我节省了数小时的搜索!
盖洛斯

1

据我所知tnsnames.ora需要放在 <ORA_INSTALL_FOLDER>\product\11.1.0\client_1\network\admin\文件夹中

文档可以在这里找到

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.