materialized view实现分布式复制环境

来源:这里教程网 时间:2026-03-03 12:52:19 作者:

################################分布式环境下通过materialized view实现表高级复制 1.在主站点建立snapproxy用户 create user snapproxy identified by "snap001snap" default tablespace users; BEGIN     dbms_repcat_admin.register_user_repgroup(             username =>       'snapproxy',             privilege_type => 'proxy_snapadmin',             list_of_gnames =>  NULL); END; / grant create session,select any table to snapproxy; 2.在主站点以要复制表的属主创建表的物化视图日志:(这里为hr用户) conn hr/hr; create snapshot log on employees with rowid,primary key; create snapshot log on departments with rowid,primary key; 3.在物化视图站点创建复制表的目标用户: create user mview identified by mview default tablespace usres; grant connect,resource,create snashot,create database link to mview; 4.在物化视图站点创建物化视图刷新用户并赋权: create user snapadmin identified by "snap001snap" default tablespace users; EXECUTE dbms_repcat_admin.grant_admin_any_schema('snapadmin'); grant comment any table,lock any table,create any materialized view,alert any materialized view to snapadmin; 5.在物化视图站点以物化视图用户mview创建到snapproxy用户的dblink及物化视图: create database link presale connect to snapproxy identified by "snap001snap" using '130.84.208.52:1621/presale'; create materialized view employees_mv refresh fast as select * from hr.employees@presale; create materialized view departments_mv refresh fast as select * from hr.departments@presale; 6.snapadmin用户创建刷新组 begin         dbms_refresh.make(                 name => 'RG_MVIEW_OWNER',                 list => 'mview.employees_mv,mview.departments_mv',                 next_date => sysdate,                 interval => 'SYSDATE + 1/1440',                 implicit_destroy => true,                 lax => true); end; / 7.初始化刷新 execute dbms_refresh.refresh('RG_MVIEW_OWNER');

相关推荐