SQL> execute dbms_repcat.add_master_database(gname=>'rep',master=>'TEST' ,use_existing_objects=>true ,copy_rows=>false ,propagation_mode=>'synchronous');

BEGIN dbms_repcat.add_master_database(gname=>'rep',master=>'TEST' ,use_existing_objects=>true ,copy_rows=>false ,propagation_mode=>'synchronous'); END;


*

ERROR at line 1:

ORA-23375: feature is incompatible with database version at TEST

ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86

ORA-06512: at "SYS.DBMS_REPCAT_MAS", line 2161

ORA-06512: at "SYS.DBMS_REPCAT", line 146

ORA-06512: at line 1


在配置高级复制出现了上述错误,是因为我的global_names 参数没有改为true

-- 解决思路


1)确认同步账号权限是否正确

create user repadmin identified by repadmin default tablespace users temporary tablespace temp;

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)确认db_link 是否为同步账号的对象

SQL> select object_name,object_type from user_objects where object_type='DATABASE LINK';


OBJECT_NAME     OBJECT_TYPE

--------------- -------------------

PREMIUMI        DATABASE LINK


SQL> show user;

USER is "REPADMIN"


3)确认global_names 参数是否设置为true


SQL> show parameter global_names;


NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

global_names                         boolean     TRUE