日前遇到了这样一个问题,希望各位高手帮忙解决一下
有两个不在同一地址上的oracle数据库(都是9i),假设是sidA和sidB,
我可以创建sidA到sidB的db link,并且可以访问,
反过来,我创建sidB到sidA的db link,但是不可以访问,提示未找到该数据库连接。
我的创建过程如下:
1、以sidA的sys用户登陆
alter system set global_names=false;
执行后,重启sidA数据库
2、以system用户登陆sidB
create public database link sidA using 'sidA';
创建成功
之后执行select * from sidAtable@sidA,提示未找到该数据库连接错误。
还有一个问题就是oracle目录下admin/sample下的init.ora文件是有global_names参数的,而admin/sidA的下的initsidA.ora文件是没有global_names参数,并且内容也不一样,为什么?

解决方案 »

  1.   

    创建 数据库连接需要另一个的create session权限
    还有就是需要配置连接字符串tnsnames.ora
    eg;
    sidA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.40)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = sidA)
        )
      )