好学IT学院:IT信息技术分享交流平台
来源:IT专家网论坛  作者:jzxue  发布时间:2009-09-30  ★★★加入收藏〗〖手机版
摘要:可能在云计算、SOA架构下这种方案会逐渐消亡,但是目前还是比较实用的,本文简单介绍了常用的数据同步方案,由于正在使用高级复制的解决方案,所以重点说了oracle的高级复制…

碰到的错误

1.db_link创建后无法使用,发现db_link起的名称有问题

解决方法:如果global_names = true;db_link名称一定要和global_name一致,修改后成功

2.添加主体复制节点时报错:

ORA-23357: the propagator does not exist
  ORA-06512: at "SYS.DBMS_REPCAT_CACHE", line 76
  ORA-06512: at "SYS.DBMS_REPCAT_MAS", line 2105
  ORA-06512: at "SYS.DBMS_REPCAT", line 146
  ORA-06512: at line 2

可能原因:

1.global_name使用了oracle的保留字,参考:http://oracle-tech.blogspot.com/2008/08/ora-23375-when-adding-new-master-site.html

修改外网(61)global_name 为OUT.WWKJ.LZFC2

alter database rename global_name to OUT.WWKJ.LZFC2;

2.REPADMIN用户权限不足,检查赋权限的语句,确保权限到位

3.db_link必须使用REPADMIN连接对端数据库,我就是因为这个原因报的错

4.据说两台数据库的域必须一样

5.两台机器的用户和schema应该一致

解决方法:呵呵,很粗心啊,没有用repadmin运行脚本

3.复制组中加入复制对象时候,报23312错误,当前站点不是masterdef

Oracle Error : ORA-23312: not the masterdef according to string
  Cause: The group name is null, the group name is misspelled, the invocation or given database is not the masterdef, or one of the masters does not believe the invocation database is the masterdef.
  Action: If the given group name and masterdef were both correct, connect to the masterdef and retry the request, or relocate the masterdef at the (errant) databases using relocate_masterdef.