ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 創建預建物化視圖(源表不包含PK)

創建預建物化視圖(源表不包含PK)

原创 Linux操作系统 作者:golden_zhou 时间:2011-08-05 15:59:31 0 删除 编辑
-------創建預建物化視圖之後,只能完全刷新.
----但是在完全刷新之後,物化視圖日誌中的記錄始終不能自動清理.
1.PREROWIDREADONLY表結構如下:---位於MYTEST01上
CREATE TABLE WISON.PREROWIDREADONLY
(
  NAME     VARCHAR2(20 BYTE),
  ADDRESS  VARCHAR2(20 BYTE)
)

2. 先建立物化視圖日誌.---如果存在多個需要同步,則建立多個. ---在MYTEST01上建立
CREATE MATERIALIZED VIEW LOG ON WISON.PREROWIDREADONLY
TABLESPACE USERS
PCTUSED    0
PCTFREE    60
INITRANS   2
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       UNLIMITED
            PCTINCREASE      0
            BUFFER_POOL      DEFAULT
           )
NOCACHE
LOGGING
NOPARALLEL
WITH ROWID
EXCLUDING NEW VALUES;


3.在物化視圖站點上預先創建與物化視圖同名的表
CREATE TABLE WISON.PREROWIDREADONLY
(
  NAME     VARCHAR2(20 BYTE),
  ADDRESS  VARCHAR2(20 BYTE)
)

4.建立物化視圖---在目的數據庫上創建  在目的數據庫上創建DBLINK MYTEST 連接到MYTEST01----不能包含refresh fast和With Rowid關鍵字.
這樣創建之後默認是refresh force on demand with Primary key模式

CREATE MATERIALIZED VIEW WISON.prerowidreadonly
ON PREBUILT TABLE
AS
SELECT prerowidreadonly.NAME NAME,
       prerowidreadonly.ADDRESS ADDRESS
FROM WISON.prerowidreadonly@MYTEST

5. 創建刷新組---在目的數據庫上創建

DECLARE
  SNAPARRAY SYS.DBMS_UTILITY.UNCL_ARRAY;
BEGIN
  SNAPARRAY(1) := 'WISON.prerowidreadonly;
  SNAPARRAY(2) := NULL;
  SYS.DBMS_REFRESH.MAKE (
    NAME => 'WISON.prerowidreadonly
    ,TAB  => SNAPARRAY
    ,NEXT_DATE => TO_DATE('10/19/2010 20:00:00', 'MM/DD/YYYY HH24:MI:SS')
    ,INTERVAL  => 'SYSDATE + 6/1440               '
    ,IMPLICIT_DESTROY => TRUE
    ,LAX => TRUE
    ,JOB => 0
    ,ROLLBACK_SEG => NULL
    ,PUSH_DEFERRED_RPC => TRUE
    ,REFRESH_AFTER_ERRORS => FALSE
    ,PURGE_OPTION => 1
    ,PARALLELISM => 0
    ,HEAP_SIZE => 0
  );
COMMIT;
END;
/

6. 之後每6分鐘就會開始進行兩邊數據同步(會自動創建同步的JOB)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25198367/viewspace-704227/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 閃回查詢語法
请登录后发表评论 登录
全部评论

注册时间:2011-03-09

  • 博文量
    238
  • 访问量
    301007