Oracle物化視圖,物化視圖日志,增量刷新同步遠程數據庫


1.創建DBLINK

 -- Drop existing database link 
drop public database link LQPVPUB;
-- Create database link
CREATE DATABASE LINK LQPVPUB 6 CONNECT TO "INTEPDM" identified by "password" 8 using "LQPVPUB"

2.創建物化視圖日志(遠程主機操作)

 CREATE MATERIALIZED VIEW LOG ON dm_basicmodel  
WITH PRIMARY KEY
INCLUDING NEW VALUES;

3.創建物化視圖

 CREATE MATERIALIZED VIEW mv_model --創建物化視圖 
 BUILD IMMEDIATE --在視圖編寫好后創建
 REFRESH FAST WITH PRIMARY KEY --根據主表主鍵增量刷新(FAST,增量)
 ON DEMAND -- 在用戶需要時,由用戶刷新 
 ENABLE QUERY REWRITE --可讀寫
 AS
SELECT bm_id,bm_partid,bm_code from dm_basicmodel@LQPVPUB t --查詢語句

4.刪除物化視圖和日志

日志和物化視圖要分開刪除

 DROP MATERIALIZED VIEW LOG ON GG_ZLX_ZHU@TOCPEES;   

 DROP MATERIALIZED VIEW GG_ZLX_ZHU;  

5.物化視圖更新

CREATE OR REPLACE PROCDURE P_MVIEW_REFRESH AS  

BEGIN DBMS_MVIEW.REFRESH('GG_ZLX_ZHU,GG_ZLX_FU','ff'); END P_MVIEW_REFRESH;  

注意:

5.1、如果需要同時刷新多個物化視圖,必須用逗號把各個物化視圖名稱連接起來,並對每個視圖都要指明刷新方式

     (f、增量刷新,c、完全刷新,?、強制刷新)。

5.2、當日志和物化視圖創建好后,刪除日志,則需要重新創建物化視圖,否則無法增量刷新。

5.3、因為上面寫的物化視圖時根據主鍵進行更新,因此,主表必須有主鍵。

6.查詢刷新情況

對於完全刷新(Complete),刷新耗時會記錄在DBA_MVIEW_ANALYSIS的FULLREFRESHTIM列中。

而對於可快速刷新(Fast)的時間,會記錄在INCREFRESHTIM列中。

這兩個值的單位都是秒。
SELECT mview_name, last_refresh_date, fullrefreshtim, increfreshtim
FROM dba_mview_analysis
WHERE owner='JOHN';

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM