建立實體化視圖的幾個注意點

來源:互聯網
上載者:User
建立|視圖
1。如果要建立基表是其它使用者表的實體化視圖,那麼需要給實體化視圖的owner賦予以下許可權:
grant CREATE ANY MATERIALIZED VIEW to username;
grant SELECT ANY TABLE to username;
如果要建立refresh on commit的視圖,那麼還需要下面這個許可權:
grant ON COMMIT REFRESH to username;

2。建立refresh on commit的文法如下,此類實體化視圖在基表的事務commit之後,就會立刻重新整理
CREATE MATERIALIZED VIEW MV_T1
REFRESH FAST ON COMMIT WITH PRIMARY KEY AS SELECT * FROM kamus.t1;

3。如果不指定on commit,那麼預設是on demand,只有手工調用DBMS_MVIEW包中的重新整理過程,實體化視圖才會被重新整理

4。指定了start with ... next ...選項之後,第一次建立會有作一次完整重新整理,然後在指定的時間間隔之後會定時重新整理,本例中重新整理間隔為1分鐘。
文法如下:
CREATE MATERIALIZED VIEW MV_T1
REFRESH FAST START WITH SYSDATE NEXT sysdate+1/24/60 WITH PRIMARY KEY AS SELECT * FROM kamus.t1;
檢查USER_REFRESH視圖和USER_JOBS視圖,我們可以發現start with... 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


相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。