我习惯使用 SQL Server,现在面临连接到 Oracle 的问题。对于我需要填写的所有字段,我可以获得一些完全明确的描述吗?

具体来说,我想了解这些是什么:


主机名
港口
安全识别码
服务名称

网络别名
连接标识符

我的基本理解是主机名是它所在的主机名,但这与 home 不同吗?端口是 TCP 端口,默认为 1521 - 这看起来很清楚。

我只需要提供 SID 或服务名称?有什么区别 - 为什么是其中一个或另一个?

如果我有 TNS 文件,网络别名和连接标识符是什么?如果我不使用 TNS 文件,这些字段是否与我拥有的其他字段相同?

抱歉,我是个菜鸟,但我对答案的初步搜索仍然让我感到非常困惑。

谢谢!

有帮助吗?

解决方案

Home:     ORACLE_HOME, an environment variable that points to the location 
of the Oracle binaries (either location Instance runs from on server or client
runs from on client)
Hostname: name of the server
Port:     Port on which the Listener is listening for Oracle connections
SID:      **S**ervice **ID**entifier.  The name of the the Database.  This is
one of the identifiers that the Listener will expose
Service name: An alternate identifier that may be exposed by the Listener

在现有的,用于网站上找到这些细节是从从该连接可以向数据库进行客户端(或服务器)上的tnsnames.ora文件的最简单的方法。看看下面$ ORACLE(下划线)首页/网络/管理员。找到一组(Windows)或ENV(UNIX)命令ORACLE(下划线)主页。在tnsnames.ora也可能是在一个位置由变量$ TNS_ADMIN指向。

如果无法找到一个的tnsnames.ora和可以访问该服务器尝试下面的命令,通常为用户的Oracle

lsnrctl status

LSNRCTL是监听器。状态将显示SID和它知道的服务名称(和几个其它细节)

或者找到下$ ORACLE_HOME /网络/管理员或位置的文件listener.ora和sqlnet.ora中由环境变量$ TNS_ADMIN指向

通常会有每个主机一个监听器,因此每个主机一个端口(可以有更多,但它不是常见)

要连接到Oracle你必须在由主机名/端口组合中指定的位置来指向客户端监听器,并告诉它SID或服务于太连接的。

DCookie的约SID与服务名称注释是基本上是正确的。

在SID可与(取决于版本)

中找到
select db_unique_name from v$database
   or
select db_name from v$database

或者通过查看文件$ ORACLE_HOME / DBS / INIT(SID NAME).ORA或通过执行

ps -ef | grep pmon

和指出该方法的名称,例如的最后部分ORA(下划线)PMON(下划线)SID

其他提示

如果您正在使用 Oracle 10g 或以上,使用 Easy Connect 句法:

//servername/dbname

, ,如:

sqlplus scott/tiger@//servername/dbname

如果您需要使用 TNS, ,这是一个例子 TNSNAMES.ORA:

XE = 
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = XE)
    )
  )

CONNECT_DATA, ,您可以使用 SERVICE_NAME (这是向侦听器注册的实例的标识符),或者 SID (这是一个数据库标识符)。

简而言之:

  • SERVICE_NAME 是实例的标识符:一个跑步的 Oracle 您将连接到的可执行文件
  • SID 是数据库的标识符:存储您的数据的一组文件。

一个数据库可以被多个数据库使用 Oracle 实例。

当有疑问时使用 SERVICE_NAME.

在这种情况下,请按以下方式连接:

sqlplus scott/tiger@XE
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top