|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在执行崩溃恢复时,理解在一个数据库中的每一个表tbl_name对应的在数据库目录中的3个文件是很重要的:创立|视图
1。假如要创立基表是别的用户表的实体化视图,那末必要给实体化视图的owner付与以下权限:
grantCREATEANYMATERIALIZEDVIEWtousername;
grantSELECTANYTABLEtousername;
假如要创立refreshoncommit的视图,那末还必要上面这个权限:
grantONCOMMITREFRESHtousername;
2。创立refreshoncommit的语法以下,此类实体化视图在基表的事件commit以后,就会立即革新
CREATEMATERIALIZEDVIEWMV_T1
REFRESHFASTONCOMMITWITHPRIMARYKEYASSELECT*FROMkamus.t1;
3。假如不指定oncommit,那末默许是ondemand,只要手工挪用DBMS_MVIEW包中的革新历程,实体化视图才会被革新
4。指定了startwith...next...选项以后,第一次创立会有作一次完全革新,然后在指定的工夫距离以后会准时革新,本例中革新距离为1分钟。
语法以下:
CREATEMATERIALIZEDVIEWMV_T1
REFRESHFASTSTARTWITHSYSDATENEXTsysdate+1/24/60WITHPRIMARYKEYASSELECT*FROMkamus.t1;
反省USER_REFRESH视图和USER_JOBS视图,我们能够发明startwith...next...语法也就是Oracle主动创立了一个革新组,这个革新组的称号跟实体化视图称号不异,而且IMPLICIT_DESTROY属性为Y,暗示只需该组中的实体化视图删除该组也主动被删除。同时,创立了一个JOB,JOB中的waht属性是dbms_refresh.refresh("SCOTT"."MV_T1");
天然,因为主动革新是经由过程JOB完成的,那末初始化参数job_queue_processes必需年夜于0,如许JOB才会一般运转。
5。能够本人创立革新组来准时革新,我之前的这篇文章中有创立革新组的办法:
http://blog.csdn.net/kamus/archive/2004/09/18/108496.aspx
闪回的目的是要让数据库在commit之后,还能恢复到之前的某个状态,整库或指定的表。 |
|