1.創建DBLINK 2.創建物化視圖日誌(遠程主機操作) 3.創建物化視圖 4.刪除物化視圖和日誌 日誌和物化視圖要分開刪除 5.物化視圖更新 註意: 5.1、如果需要同時刷新多個物化視圖,必須用逗號把各個物化視圖名稱連接起來,並對每個視圖都要指明刷新方式 (f、增量刷新,c、完全刷新,?、強制刷 ...
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';