刷新组的维护

查看刷新组相关信息

--查看刷新组信息。
SQL> select rowner,rname,job,next_date,interval from dba_refresh;

ROWNER               RNAME                 JOB NEXT_DATE            INTERVAL
-------------------- -------------------- ---- -------------------- --------------------
MVADMIN              REP_REFRESH             3 17-1月 -12           SYSDATE + 1/24

--查看刷新组子信息,包含具体的物化视图,以下 TEST_REP 就是我们创建的MV 。
SQL> select owner,name,rowner,rname,job from dba_refresh_children;

OWNER                NAME                 ROWNER               RNAME                 JOB
-------------------- -------------------- -------------------- -------------------- ----
TEST                 TEST_REP             MVADMIN              REP_REFRESH             3

--根据job号,可以查看该job的详细内容。以下可知,oracle调用dbms_refresh.refresh对整个刷新
--组(REP_REFRESH)进行刷新。
SQL> col priv_user for a20
SQL> col schema_user for a20
SQL> col interval for a20
SQL> col what for a20
SQL> select job,priv_user,schema_user,interval,what from dba_jobs where job=3;

 JOB PRIV_USER            SCHEMA_USER          INTERVAL             WHAT
---- -------------------- -------------------- -------------------- --------------------
   3 MVADMIN              MVADMIN              SYSDATE + 1/24       dbms_refresh.refresh
                                                                    ('"MVADMIN"."REP_REF
                                                                    RESH"');

与刷新组相关的操作

--新建一个刷新组
begin 
DBMS_REFRESH.MAKE ( 
	name => 'mvadmin.rep_refresh', 
	list => '', 
	next_date => SYSDATE, 
	interval => 'SYSDATE + 1/24', 
	implicit_destroy => FALSE, 
	rollback_seg => '', 
	push_deferred_rpc => TRUE, 
	refresh_after_errors => FALSE); 
end;
/ 

--添加MV到一个刷新组
begin 
DBMS_REFRESH.ADD(
    name => 'rep_refresh',
    list => 'test.testmv'
    );
end;
/

--更改刷新组的刷新间隔
begin 
DBMS_REFRESH.CHANGE(
    name => 'rep_refresh',
    next_date => sysdate,
    interval => sysdate+(1/(24*60))
    );
end;
/
																	
--手动刷新一个刷新组
SQL> exec DBMS_REFRESH.REFRESH('rep_refresh');																	
																	
--从刷新组中移除一个物化视图
begin
DBMS_REFRESH.SUBTRACT (
   name => 'mvadmin.rep_refresh',
   list => 'test.testmv'
   );
end;
/																	

--移除所有的物化视图并删除刷新组
exec DBMS_REFRESH.DESTROY('rep_refresh');	

参考:
http://docs.oracle.com/cd/B19306_01/server.102/b14227/rarrefreshpac.htm#REPMA018


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值