ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 創建只讀物化視圖(With Primary Key)

創建只讀物化視圖(With Primary Key)

原创 Linux操作系统 作者:golden_zhou 时间:2011-08-05 15:54:18 0 删除 编辑
1.pkreadonly表結構如下:---位於MYTEST01上
CREATE TABLE WISON.pkreadonly
(
  ID    INTEGER                                 NOT NULL,
  NAME  VARCHAR2(20 BYTE)
)
TABLESPACE USERS
PCTUSED    0
PCTFREE    10
INITRANS   1
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       UNLIMITED
            PCTINCREASE      0
            BUFFER_POOL      DEFAULT
           )
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

CREATE UNIQUE INDEX WISON.pkreadonly_PK ON WISON.pkreadonly
(ID)
LOGGING
TABLESPACE USERS
PCTFREE    10
INITRANS   2
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       UNLIMITED
            PCTINCREASE      0
            BUFFER_POOL      DEFAULT
           )
NOPARALLEL;

ALTER TABLE WISON.pkreadonly ADD (
  CONSTRAINT pkreadonly_PK
 PRIMARY KEY
 (ID)
    USING INDEX
    TABLESPACE USERS
    PCTFREE    10
    INITRANS   2
    MAXTRANS   255
    STORAGE    (
                INITIAL          64K
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      0
               ));



2. 先建立物化視圖日誌.---如果存在多個需要同步,則建立多個. ---在MYTEST01上建立
CREATE MATERIALIZED VIEW LOG ON WISON.pkreadonly
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 PRIMARY KEY
EXCLUDING NEW VALUES;

3.建立物化視圖---在目的數據庫上創建  在目的數據庫上創建DBLINK MYTEST 連接到MYTEST01
CREATE MATERIALIZED VIEW WISON.pkreadonly
TABLESPACE USERS
BUILD IMMEDIATE
REFRESH FAST
AS
SELECT pkreadonly.ID ID,
       pkreadonly.NAME NAME
FROM WISON.pkreadonly@MYTEST

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

DECLARE
  SNAPARRAY SYS.DBMS_UTILITY.UNCL_ARRAY;
BEGIN
  SNAPARRAY(1) := 'WISON.pkreadonly';
  SNAPARRAY(2) := NULL;
  SYS.DBMS_REFRESH.MAKE (
    NAME => 'WISON.pkreadonly'
    ,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;
/

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

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

上一篇: 刷新組 參數
下一篇: 新建刷新組語法
请登录后发表评论 登录
全部评论

注册时间:2011-03-09

  • 博文量
    238
  • 访问量
    300856