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 试试
还有你修改过远程计算机的计算机名,你TNSNANES。ORA文件修改了吗?
谢谢!
还有就是我的数据库现在不能停,因为这是生产用数据库,生产不停数据库也不能停呀!
有没有其它的解决方法?
经过测试的确是当SID,Service name,DB link name三个完全相同时才可以Active,
请问你以前是改的哪个文件的哪个地方后?可以使这三个不同,也行呢?
奇怪的是以前的不同也可以呀,这个参数我又没有改过.
里面有个global_names=true改成false试试
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 试试