2010-12-02 49 views
0

我不明白Oracle是如何工作的。这是我与甲骨文的第一次约会,所以请接受我的道歉,如果这个问题听起来很愚蠢或甚至荒谬愚蠢。Oracle 10 g - 设置ODBC连接和什么是TNSNames.ora

Oracle DBA团队创建数据库或模式(有什么区别?)。我们称之为SIT_Release2。我将为它设置ODBC连接。我有一个名为TNSNames.ora的文件,它驻留在ORACLE_HOME \ Network \ Admin路径中。

在tnsnames.ora具有以下信息

SIT = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS =(PROTOCOL = TCP)(HOST = “的IPAddress”)(PORT = 1875)) ) (CONNECT_DATA = (SID = “坐”) (SERVER = DEDICATED) ) )

现在,已存在用于不同的数据库或模式(它的名字是SIT_Release1)的ODBC连接是如下。 alt text

数据源名称填充了一定的值。

说明中填充了一定的值。

TNS服务名称填充了SIT

用户填充Id的值。

问题

tnsnames.ora中只是规定了我连接,并通过该端口监听的服务器。

我们究竟在哪里指定这个ODBC连接指向这个特定的数据库?

编辑

ANSWER

我还是不明白它是如何工作的。但是,这是发生了什么 -

SID =“坐”仍然是这样,但我给它的凭据指向不同的数据库。

因此,在上面的屏幕截图中,TNS服务名称仍然相同。但是,用户名/密码不同,我可以连接到不同的数据库。

回答

0

它的SID="sit"部分指向您的数据库。

Oracle系统ID(SID)用于唯一标识系统上的特定数据库。

出于这个原因,一个不能有相同的SID多个数据库的计算机系统

参考herehere了一些细节上。

+0

谢谢!“sit”是安装在“IPAddress”上的实例上驻留的数据库的名称。我对么?其次,如果我有两个数据库,让我们称他们为“sit1”和“sit1”(是的,你读的是正确的“sit1”是数据库的名称)。安装在具有“IPAddress1”和“IPAddress2”的两台不同的服务器上,那么我们可以在相同的TNSNames.ora中使用TNS Entry两次,只需更改IP? (CONNECT_DATA =(SID =“sit1”)(SERVER = DEDICATED)))()=(Address = 1875))(CONNECT_DATA = – Kanini 2010-12-02 16:46:27