问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle几之后支持物化视图功能?

发布网友 发布时间:2022-04-07 22:41

我来回答

3个回答

懂视网 时间:2022-04-08 03:03


后续当我们对IRDB_NETWORK_MASTER、IRDB_NETWORK_GSM_DETAIL、IRDB_NETWORK_CODES和IRDB_COUNTRY_MASTER这四个业务基表中的任何一个或者多个进行DML commit的时候,物化视图IRDB_NETWORKLIST就能自动更新了。当然了,基表与物化视图的同步也是有一定代价的,但如果不建立物化视图,那么每次外部调用都会去查询基表,而物化视图会将这种压力分散,将基表查询、基表连接与外部业务接口访问错开,有利于降低数据库负载的peak值,这也是数据库性能优化的核心思想之一。


2、高级复制

很多业务场景,我们不需要对整个数据库进行同步,只需要对部分表的部分字段进行同步,这个时候,物化视图可以派上用场。下面是某直辖市移动彩铃业务数据库结构图:

技术分享



这里,一台P650小机作为管理节点,负责业务开销户、业务话单等数据处理,其余5台P650小机作为呼叫节点使用,只提供用户数据的查询功能。这里不需要用DG等全库同步的技术,因为呼叫节点只需要同步部分与呼叫业务相关的数据。管理节点建立物化视图,这里以t_userinfo用户表为例:

CREATE MATERIALIZED VIEW                     

usdptemp.T_USERINFO_MV

REFRESH  FAST                                

AS                                           

selectPHONENUMBER,LOCALID,BRANDID,PAYKIND from usdp604.T_USERINFO


在呼叫节点建立一个同义词:

create or replace synonym T_USERINFO
 for T_USERINFO_mv;

这样子可以保持和管理节点完全一样的对象名称。

然后建立一个刷新组,每10秒刷新一次物化视图:

--create a refresh group

BEGIN   

   DBMS_REFRESH.MAKE(   

   name => ‘usdpsync‘,   

    list => ‘T_USERINFO_mv‘,   

    next_date=> sysdate,   

    interval => ‘sysdate + 10/86400‘   

);   

END;   

/

呼叫节点上的T_USERINFO_mv是从管理节点上的临时用户impdp过来的,用的dblink,所以,呼叫节点上的T_USERINFO_mv和管理节点上的物化视图日志是绑在一起的。


物化视图在使用过程中,还有几点需要留意,在此罗列一下:

1、物化视图有两种刷新模式ON DEMAND和ON COMMIT,前者需要调用dbms_mview手工刷新,后者在基表提交的时候会自动刷新。如果建立物化视图的时候不指定刷新方式,默认是ON DEMAND,此时一般需要建立一个job,在job里按照某个固定周期调用dbms_mview进
行刷新。

2、物化视图日志在建立时有多种选项:可以指定为ROWID、PRIMARY KEY和OBJECT ID几种类型,同时还可以指定SEQUENCE或明确指定列名。上面这些情况产生的物化视图日志的结构都不相同。

3、刷新方法有四种:fast、complete、force和never。
fast是增量刷新,只刷新上次刷新以后进行的修改。
complete是对整个物化视图进行完全的刷新。
force,oracle在刷新时会判断是否可以进行快速刷新,如果可以进行fast,否则进行complete
never,物化视图不进行任何刷新。

如果要进行快速刷新,必须建立物化视图日志。物化视图日志命名规则为mlog$_+基表名称。
查看当前系统的物化视图日志表:
select * from dba_mview_logs;

force方式刷新则不需要建立物化视图日志。


4、如果物化视图遇到同步问题,紧急情况下,可以执行手动刷新:

SQL> exec dbms_mview.refresh(‘IRDB_NETWORKLIST‘);
PL/SQL procedure successfully completed

此时会根据基表对IRDB_NETWORKLIST物化视图进行刷新。


5、物化视图日志优化:

