打开tnsnames.ora把服务名改成二个,同一个sid

JSGM01 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.0.107)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = jsgm)
    )
  )JSGM =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.0.100)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = jsgm)
    )
  )

解决方案 »

  1.   

    现在不在那台机器上面,不能贴出来tnsnames.ora的内容
    不过我说过了
    服务名为A SID为my 连接到192.168.0.8
    服务名为B SID为my 连接到192.168.0.10
    本来就不同
    create database link link1 connect to user identified by password using 'A'

    create database link link1 connect to user identified by password using 'B'
    也不行
    create database link link1 connect to user identified by password using 'my'
    是连接到自己那个
      

  2.   

    如果你使用tnsname.ora文件中的配置,可以连两个数据库. 比如说,同事开两个SQL*PLUS窗口.使用database link可以在一个工具中连接两个数据库, 但是首先你得在tnsname.ora中建一个到B数据库的联接(假设连接名为toB,你自己的为A) 然后在A中建一个数据库连接.create database link link_toB connect to B的登陆名 identified by B的登陆密码 using 'toB'
      

  3.   

    我是在TOAD中用的
    平时都可以连两个其他的数据库
    但是就是SID相同后不知道怎么连接了(假设两个SID都为my)
    我也是这样,假设在数据库A中,建立
    create database link link_toB connect to B的登陆名 identified by B的登陆密码 using 'B'
    但不行啊
    create database link link_toB connect to B的登陆名 identified by B的登陆密码 using 'my'
    连接上,不过通过查询连接的是自己
    select * from tmp@link_toB 的结果还是数据库A中的数据B =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.10)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = my)
        )
      )A =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.8)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = my)
        )
      )不太记得tnsnames.ora的配置了,好像是上面吧
    大家帮帮忙啊,怎么在A中连接到B
      

  4.   

    create database link link1 connect to user identified by password using 'my'my是 你在A上建立的连接B的连接串,不是B的sid。你的问题在于你建立连接串有问题
      

  5.   

    建立连路的时候,要在ORACLE 服务端的tnsnames.ora 里配置一个指向另外一个数据库的连接串