oracle物化视图配置指导书 下载本文

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;