分类: Oracle
2008-04-21 23:27:12
来源:CSDN |
目的:创建一个实体化视图站点,定时刷新,获取主站点中指定表的变化,这个实体化站点可以作为查询服务器使用 步骤: 1。主站点上创建实体化视图日志表 CREATE MATERIALIZED VIEW LOG ON kamus.account2004; 2。实体化视图站点上创建公用数据库链接 conn system/password CREATE PUBLIC DATABASE LINK orcl using ’ORCL’; 3。实体化视图站点上创建刷新组,本例中3分钟刷新一次 conn system/password BEGIN DBMS_REFRESH.MAKE ( name => ’kamus.test_repg’, list => ’’, next_date => SYSDATE, interval => ’SYSDATE + 3/(24*60)’, implicit_destroy => FALSE, rollback_seg => ’’, push_deferred_rpc => TRUE, refresh_after_errors => FALSE); END; / 4。实体化视图站点上创建用户私有数据库链接 conn kamus/password CREATE DATABASE LINK orcl CONNECT TO kamus IDENTIFIED BY password; 5。实体化视图站点上创建实体化视图 conn kamus/password CREATE MATERIALIZED VIEW KAMUS.ACCOUNT2004 REFRESH FAST WITH PRIMARY KEY AS SELECT * FROM KAMUS.ACCOUNT2004@orcl; 6。实体化视图站点上将创建的视图加入刷新组 conn kamus/password exec DBMS_REFRESH.ADD(name => ’kamus.TEST_REPG’, list => ’kamus.ACCOUNT2004’, lax => TRUE); 7。测试,在主站点中更新ACCOUNT2004表,过3分钟检查实体化试图站点中的视图,发现更新已经复制成功。 以上为建立只读实体化视图站点的最简单方法: 不需要创建其它的任何用户,比如复制环境中需要的传播者,刷新者,接收者等等 不需要创建任何复制组 不需要生成任何复制对象,不需要生成任何对象的复制支持 |