首页 > 高考动态 > 正文

如何获得oracle物化视图 定时刷新时 刷新所用的时间 或者是监控 物化视图在jobs中建立的job任务的执行时间

2024-07-25 17:34:40 | 一一教育网

今天一一教育网小编整理了如何获得oracle物化视图 定时刷新时 刷新所用的时间 或者是监控 物化视图在jobs中建立的job任务的执行时间相关信息,希望在这方面能够更好的大家。

本文目录一览:

如何获得oracle物化视图 定时刷新时 刷新所用的时间 或者是监控 物化视图在jobs中建立的job任务的执行时间

如何获得oracle物化视图 定时刷新时 刷新所用的时间 或者是监控 物化视图在jobs中建立的job任务的执行时间

你确定你搜了么。。。
以下是物化视图的建立,注意是refresh mode是 on demand还是on commit
ON DEMAND顾名思义,仅在该物化视图“需要”被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一致性;而ON COMMIT是说,一旦基表有了COMMIT,即事务提交,则立刻刷新,立刻更新物化视图,使得数据和基表一致。
创建物化视图时未作指定,则Oracle按ON DEMAND模式来创建。

但怎么更新?或者说物化视图的数据怎么随着基表而更新?Oracle提供了两种方式,手工刷新和自动刷新,像我们这种,在物化视图定义时,未作任何指定,那当然是默认的手工刷新了。也就是说,通过我们手工的执行某个Oracle提供的系统级存储过程或包,来保证物化视图与基表数据一致性。
所谓的自动刷新,其实也就是Oracle会建立一个job,通过这个job来调用相同的存储过程或包

CREATE MATERIALIZED VIEW mview_name
[TABLESPACE ts_name]
[PARALLEL (DEGREE n)]
[BUILD {IMMEDIATE|DEFERRED}]
[{ REFRESH {FAST|COMPLETE|FORCE}
[{ON COMMIT|ON DEMAND}]
| NEVER REFRESH } ]
[{ENABLE|DISABLE} QUERY REWRITE]
AS SELECT … FROM …
基于你说的情况,有job的定时刷新,应该是on commit的情况,或者是手动建立的job

下面给出我的测试:
create materialized view scott.MV_test_index
refresh force on commit
as
select * from scott.test_index;
SQL> select count(*) from mv_test_index;

COUNT(*)
----------
50195

SQL> delete from test_index where rownum=1;

1 row deleted.

SQL> commit;

Commit complete.

SQL> select count(*) from mv_test_index;

COUNT(*)
----------
50194
这里我们发现commit的时间会有些长,因为同时要刷新物化视图,我们这里其实是重新做了删除物化视图数据和插入新数据的操作(因为刷新的方法是complete,当然你可以选择FAST来做增量刷新,而且fast是首选),然后物化视图已经更新了。
下面是开启session sql trace的结构,你可以看到commit之后oralce所做的操作。
********************************************************************************

commit

call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.11 0.23 0 0 1 0
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 2 0.11 0.23 0 0 1 0

Misses in library cache during parse: 0
Parsing user id: 54
********************************************************************************

SELECT /* OPT_DYN_SAMP */ /*+ ALL_ROWS IGNORE_WHERE_CLAUSE
NO_PARALLEL(SAMPLESUB) opt_param('parallel_execution_enabled', 'false')
NO_PARALLEL_INDEX(SAMPLESUB) NO_SQL_TUNE */ NVL(SUM(C1),:"SYS_B_0"),
NVL(SUM(C2),:"SYS_B_1")
FROM
(SELECT /*+ NO_PARALLEL("MV_TEST_INDEX") FULL("MV_TEST_INDEX")
NO_PARALLEL_INDEX("MV_TEST_INDEX") */ :"SYS_B_2" AS C1, :"SYS_B_3" AS C2
FROM "SCOTT"."MV_TEST_INDEX" SAMPLE BLOCK (:"SYS_B_4" , :"SYS_B_5") SEED
(:"SYS_B_6") "MV_TEST_INDEX") SAMPLESUB

call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 1 0.07 0.19 44 69 0 1
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 3 0.07 0.19 44 69 0 1

Misses in library cache during parse: 1
Misses in library cache during execute: 1
Optimizer mode: ALL_ROWS
Parsing user id: 54 (recursive depth: 2)

Rows Row Source Operation
------- ---------------------------------------------------
1 SORT AGGREGATE (cr=69 pr=44 pw=0 time=196762 us)
10624 MAT_VIEW ACCESS SAMPLE MV_TEST_INDEX (cr=69 pr=44 pw=0 time=1853189 us)

********************************************************************************

delete from "SCOTT"."MV_TEST_INDEX"

call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.02 0.01 0 3 0 0
Execute 1 7.48 9.46 20 321 154984 50194
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 2 7.50 9.48 20 324 154984 50194

Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: 54 (recursive depth: 1)

