您的位置:首页 > 其它

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

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

步骤:

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

CREATEMATERIALIZEDVIEWLOGONkamus.account2004;

2。实体化视图站点上创建公用链接

connsystem/password

CREATEPUBLICDATABASELINKorclusing'ORCL';

3。实体化视图站点上创建刷新组,本例中3分钟刷新一次

connsystem/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。实体化视图站点上创建用户私有数据库链接

connkamus/password

CREATEDATABASELINK orcl CONNECTTOkamusIDENTIFIEDBYpassword;

5。实体化视图站点上创建实体化视图

connkamus/password

CREATEMATERIALIZEDVIEWKAMUS.ACCOUNT2004REFRESHFASTWITHPRIMARYKEY ASSELECT*FROM KAMUS.ACCOUNT2004@orcl;

6。实体化视图站点上将创建的视图加入刷新组

connkamus/password

execDBMS_REFRESH.ADD(name=>'kamus.TEST_REPG',list=>'kamus.ACCOUNT2004',lax=>TRUE);

7。测试,在主站点中更新ACCOUNT2004表,过3分钟检查实体化试图站点中的视图,发现更新已经复制成功。

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

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

不需要创建任何复制组

不需要生成任何复制对象,不需要生成任何对象的复制支持
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: