一、准备条件以及备注
假设双方数据库都是ORACLE10g,需要同步过来的表名叫:GG_ZLX_ZHU,对方数据库用户名:username,密码:password,SID:CPEES。
二、开始干活
1、首先要创建DB_LINK
CREATE DATABASE LINK to_cpees
CONNECT TO "username" identified by "password"
using "CPEES"
其中CPEES为新建的到对方数据库的TNS。执行,现在我们就已经创建了到对方数据库的DB_LINK TO_CPEES。
2、创建物化视图快速刷新日志
因为上面说过,以后视图的刷新将采用增量刷新的方式,因此,为配合增量刷新,ORACLE要求要在住表上建立物化视图日志。
CREATE MATERIALIZED VIEW LOG ON GG_ZLX_ZHU
WITH PRIMARY KEY
INCLUDING NEW VALUES;
(上面的SQL要在远程数据库上执行,不能在本地执行)
3、创建物化视图
物化视图,从名字上面来开,它应该是属于视图,但是确实物化。其物化是针对普通视图并没有真正的物理存储而言,其实可以简单的把物化视图看做一个物理表(不再做具体解释)。
CREATE MATERIALIZED VIEW GG_ZLX_ZHU --创建物化视图
BUILD IMMEDIATE --在视图编写好后创建
REFRESH FAST WITH PRIMARY KEY --根据主表主键增量刷新(FAST,增量)
ON DEMAND -- 在用户需要时,由用户刷新
ENABLE QUERY REWRITE --可读写
AS
SELECT * FROM GG_ZLX_ZHU@TO_CPEES; --查询语句
4、视图刷新
根据业务需要,每月不定时刷新,所以不能是JOB,而且数量多,所以也不能一个一个刷新。根据以上条件,选择使用ORACLE自带工具DBMS_MVIEW工具包中REFRESH方法对物化视图进行刷新。该方法有两个参数,第一个参数是需要刷新的物化视图名称,第二个参数是刷新方式。我们可以写存储过来,对每个物化视图调用一次REFRESH方法,也可以使用“,”把物化视图连接以来,一次刷新。如下:
CREATE OR REPLACE PROCDURE P_MVIEW_REFRESH AS
BEGIN
DBMS_MVIEW.REFRESH('GG_ZLX_ZHU','f');
END P_MVIEW_REFRESH;
或者使用
CREATE OR REPLACE PROCDURE P_MVIEW_REFRESH AS
BEGIN
DBMS_MVIEW.REFRESH('GG_ZLX_ZHU,GG_ZLX_FU','ff');
END P_MVIEW_REFRESH;
注意:
1、如果需要同时刷新多个物化视图,必须用逗号把各个物化视图名称连接起来,并对
每个视图都要指明刷新方式(f、增量刷新,c、完全刷新,?、强制刷新)。
2、当日志和物化视图创建好后,删除日志,则需要重新创建物化视图,否则无法增量
刷新。
3、因为上面写的物化视图时根据主键进行更新,因此,主表必须有主键。
4、以上文章中红色是为可替换的,大家可以根据自己项目需求来修改。
希望上面的内容对大家能有帮助。
忘了写删除方法了,日志和物化视图要分开删除
DROP MATERIALIZED VIEW LOG ON GG_ZLX_ZHU@TOCPEES;
DROP MATERIALIZED VIEW GG_ZLX_ZHU;
分享到:
相关推荐
Oracle物化视图是一种数据库对象,它存储了查询结果,以提供快速的数据访问,特别适合于需要频繁查询但计算过程复杂或涉及大量数据连接的场景。物化视图的使用可以显著提高查询性能,因为它避免了每次查询时的计算...
物化视图可以分为四种类型:快照物化视图、积极物化视图、消极物化视图和非常消极物化视图。 为什么使用物化视图?在执行某些查询时,效率较低,传统方法(例如,索引或查询优化)无法显著提高效率。这时使用的方法...
Oracle数据库中的物化视图(Materialized View,简称MV)是一种强大的优化工具,它通过预先计算并存储查询结果,提供了一种快速访问复杂查询数据的方式。这种技术在数据仓库环境中尤其有用,因为数据仓库通常涉及...
### ORACLE9I 物化视图 #### 执行概览 随着数据库技术的发展,无论是数据仓库、数据集市还是在线事务处理(OLTP)系统,都承载着大量的等待被发现和理解的信息。然而,在海量数据中及时准确地查找并呈现这些信息...
Oracle物化视图是一种在数据库中预先计算并存储视图查询结果的数据对象,它与普通的视图不同,普通视图在查询时动态地基于基表数据生成结果,而物化视图则拥有自己的物理存储,提供了对数据的快速访问。在本篇循序渐...
物化视图的快速刷新 物化视图是 Oracle 中的一种性能优化技术,它可以将复杂的查询结果存储在一个物化视图中,以便快速地检索数据。物化视图有三种刷新方式:COMPLETE、FAST 和 FORCE。 COMPLETE 刷新方式会删除表...
物化视图与普通视图是数据库中两种不同的视图类型,它们在功能和使用上有显著的区别。普通视图,也称为虚拟视图,是一种逻辑上的表,它并不实际存储数据,而是根据定义的SQL查询在运行时动态生成结果。这意味着每次...
### 创建物化视图ORA-12014错误解决方法 #### 背景介绍 在Oracle数据库中,物化视图(Materialized View)是一种用于优化查询性能的重要工具。它预先计算并存储了复杂的查询结果,从而在实际查询时能够快速地返回...
物化视图是数据库系统中一个非常重要的特性,它提供了预计算和存储查询结果的方式,以提高数据查询的效率。物化视图可以看作是虚拟视图的实体化版本,其内容是从一个或多个表中通过特定的SQL查询生成的。在实际应用...
Oracle 物化视图创建和使用 Oracle 物化视图是一种预先计算并保存表连接或聚集等耗时较多的操作的结果,以提高查询性能。物化视图对应用程序透明,不会影响应用程序的正确性和有效性,但需要占用存储空间。基表发生...
Oracle 物化视图 Oracle 物化视图是数据库对象,存储远程表的数据副本,也可以称为快照。物化视图可以查询表、视图和其他物化视图。通常情况下,物化视图被称为主表(在复制期间)或明细表(在数据仓库中)。 创建...
### Oracle 物化视图详解 #### 一、物化视图的概念与作用 物化视图是Oracle数据库中一种特殊的数据对象,它保存的是基于一个或多个表(称为基表)的查询结果集,并且这些结果集是物理上存在的。与普通的视图不同,...
### 物化视图在Oracle数据仓库中的应用与优化 #### 一、引言 在当今数据驱动的时代背景下,企业越来越依赖于数据仓库来进行决策支持系统(DSS)的构建,以便更好地理解业务趋势并做出战略性的分析。数据仓库的设计...
Oracle物化视图是数据库管理系统中的一个重要特性,尤其在处理大量数据和复杂查询的场景下,它可以极大地提升查询性能和数据一致性。物化视图与普通的视图不同,后者是逻辑上的虚表,其内容在查询时动态计算,而物化...
orace表分区及物化视图 进一步了解oracle表分区技术及物化视图技术应用
真正值得一看的mysql知识。MySQL中实现物化视图(中文版)翻译于外文。
Doris 物化视图和索引的典型应用案例 Doris 是一个开源的分布式分析型数据库,旨在帮助用户快速处理海量数据,提供了物化视图和索引等功能,以提高查询性能和数据的一致性。下面将详细介绍 Doris 的物化视图和索引...
"利用ORACLE物化视图建立报表数据库.pdf" 本文主要介绍了利用ORACLE物化视图建立报表数据库的方法和原理。报表数据库是指独立于生产数据库的数据库,用于存储和管理报表数据。通过建立报表数据库,可以实现工作负荷...
### ORACLE使用物化视图和查询重写功能 #### 一、概述 在Oracle数据库中,物化视图和查询重写功能是提高查询效率和简化数据仓库管理的重要工具。物化视图是一种预计算的数据集合,它可以存储查询的结果集,而查询...
物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建