Rows Row Source Operation
------- ---------------------------------------------------
0 DELETE MV_TEST_INDEX (cr=371 pr=20 pw=0 time=9503556 us)
50194 MAT_VIEW ACCESS FULL MV_TEST_INDEX (cr=310 pr=20 pw=0 time=1355940 us)

********************************************************************************

INSERT /*+ */ INTO "SCOTT"."MV_TEST_INDEX"("OBJECT_ID","OBJECT_NAME") SELECT
"TEST_INDEX"."OBJECT_ID","TEST_INDEX"."OBJECT_NAME" FROM
"SCOTT"."TEST_INDEX" "TEST_INDEX"

call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.01 0.01 0 0 0 0
Execute 1 5.90 12.87 0 777 103790 50193
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 2 5.91 12.88 0 777 103790 50193

Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: 54 (recursive depth: 1)

Rows Row Source Operation
------- ---------------------------------------------------
50193 TABLE ACCESS FULL TEST_INDEX (cr=241 pr=0 pw=0 time=602379 us)

********************************************************************************

BEGIN dbms_session.set_sql_trace(false); END;

接下来看看fast的刷新方法:
CREATE MATERIALIZED VIEW LOG ON scott.test_index; --这里我试过yantinkun的那个网页,是不能加with rowid的,会报错:ORA-23415: materialized view log for does not record the primary key
DROP materialized view log on scott.test_index;
create materialized view scott.MV_test_index
refresh fast on commit
as
select * from scott.test_index;

SQL> exec dbms_session.set_sql_trace(true);

PL/SQL procedure successfully completed.

SQL> delete from test_index where rownum=1;

1 row deleted.

SQL> commit;

Commit complete.

SQL> exec dbms_session.set_sql_trace(false);

PL/SQL procedure successfully completed.

SQL> host
这次的commit快多了,因为只是增量的刷新;
看下log中有这样一行:
DELETE FROM "SCOTT"."MV_TEST_INDEX" SNAP$
WHERE
"OBJECT_ID" = :1
只是找到了多出来的那个object的id,然后从物化视图里删掉就ok了。
可以查看物化视图的开始刷新时间,通过查看视图
select * from mlog$ where mowner='SCOTT' and MASTER='TEST_INDEX'来查找对应建立的物化视图的log,我这里查出来的是scott.MLOG$_TEST_INDEX
然后执行查询就可以看到详细的信息了:
select * from scott.MLOG$_TEST_INDEX

