日期:2014-05-16  浏览次数:21000 次

高级复制出现 ORA-23375: 功能与数据库版本 不兼容
前言:
环境:两个数据库全部在windows平台,一个是win7,一个是win2003,
数据库两边都一样:
SQL> select * from v$version;

BANNER
----------------------------------

Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
PL/SQL Release 11.1.0.7.0 - Production
CORE 11.1.0.7.0 Production
TNS for 32-bit Windows: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production

考虑到的原因1,网上常说的授权问题:
execute dbms_defer_sys.register_propagator('repadmin'); 
grant execute any procedure to repadmin; 
execute dbms_repcat_admin.grant_admin_any_repgroup('repadmin'); 
execute dbms_repcat_admin.grant_admin_any_schema(username => '"REPADMIN"'); 
grant comment any table to repadmin; 
grant lock any table to repadmin; 
grant select any dictionary to repadmin;
以上我已经全部正确运行,授权成功了。
考虑到的原因2,私有dblink是否成功。我成功了。而且主站点(源数据)和目标站点(要复制到的数据库)
的dblink用select * from global_name@xxx@perday 得到相互的global_name。所以证明已经成功。
考虑到的原因3,之前的步骤,从是否支持高级复制,初始化参数,域名,创建相同用户并授权,到创建私有dblink,到创建主复制组,创建复制对象,并且生成复制支持。都成功执行。

现在到了添加主体库,也就是运行:
SQL> execute dbms_repcat.add_master_database(gname=>'rep_gp_day',master=>'cjtfs2
22.com.cn@perday', use_existing_objects=>true, copy_rows=>false,propagation_mode
 => 'asynchronou
s');
出错了。
BEGIN dbms_repcat.add_master_database(gname=>'rep_gp_day',master=>'cjtfs222.com.
cn@perday', use_existing_objects=>true, copy_rows=>false,propagation_mode => 'as
ynchronous'); END;

*
第 1 行出现错误:
ORA-23375: 功能与数据库版本 CJTFS222.COM.CN@PERDAY 不兼容
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: 在 "SYS.DBMS_REPCAT_MAS", line 2161
ORA-06512: 在 "SYS.DBMS_REPCAT", line 146
ORA-06512: 在 line 1

希望大家能帮帮忙,都两天了。。卡在这里不动了。。。。

------解决方案--------------------
如果你说的原因都排除,我想是你定义私有dblink时用的不是repadmin用户。
你用其他用户定义的dblink,repadmin无权使用,
重新用repadmin定义dblink。。

应该可以解决。