怎样连接SID相同的不同数据库?

来源:互联网 发布:阿里云 最便宜 编辑:程序博客网 时间:2024/05/11 15:05

 在我们公司的局域网里有两个数据库,分别装在不同的服务器上,两服务器名不同,但数据库的SID都叫做test,我在工作站上装了oracle的客户端,用来远程连接这两个数据库。我用的是
connect 用户名/密码@test
结果,客户端的tnsname.ora中,哪个数据库的配置写在最后,就能连接上哪个数据库。例如如果这样写:


TEST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = database)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = sid.database)
    )
  )

TEST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = data)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = sid.data)
    )
  )


然后用命令”connect 用户名/密码@test“,就能连上data服务器的数据库。

但如果这样写:

TEST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = data)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = sid.data)
    )
  )


TEST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = database)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = sid.database)
    )
  )


然后使用同样的命令”connect 用户名/密码@test“,就只能连上database服务器的数据库。

该怎么使用命令才能连接指定服务器上的数据库呢?

TEST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = data)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = sid.data)
    )
  )

TEST1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = database)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = sid.database)
    )
  )

CODE:

connect 用户名/密码@test
connect 用户名/密码@test1

原创粉丝点击