然后是刷新的时间,当刷新选项是commit的时候你是没法看的,只能从session的trace里面估计,
on demand话就是你自定义的job 来执行exec dbms_mview.refresh('MV_TEST_INDEX)
这个是可以看的,可以从user_jobs这个视图来看,里面有个total_time来记录job的执行总时间。

如何获得oracle物化视图 定时刷新时 刷新所用的时间 或者是监控 物化视图在jobs中建立的job任务的执行时间一一教育网

2022天津高考从哪一届物理化学捆绑

2024届。
新高考模式“有调整”,物理化学“捆绑”了到2024年选科的时候,是需要把物理和化学划分到一起的,现在的情况是把物理和历史进行二选一,剩下的科目自由选择。
天津市高考实行分省自主命题,由天津市教育招生考试院具体组织实施。

如何获得oracle物化视图 定时刷新时 刷新所用的时间 或者是监控 物化视图在jobs中建立的job任务的执行时间

在新高考政策下2025年高考物化“捆绑”吗?

一一教育网(https://www.glyydyj.com)小编还为大家带来在新高考政策下2025年高考物化“捆绑”吗?的相关内容。

物理和化学不捆绑,但是有些省份为了均衡选科的人数,某些省份要求报考理学、工学、农学、医学的 本科专业 基本都必选物理和化学。
新高考政策“3+1+2”模式。“3”即 统一高考 科目为语文、数学、外语3门;“1”和“2”为选择性考试科目,其中“1”指从物理或历史科目中选择1门首选科目,“2”指从思想政治、地理、化学、生物学中选择2门再选科目。考生总成绩由3门统一高考成绩和3门普通高中学业水平选择性考试成绩构成,满分750分。其中,3门统一高考科目使用原始成绩计入考生总成绩,每门满分150分;选择性考试中首选科目(物理或历史)使用原始成绩计入考生总成绩,每门满分100分;再选科目按等级分计入考生总成绩,每门满分100分。在招生录取方面,普通高校考试招生采取“两依据、一参考”模式,即依据全国统一高考的语文、数学、外语3门科目成绩和 高中学业水平考试 的3门选考科目成绩,参考学生 综合素质评价 择优录取。

以上就是一一教育网小编给大家带来的如何获得oracle物化视图 定时刷新时 刷新所用的时间 或者是监控 物化视图在jobs中建立的job任务的执行时间全部内容,希望对大家有所帮助!更多相关文章关注一一教育网:www.glyydyj.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“如何获得oracle物化视图 定时刷新时 刷新所用的时间 或者是监控 物化视图在jobs中建立的job任务的执行时间”相关推荐
23高考录取时间 高考录取时间2023年时间表图片
23高考录取时间 高考录取时间2023年时间表图片

2023年辽宁高考录取时间 2023年辽宁省普通高校招生录取工作于7月7日至8月15日进行, 2023辽宁高考本科批预计于7月10日至7月30日左右陆续公布各批次录取结果,各批次时间不一。具体安排时间如下: 普通类: 香港、强基计划招生院校:7月8日晚。 本科提前批:第一阶段7月15日晚,第二阶段7月18日晚。 高水平艺术团招生、教育部高校专项招生:7月18日晚。 本

2024-07-21 20:45:17
北京第二批高考录取时间 高考录取时间2023年时间表图片
北京第二批高考录取时间 高考录取时间2023年时间表图片

今年全国各省的高考志愿填报时间是几号? 各省填报志愿时间不同,详情请留意省考试院通知,有一些教育考试相关的APP也会推送相关信息,同学们留意一下APP就可以了。 一般都是在六月份的下旬开始进行最早批次的填报,按照提前批,本科批和专科批的先后顺序进行填报。 比如去年北京:本科志愿填报时间:6月25日8时至29日20时。专科志愿填报时间:7月21日8时至7月22日20时。历年来的填报志愿

2024-07-19 04:17:30
高考时间是怎么定的?
高考时间是怎么定的?

高考时间是怎么定的? 高考时间是国家教育部科学制定的,以前是7月7日,后来改为6月7日。 《2021年普通高等学校招生工作规定》中明确:2021年全国统考于6月7日开始举行。 具体科目考试时间安排为: 图片 各省(区、市)考试科目名称与全国统考科目名称相同的必须与全国统考时间安排一致。具体考试科目时间安排报教育部考试中心备案后发布。 省级统考和高校的招生考

2024-07-17 21:55:06
永新县三中并入任弼时是真的吗
永新县三中并入任弼时是真的吗

永新县三中并入任弼时是真的吗 不是并入,而是永新县任弼时中学和永新县第三中学整体搬迁至永新县城东新规划区。 2013年01月09日《江西省发展改革委关于永新县任弼时中学和永新县第三中学迁建项目可行性研究报告的批复》: 为满足永新县城东新区教育布局需要,促进整合永新县基础教育资源整合,推进永新县基础教育在规模、结构、质量、效益上协调发展,同意《永新县任弼时中学和永新县第三中学搬迁项目可

2024-06-27 01:33:47
新高考物化绑定的是哪些省份?
新高考物化绑定的是哪些省份?

新高考物化绑定的是哪些省份? 新高考物化绑定的省份如下: 新高考物化绑定的省份一般是新高考3+1+2模式的省份,例如重庆、湖南、广东、湖北、贵州、广西、甘肃等。 拓展: 新教材新高考的省份有浙江、上海等。 1、第一批试点省份:浙江和上海。 2、第二批实行省份:山东、天津、北京、海南。 3、第三批实行省份:湖南、湖北、河北、辽宁、重庆、江苏、福建、广东。 关于

2024-07-24 14:31:17
7高考国家专项计划表 高考录取时间2023年时间表图片
7高考国家专项计划表 高考录取时间2023年时间表图片

高考录取时间2023年时间表图片 2023年全国高考录取时间基本都在 7月初到8月中下旬,每个省份的录取时间不同。 1、北京:7月6日-7月29日。 本科批录取时间:7月6日至7月21日。 专科批录取时间:7月23日至7月29日。 2、上海:7月7日-8月9日。 零志愿批次录取时间:7月7日。 本科普通批次录取时间:7月19日至8月1日。 专科艺体类批次和专科提前

2024-07-24 09:26:20
广东工业大学华立学院一天的学习课程是怎么安排的(比如什么时候是上课时间,休息时间等等)
广东工业大学华立学院一天的学习课程是怎么安排的(比如什么时候是上课时间,休息时间等等)

广州华立学院和广东工业大学华立学院那个好啊? 广州华立学院好。 1、广州华立学院国际交流 学校的国际学院已与英国、美国、泰国、澳大利亚等近20个国家的30所名校签订了联合培养。学校的国际项目覆盖了全校的7个学院和数十个专业。 包括会计学专业、国际经济与贸易专业、工商管理专业、软件工程专业、电气工程及其自动化专业、建筑学专业、环境设计专业等,设有3+1、2+2中外双学士学位项目

2024-07-04 17:07:02
南开中学是什么时候建立的?
南开中学是什么时候建立的?

南开区中学排名 1天津市南开中学。 2天津中学。 3天津市天津大学附属中学(天大附中) 4天津市 南开大学附属中学 (高中) 南开大学附属中学(南大附中)初中。 6天津市第四十三中学(原天津市第七十四中学) 7天津市第三十一中学。 8天津第一零九中学。 9天津市第二十五中学。 天津市南开中学是天津市教育委员会直属重点中学,1904年10月17日,由著名爱国

2024-06-29 20:54:24