在sid.ora文件中有一个参数是要求dblink的名称和remote db的名称一样的一个值,我以前遇到过的not active就是因为这个参数的设置有问题,不知道你的是不是也是这个原因。

解决方案 »

  1.   

    你试这把原来的的计算机名恢复回来试,
    还有你修改过远程计算机的计算机名,你TNSNANES。ORA文件修改了吗?
      

  2.   

    我的是Oracle8.05 在里面找不到这个文件呀.能不能告诉我在哪个路径下.
    谢谢!
      

  3.   

    我的Service name是通过IP联结的而且IP我没有变过,所以TNSNames.ORA文件不用变动.
    还有就是我的数据库现在不能停,因为这是生产用数据库,生产不停数据库也不能停呀!
    有没有其它的解决方法?
      

  4.   

    HeavenHe:
       经过测试的确是当SID,Service name,DB link name三个完全相同时才可以Active,
    请问你以前是改的哪个文件的哪个地方后?可以使这三个不同,也行呢?
    奇怪的是以前的不同也可以呀,这个参数我又没有改过.
      

  5.   

    initSID.ora文件,sid是指你数据库的标识,并不是SID这三个字母。
    里面有个global_names=true改成false试试
      

  6.   

    1 查看LISTENER.ORA 和 TNSNAME.ORA 中的主机名是否正确
    2 查看global_names的值是否为false
      select name,value from v$parameter where name like 'global_names';
      如果是true,可以用
      alter system set global_names=false;
      改变该参数值(这个参数在重启数据库实例时会被init<sid>.ora中的global_names
      的值覆盖)
    3 重新建立db link 试试