对于物化视图日志,我们可以建立索引提高性能。同时在排查同步慢等性能问题的时候也需要检查看是否出现高水位,物化视图日志表的高水位会影响刷新性能,处理高水位的方法,在此省略。

本文出自 “记忆碎片” 博客,谢绝转载!

oracle物化视图的两个典型应用场景

标签:oracle 物化视图

热心网友 时间:2022-04-08 00:11

物化视图(Materialized View)在9i以前的版本叫做快照(SNAPSHOT),从9i开始改名叫做物化视图。其实无论是快照还是物化视图,都能体现出这个对象的特点。
物化视图中的数据来自于基表某个时刻(物化视图的创建时刻,或刷新时刻),因此可以认为是基表都个时刻的快照。
物化视图和视图类似,反应的是某个查询的结果,但是和视图仅保存SQL定义不同,物化视图本身会存储数据,因此是物化了的视图。

根据使用功能来分,物化视图可以分为用于数据复制的,或用于预计算查询重新的两个方面。
物化视图本身有具有很多特性,根据创建方式、刷新方式、是否可更新、是否支持查询重新等可以将物化视图进行进一步的细分。

热心网友 时间:2022-04-08 01:29

开机以后等一会儿,会自动同步的。
你手工REFRESH一下当然也可以了。
2. 没有啥需要解决的,肯定是不能自动刷新的,间隔时间必须有的。
3. 必须先删除MV,再删除MV LOG
4. 支持,本来就是干这个使的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我用耳机玩爱唱久久怎么唱出来的不响? 电脑ktv点歌软件有哪些电脑用什么点歌软件比较好 更换变速箱油后,汽车刹车和起步时底盘常有嘎啦嘎啦的异响是什么原因... 格兰仕空调口碑怎么样 格兰仕空调的优缺点有哪些? 格兰仕空调怎么样?质量好吗? 什么是PNC金融服务集团 挖出蛇是好事还是坏事? 微信换行怎么换到下一行 微信如何将自己的位置定位发绐别人 铁剂不能和什么药一起吃 荣耀V20手机照片为何经常丢失? 为什么斗鱼鸡哥的户外直播看不了 打离婚官司争夺小孩抚养权,请律师要花多少钱 打抚养权官司需要多少钱 我想要回孩子抚养权请律师需要花多少钱 打离婚官司,争孩子抚养权·请律师要多少钱 起诉抚养权需要多少钱 手工鸡毛毽子的做法步骤 怎样绑鸡毛钩 吃到鸡里面有鸡毛要怎么赔付 鸡毛掸子会打断吗?见一篇文章说父亲打自己打断过两条鸡毛掸子 请问黄百鸣演的一部电影,他拿着一条鸡毛能*的,请问片名叫什么? 周公解梦梦见从自己嘴里拉出一条鸡毛线 一条鸡毛飞上天,猜生肖? 中央民族大学周边哪里有大一点的五金店? 一条鸡毛飞上天.猜一生肖? 一条鸡毛飞上天 だよ是什么意思? solidworks树模型中特征图标带条鸡毛是怎么回事?要怎样才能去掉? 铁剂不能和什么一起吃 在哪能看美国的直播?我记得斗鱼上以前有人在美国户外直播的,现在怎么找不到了??? 荣耀X20更新之后相片不见了 铁剂不能和什么同食 铁剂不能和什么同时服用 哪些食物不宜与铁剂同服 补铁剂不能和什么一起吃 铁不能和什么一起吃 口服铁剂为何不能与咖啡,茶,牛奶同服? 女用蝴蝶怎么用的 人从多大年龄开始花眼? 联想台式电脑连接不上WiFi? 花眼一般多大年龄 淘宝上拍下穿戴蝴蝶,遥控的,用过的说下感受 联想b450为什么连不上无线网络 电脑绘画用什么软件最好?(除金山画王) 339为什么被封了? 补铁不能和什么一起吃 联想电脑为什么连接不到wifi 斗鱼直播有个父子俩人野外生存的已经好长时间没播了为什么