zoukankan      html  css  js  c++  java
  • 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';

     

  • 相关阅读:
    ESP8266 SDK开发
    硬件基础知识和典型应用-Altium Designer 加载SETP文件设置3D封装
    Golang 协程控制关闭
    Redis主从集群切换数据丢失问题
    Goroutine(协程)的理解
    堆和栈的概念和区别
    golang goroutine实现_golang中的Mutex设计原理详解(一)
    OpenCV cv::Mat.type() 以及各类型数据转换
    python 处理json
    python 文件|路径 常用方法
  • 原文地址:https://www.cnblogs.com/Acamy/p/6550679.html
Copyright © 2011-2022 走看看