ORA-02085

author :skate
time:  2009/02/21


 

最近在两台数据库的同步的时侯,经常遇到如下的错误,下面是对这个问题解决总结:

 

 

ORA-02085 错误解决2008-12-04 13:30程序报错:

ORA-02085: database link WD2YT_ERATING.LK connects to ESUITE.NET

服务器现状:

两台数据库间通过dblink互访对方的表, 而且执行对方的存储过程.

两库的global_names参数和global_name分别如下:

A库:
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
ESUITE.NET
SQL> show parameter global_names
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
global_names                         boolean     TRUE

B库:
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
WENDING.LK
SQL> show parameter global_names
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
global_names                         boolean     FALSE

原因:

由于A库建Streams, 把global_names参数从false改为true, 导致A库和B库的dblink都得重建并且dblink name得和对方库的global_name完全一样.
注意两点:
1. 两个库都得重建dblink;
2. dblink name要完全等同于对方库的global_name, 不是什么实例名, 服务名.

解决方法:

--重建dblink
SQL> CREATE DATABASE LINK esuite.net CONNECT TO ERATING_YITIAN IDENTIFIED BY "aaa"USING 'yitian';

--重建基于该dblink的同义词
SQL> CREATE or replace SYNONYM TRIAL.PKG_AUTHENTICATION FOR EPASS.PKG_AUTHENTICATION@esuite.net;

可以通过如下sql获得基于原dblink的同义词的重建语句:
SQL> SELECT      'create or replace synonym '
         || owner
         || '.'
         || synonym_name
         || ' for '
         || table_owner
         || '.'
         || table_name
         || '@esuite.net'
         || ';'
FROM   dba_synonyms
WHERE   db_link = 'WD2YT_ERATING.LK';


如果dblink和远程数据库的global_name不一样,可以通过如下语句来解决:

SQL>alter database rename global_name to TEST.ORACLE.COM;


参考文件:

http://hi.baidu.com/edeed/blog/item/014a7becd1147ad62e2e215b.html

http://blog.csdn.net/zhpsam109/archive/2006/05/13/727314.aspx

 

 

---  end ---

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值