我在本机上配客户端可以访问别人的数据库了,服务名是oracle_10.82.10.6,然后我想通过配DBLINK把他们的数据拷过来。他们的数据在用户aa下面,给我们1个用户bb可以访问。create database link dl connect to bb identified by bb using 'oracle_10.82.10.6';但是select * from aa.tb1@dl说识别不了连接字符串,怎么回事?

解决方案 »

  1.   

    你用bb这个用户连的DBLINK,怎么能用aa.呢
      

  2.   


    试试 select 1 from dual@dl;看看能通不?
      

  3.   

    那应该怎么写?bb是我们能用的用户,aa只能看,没密码的
      

  4.   

    select 1 from dual@dl;不通的,是DBLINK有问题
      

  5.   

    根据情况看来他们aa,bb两个用户使用了他们同一个表空间,给你们一个bb用户,你也是用这个bb用户连的DBLINK,那就用bb.tb1@dl查询啊,跟他们的aa完全没有关系呀,他们可能还有cc,dd,ee谁知道呢。
      

  6.   

    aa是存放数据的用户,bb只是专门建给我们查看用的,底下没有数据,我是要通过创建DBLINK,把aa下的数据拷到本机上
      

  7.   

    在本机的oracle上要实现类似create table tb as select * from aa.tb;的结果,但是没有用户aa的密码,只知道和aa同在1个库的bb用户密码bb,这样要怎么操作?
      

  8.   

    不需要aa的密码,用bb连只需要bb的密码就可以了呀,你有的权限应该只是某几张表的select权限,要实现就是create table tb as select * from bb.tb1@dl呀
      

  9.   


    识别不了连接字符串你需要在你的机器上配置tnsname,先检查一下,在你的机器上tnsping oracle_10.82.10.6行不行吧。如果不行,配置一个
      

  10.   

    tnsping oracle_10.82.10.6可以的,OK<0S,但奇怪的是PL/SQL我可以访问,SQL*PLUS访问不了
      

  11.   

    名字换了试了也不行,我拿本机和另一台机子试了可以用连接,但一模一样的在本机到bb就是不行,郁闷啊。不过bb的库SID和数据库名不一样的有没影响?
      

  12.   

    还有1个,他们服务器是oracle 8i的,我们用的是10g,10g到8i的dblink能配通的吗?
      

  13.   


    你试过通过sqlplus访问,8i是用连接描述是用的sid,10g是使用service_name了。这里可能是有些问题的,
      

  14.   

    A机器(192.168.21.110 orcl),B机器(192.168.36.32  ora92 )
    1.首先在A机器中用net manager 建立一个链接到远程服务器的服务名与B可以联通,测试看是否成功。
    2.在A机器中建立DBlinkSQL> create database link db_link_32
      2  connect to ftitem_test identified by ftitem01
      3  using 'ora9i.192.168.36.32';数据库链接已创建。SQL> select * from user_desc@db_link_32;USER NAME                 PASSWORD             STATUS   OFFICEID
    ---- -------------------- ---------------- ---------- ----------
    2043 XXXX               8888                      1
      

  15.   

    建立一个链接到远程服务器的服务名建不起来,测试一直通不过的。我用客户端“把数据库添加到树”可以访问,什么原因啊?用SQL*PLUS也一直访问不了,用PL/SQL可以