最简单的创建复制环境中只读实体化视图站点的方法

发表于:2007-07-02来源:作者:点击数: 标签:
目的:创建一个实体化视图站点,定时刷新,获取主站点中指定表的变化,这个实体化站点可以作为查询 服务器 使用 步骤: 1。主站点上创建实体化视图日志表 CREATE MATERIALIZED VIEW LOG ON kamus.account2004; 2。实体化视图站点上创建公用 数据库 链接 conn

目的:创建一个实体化视图站点,定时刷新,获取主站点中指定表的变化,这个实体化站点可以作为查询服务器使用

步骤:

1。主站点上创建实体化视图日志表

CREATE MATERIALIZED VIEW LOG ON kamus.aclearcase/" target="_blank" >ccount2004;

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分钟检查实体化试图站点中的视图,发现更新已经复制成功。

以上为建立只读实体化视图站点的最简单方法:

不需要创建其它的任何用户,比如复制环境中需要的传播者,刷新者,接收者等等

不需要创建任何复制组

不需要生成任何复制对象,不需要生成任何对象的复制支持

 

原文转自:http://www.ltesting.net