CREATE DATABASE LINK main.hwtt.net.com CONNECT TO repadmin IDENTIFIED BY repadmin;
3.10 在物化视图管理帐号上建立物化试图组
--建立物化视图组
--以物化视图管理员身份登陆物化视图站点 CONNECT mvadmin/mvadmin@ meteview;
--物化视图组必须和复制站点上的复制组名称相同 BEGIN
DBMS_REPCAT.CREATE_MVIEW_REPGROUP ( gname => 'RBTSYN',
master => 'MAIN.HWTT.NET.COM', propagation_mode => 'ASYNCHRONOUS'); END;
/
--创建刷新组,从物化视图上面刷新数据到本地表 --对于只包含只读物化视图的站点,不需要此步骤 BEGIN
DBMS_REFRESH.MAKE (
name => 'mvadmin.rbt_refresh', list => '',
next_date => SYSDATE,
interval => '/*10:Secs*/ sysdate + 10/(60*60*24)', implicit_destroy => FALSE, rollback_seg => '',
push_deferred_rpc => TRUE, refresh_after_errors => FALSE); END; /
--创建物化视图
CREATE MATERIALIZED VIEW \ON PREBUILT TABLE REFRESH FAST
NEXT sysdate + 5/1440 AS
SELECT * FROM rbt.t_rbt_operation_logs @ main.hwtt.net.com;
--将物化视图添加到刷新组(建议通过企业管理器创建,因为在试验的过程中,好像有问题) --这个步骤,可以通过企业管理器来添加比较方便 BEGIN
DBMS_REFRESH.ADD(
name => '\ list => '\ lax => TRUE); END;
--将物化视图添加到物化视图组 --对于只读物化视图,此步骤可以省略
--这个步骤,可以通过企业管理器来添加比较方便
BEGIN
DBMS_REPCAT.CREATE_SNAPSHOT_REPOBJECT( gname => '\ sname => '\
oname => '\ type => 'SNAPSHOT',
min_communication => FALSE);
END;
BEGIN
DBMS_REPCAT.CREATE_SNAPSHOT_REPOBJECT( gname => '\ sname => '\
oname => '\ type => 'INDEX'); END;
生成测试数据
begin
for i in 1..1000 loop
insert into t_rbt_operation_logs
values(seq_operation_logs.nextval,'admin',sysdate,'test',null, null,'success',null); end loop; end; /
4 注意事项
4.1 复制对象的限制
序列不能复制。
主键索引和其他索引,均需要添加到复制对象里面,不能自动复制。 ddl语句,不会自动复制。
4.2 如何使用序列同步
只能对所有的序列,建立一个job,扫描对应表的最大id值,并定时执行,或者在需要使用的时候,手工执行序列同步job;