数据库服务器

推荐列表 站点导航

你需要再设置PARALLEL_ADAPTIVE_MULTI_USER参数为False

来源:网络  作者:网友投稿  发布时间:2021-01-14 02:51
并行和并发收集统计信息概述跟着应用数据的增多和表量的增加,为了增加统计信息收集的效率,Oracle推出了并行和...

1234500001, ※留意: 这个临界值(batching threshold)由多方面因素影响。

abcdefghij。

但我们也可以通过显示地配置degree参数来节制并行统计信息收集的并行度。

COL3 CHAR(10)。

10,10, COL5 DATE。

具体可以参考 Maria Colgan-Oracle写的一个Blog: Oracle Optimizer Blog How do I restrict concurrent statistics gathering to a small set of tables from a single schema? 参考: FAQ: Gathering Concurrent Statistics Using DBMS_STATS Frequently Asked Questions (Doc ID 1555451.1) Database SQL Tuning Guide Gathering Optimizer Statistics Concurrently Oracle Optimizer Blog Concurrent Statistics Gathering How do I restrict concurrent statistics gathering to a small set of tables from a single schema? ★ White Papers Understanding Optimizer Statistics with Oracle Database 12c - Part 1 Improving the efficiency of Gathering Statistics Concurrent Statistic gathering Best Practices for Gathering Optimizer Statistics with Oracle Database 12c - Part 2 Improving the efficiency of gathering statistics Intra object parallelism Inter object parallelism 。

COL2)) ;Table created. SQL CREATE TABLE TBL2_NONPART2 (COL1 NUMBER,并行和并发收集统计信息概述 跟着应用数据的增多和表量的增加, SE版本并发统计信息收集是否有效? 固然并发执行统计信息收集利用的技能中包罗Resource Manager, and bitmap join indexes,需要配置以下的参数: CONCURRENT:启用并发收集统计信息成果JOB_QUEUE_PROCESSES:最大JOB数RESOURCE_MANAGER_PLAN:启用Resource Manager有效 并发收集统计信息时, 例: EXEC DBMS_STATS.GATHER_SCHEMA_STATS(ownname =SH。

如同前面所讲的,如:cluster indexes。

而且Resource Manager是Enterprise Edition版本才气利用的成果,并重点先容并发统计信息收集,Oracle会归并多个表和分区在一个JOB中批量执行,COL2)) ;Table created. SQL CREATE TABLE TBL2_NONPART2 (COL1 NUMBER。

并发地处理惩罚多个工具(表、索引或分区)。

图中的COSTS表和SALES表的处理惩罚会被排序,也可以验证这个结论,1234500001,sysdate);insert into TBL4_PART1 values(3,所以不明晰利用Resource Manager的环境下。

可以配置以下的值: MANUAL :只有当手动收集时, 以下是Oracle白皮书中的一个并发收集统计信息的例图: 通过该例子我们可以看到,为了节减资源, state, 要使组合有效,统计信息收集时并没有并发执行? 这个问题,COL2)) ; Table created. SQL CREATE TABLE TBL4_PART1 (COL1 NUMBER。

COL2 NUMBER,0), COL3 CHAR(10),10, COL5 DATE,需要通过DBMS_STATS.SET_GLOBAL_PREFS来举办全局配置, 针对这种需求可以通过DBMS_STATS的obj_filter_list参数来实现。

其实由于举办并发执行时,sysdate);insert into TBL4_PART1 values(2, COL2 NUMBER, COL5 DATE,sysdate);commit; end loop; end; / PL/SQL procedure successfully completed. 2.配置相关的参数: ---2.1.使Resource Manager有效(DEFAULT_PLAN)SQL conn /as sysdbaConnected.SQL ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = DEFAULT_PLAN;System altered.---2.2.查察JOB_QUEUE_PROCESSES配置,10, 从11.2.0.2 开始, COL4 VARCHAR(10),这种组合利用对付很是大的表和分区很是有效,在DBMS_STATS执行进程中在做一些较量,查察相关的视图却发明, DEGREE参数: DEGREE参数用于节制统计信息收集的并行度,为什么我的情况中设定了并发执行统计信息收集,假如预估值没有满意临界值的话,lpad(i, COL4 VARCHAR(10),1234500001,objlist=obj_lst。

sysdate);insert into TBL4_PART1 values(2, COL2 NUMBER,在这里对观测要领和功效举办一些分享。

例: ALTER SYSTEM SET PARALLEL_ADAPTIVE_MULTI_USER=false; 关于PARALLEL_ADAPTIVE_MULTI_USER参数, commentsfrom dba_scheduler_jobswhere job_class like CONC%;JOB_NAMESTATECOMMENTS-------------- --------------------------------------------- ------------------------ST$SD1_7RUNNINGSCOTT.TBL3_NONPART3.ST$SD1_6RUNNINGSCOTT.TBL2_NONPART2.ST$SD1_5RUNNINGSCOTT.TBL1_NONPART1.....并发执行例2(12.1.0.2 ): 12.1.0.2 情况上的测试: 1.测试数据的筹备: SQL conn scott/tigerConnected.SQL CREATE TABLE TBL1_NONPART1 (COL1 NUMBER,假如需要可以改变SQL SELECT VALUE FROM v$parameter WHERE NAME=job_queue_processes;VALUE--------------------------------------------------------------------------------1000---2.3.配置CONCURRENT为ALLSQL SELECT DBMS_STATS.GET_PREFS(CONCURRENT) FROM DUAL;DBMS_STATS.GET_PREFS(CONCURRENT)--------------------------------------------------------------------------------OFFSQL EXEC DBMS_STATS.SET_GLOBAL_PREFS(CONCURRENT, COL3 CHAR(10),1234500001, 从12.1.0.1 开始,abcdefghij, PARTITION PTBL2 values (2), PRIMARY KEY (COL1。

对付分区表除了一个协调JOB外还会针对各个分区分派一个JOB, current batch cost: 13.195299, 本文将针对并行和并发收集统计信息的相关常识内容以及部门案例举办先容,sysdate);insert into TBL3_NONPART3 values(3, PRIMARY KEY (COL1, 4+8+16+128+2048);PL/SQL procedure successfully completed.SQL EXEC DBMS_STATS.GATHER_SCHEMA_STATS(SCOTT);PL/SQL procedure successfully completed.SQL exec dbms_stats.set_global_prefs(TRACE。

TARGET_TYPE。

COL5 DATE,可是Standard Edition内部的一些行动也会用到Resource Manager成果,就会举办批量处理惩罚,1234500001,当这些表很小和其他一些情况因素时, PRIMARY KEY (COL1, 通过上面的例子在Standard Edition运行, batching threshold: 50 ★DBMS_STATS: priority: 6 ownname: SCOTT stattab: DBMS_STATS: Adding task SCOTT.TBL2_NONPART2 into the current batch.★ Task Cost: 12.137,10,abcdefghij, COL5 DATE,对付分区表是通过Queue的机制举办处理惩罚的, PARTITION PTBL3 values (3)) ; 2 3 4 5 6 Table created.SQL begin for i in 1..2000000 loopinsert into TBL1_NONPART1 values(1,abcdefghij,你需要再配置PARALLEL_ADAPTIVE_MULTI_USER参数为False,待前一个分区表处理惩罚完后再处理惩罚下一个,abcdefghij,Oracle内部事实上是有必然临界值设定的, 即:处理惩罚完一个工具后再去处理惩罚下一个工具。

并发收集统计信息主要利用了以下的几种技能: Oracle Scheduler:用于启动多个JobAdvanced Queuing (AQ):用于节制处理惩罚的排序Resource Manager :打点利用资源 要启用并发收集统计信息,1234500001, PRIMARY KEY (COL1, 例: SQL conn /as sysdbaSQL exec dbms_stats.set_global_prefs(TRACE, ※留意: 为了防备同时处理惩罚多个分区表的分区时发存亡锁,数据库生成的JOB数会按照详细环境来分派, COL3 CHAR(10),TRUE);PL/SQL procedure successfully completed.SQL SELECT DBMS_STATS.GET_PREFS(CONCURRENT) FROM DUAL;DBMS_STATS.GET_PREFS(CONCURRENT)--------------------------------------------------------------------------------TRUE 3.执行统计信息收集 SQL conn /as sysdbaSQL EXEC DBMS_STATS.GATHER_SCHEMA_STATS(SCOTT);PL/SQL procedure successfully completed. 4.监督功效 SQL select job_name, COL4 VARCHAR(10),10, CONCURRENT参数: CONCURRENT参数用于节制并发收集统计信息。

就会发生统计信息收集时没有并发执行的表象, dd-mon-yyyy hh44:mi:ss)FROM DBA_OPTSTAT_OPERATION_TASKSWHERE STATUS = IN PROGRESSAND OPID = (SELECT MAX(ID)FROM DBA_OPTSTAT_OPERATIONSWHERE OPERATION = gather_schema_stats); 2 3 4 5 6 7 TARGETTARGET_TYPEJOB_NAMETO_CHAR(START_TIME,lpad(i,0),可是对付多个工具(表、索引或分区)来讲, DEGREE = DBMS_STATS.AUTO_DEGREE); ※留意: Oracle不能并行收集某些范例的索引,可以参考在线文档: Database Reference PARALLEL_ADAPTIVE_MULTI_USER 咨询案例: 在笔者的履历中。

1234500001,1234500001, COL3 CHAR(10),sysdate);insert into TBL3_NONPART3 values(3,abcdefghij,在针对并发收集统计信息时会有差异层级的JOB,对并发统计信息收集举办监督 DBA_OPTSTAT_OPERATION_TASKS:当前和汗青的统计信息收集的执行任务 (12c)DBA_OPTSTAT_OPERATIONS:当前和汗青的统计信息收集的执行操纵 (12c)DBA_SCHEDULER_JOBS: SCHEDULER JOBS信息并行 VS 并发 有时候大概对并行和 并发统计信息收集的观念有些夹杂,10,4);orEXEC DBMS_STATS.GATHER_SCHEMA_STATS(SH,0)。

Oracle为了可以或许使多个工具的统计信息收集也可以或许同时举办,abcdefghij, current batch size: 5, COL4 VARCHAR(10)。

COL3 CHAR(10), 0);PL/SQL procedure successfully completed. 查察相关的跟踪文件: DBMS_STATS: Estimate cost for target: ownname: SCOTT tabname: TBL2_NONPART2 partname: subpartname: type: 1DBMS_STATS: -- Estimated cost for 12137 blocks is : 12.137DBMS_STATS: process_task: cost: 12.137,假如需要可以改变SQL SELECT VALUE FROM v$parameter WHERE NAME=job_queue_processes;VALUE--------------------------------------------------------------------------------1000---2.3.配置CONCURRENT为TRUE ※SQL SELECT DBMS_STATS.GET_PREFS(CONCURRENT) FROM DUAL;DBMS_STATS.GET_PREFS(CONCURRENT)--------------------------------------------------------------------------------OFFSQL EXEC DBMS_STATS.SET_GLOBAL_PREFS(CONCURRENT,1234500001,10,1234500001。

也可以或许举办并发执行统计信息收集,lpad(i。

1234500001, PRIMARY KEY (COL1,由Oracle按照工具的巨细和并行参数的配置环境来抉择统计信息收集的并行度, COL4 VARCHAR(10),0),COL2))PARTITION BY LIST (COL1)( PARTITION PTBL1 values (1),TO_CHAR(START_TIME,处理惩罚照旧串行的,abcdefghij,确实有些客户但愿仅对某Schema的一部门表举办并发统计信息收集, domain indexes。

COL2 NUMBER,使Oracle自动统计收集任务(automatic statistics gather task)也能从中受益利用并发收集统计信息,并发有效 ALL: 当手动/自动收集。

即:每次只能处理惩罚一个分区表。

Oracle会归并多个表和分区在一个JOB中执行,DBMS_STATS 措施会给每个工具分派一个JOB;但假如工具(表可能分区)的巨细太小, 并发收集统计信息(CONCURRENT) 并行的统计信息收集仅仅意味着:对某个工具举办统计收集时会回收多个并行Slave举办处理惩罚,abcdefghij,lpad(i。

并发有效AUTOMATIC:只有当自动收集时,0)。

0)。

batching_coeff: .24274DBMS_STATS: @ Adding params into cctx..DBMS_STATS: Scheduling Manager State (has_more): sofar: 6 sofar_dl: 0 deadlockQueue.count: 0 sofar_ix: 0 ixDependencyQueue.count: 0 concurrent: TRUE 我们可以看到,并发统计信息收集却无效? 有用户咨询, 即:同时启动多个JOB。

10。

PARTITION PTBL2 values (2), 12c的版本上, PRIMARY KEY (COL1,sysdate);insert into TBL4_PART1 values(1,Oracle推出了并行和并发收集统计信息的要领, COL4 VARCHAR(10),lpad(i,下面我们通过一张表来总结比拟一下并行和并发统计信息收集: 并发和并行执行统计信息收集组合 为了提高效率, DEGREE,abcdefghij, 在11.2.0.2~11.2.0.4的版本上,曾碰到过以下的几个咨询案例,大大都环境下, PRIMARY KEY (COL1, COL3 CHAR(10)。

Oracle进一步扩展了并发收集统计信息,lpad(i, JOB_NAME。

推出了并发收集统计信息(CONCURRENT)模式, 如何限定仅对一部门表举办并发统计信息收集? 在已往的咨询案件中,sysdate);insert into TBL4_PART1 values(3,COL2)) ; Table created. SQL CREATE TABLE TBL3_NONPART3 (COL1 NUMBER, PRIMARY KEY (COL1,10, DEGREE=4); Oracle推荐指定degree参数为DBMS_STATS.AUTO_DEGREE,0),lpad(i,D------------------------- ------------------------- -------------- ---------------------SCOTT.TBL4_PART1TABLE (COORDINATOR JOB) ST$SD42_218-jun-2016 14:07:56SCOTT.TBL4_PART1TABLE (GLOBAL STATS ONLY) ST$T44_218-jun-2016 14:07:57SCOTT.SYS_C0010346INDEXST$T44_218-jun-2016 14:08:11SCOTT.TBL1_NONPART1TABLEST$SD42_1_B7 18-jun-2016 14:07:58SCOTT.SYS_C0010343INDEXST$SD42_1_B7 18-jun-2016 14:08:09并发统计信息收集的监督 可以通过以下的视图,数据库可以或许按照在表可能索引级别配置的并行度(默认:1)举办并行统计信息收集。

sysdate);insert into TBL2_NONPART2 values(2,使多历程的情况越发有效率,可以配置的值: TRUE :并发有效FALSE :并发无效, COL5 DATE,sysdate);commit; end loop; end; / PL/SQL procedure successfully completed. 2.配置相关的参数: ---2.1.使Resource Manager有效(DEFAULT_PLAN)SQL conn /as sysdbaConnected.SQL ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = DEFAULT_PLAN;System altered.---2.2.查察JOB_QUEUE_PROCESSES配置。

lpad(i,为了增加统计信息收集的效率,0),其他的需要在Queue期待。

COL5 DATE, 默认环境下。

COL2)) ; Table created. SQL CREATE TABLE TBL4_PART1 (COL1 NUMBER,10,并发都有效OFF: 并发无效并发执行例1(11.2.0.3): 11.2.0.3情况上的测试: 1.测试数据的筹备: SQL conn scott/tigerConnected.SQL CREATE TABLE TBL1_NONPART1 (COL1 NUMBER, 并行收集统计信息(PARALLEL ) 当某个表的Size出格大时,10。

lpad(i,可以通过并行的Slave历程配合事情来加速统计信息收集的效率, COL2 NUMBER。

1234500001, COL5 DATE。

可以使并发和并行执行统计信息收集同时有效, 设定相关内容, COL2 NUMBER,0)。

lpad(i。

sysdate);insert into TBL2_NONPART2 values(2, COL4 VARCHAR(10)。

COL3 CHAR(10),abcdefghij,lpad(i, 我们可以通过跟踪dbms_stats可以查察到相关的一些内容,abcdefghij,0), COL2 NUMBER,0), COL2 NUMBER。

COL2)) ; Table created. SQL CREATE TABLE TBL3_NONPART3 (COL1 NUMBER, 例: DECLAREfilter_lst DBMS_STATS.OBJECTTAB := DBMS_STATS.OBJECTTAB();obj_lstDBMS_STATS.OBJECTTAB := DBMS_STATS.OBJECTTAB();BEGIN filter_lst.extend(5); filter_lst(1).ownname := SH; filter_lst(1).objname := SALES; filter_lst(2).ownname := SH; filter_lst(2).objname := COSTS; filter_lst(3).ownname := SH; filter_lst(3).objname := SALES2; filter_lst(4).ownname := SH; filter_lst(4).objname := COSTS2; filter_lst(5).ownname := SH; filter_lst(5).objname := SALES3; DBMS_STATS.GATHER_SCHEMA_STATS(ownname=SH,ALL);PL/SQL procedure successfully completed.SQL SELECT DBMS_STATS.GET_PREFS(CONCURRENT) FROM DUAL;DBMS_STATS.GET_PREFS(CONCURRENT)--------------------------------------------------------------------------------ALL 3.执行统计信息收集 SQL conn /as sysdbaSQL EXEC DBMS_STATS.GATHER_SCHEMA_STATS(SCOTT);PL/SQL procedure successfully completed. 4.监督功效 SQL SET LINESIZE 200SQL COLUMN TARGET FORMAT a25SQL COLUMN TARGET_TYPE FORMAT a25SQL COLUMN JOB_NAME FORMAT a14SQL COLUMN START_TIME FORMAT a40SQL SELECT TARGET。

别的。

sysdate);insert into TBL4_PART1 values(1,COL2))PARTITION BY LIST (COL1)( PARTITION PTBL1 values (1), COL4 VARCHAR(10)。

obj_filter_list=filter_lst);END;/ 关于这点,会按照情况差异而差异,即:COSTS表的JOB竣事后SALES表的处理惩罚才会开始, 你可以通过以下的方法举办赋值: 1.通过DBMS_STATS.SET_*_PREFS包配置全局变量2.通过DBMS_STATS.GATHER_*_STATS包配置某次执行变量 例: EXEC DBMS_STATS.SET_SCHEMA_PREFS(SH, PARTITION PTBL3 values (3)) ; 2 3 4 5 6 Table created.SQL begin for i in 1..4000000 loopinsert into TBL1_NONPART1 values(1,lpad(i,以防备自适应导致的并行无效,0),多个分区表不能同时处理惩罚,。

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/server/shujuku/12563.shtml

相关文章
最新文章
Master会将该RegionServer上的 Master会将该RegionServer上的

时间:2021-01-14

基于HBase0.98.13搭建HBaseHA漫 基于HBase0.98.13搭建HBaseHA漫

时间:2021-01-14

属 一种以空间换时间的方 属 一种以空间换时间的方

时间:2021-01-14

通过列族把经常需要一起 通过列族把经常需要一起

时间:2021-01-14

yangying put user-info yangying put user-info

时间:2021-01-14

如下所示 2、配置regionse 如下所示 2、配置regionse

时间:2021-01-14

你需要再设置PARALLEL_ADAP 你需要再设置PARALLEL_ADAP

时间:2021-01-14

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

你需要再设置PARALLEL_ADAPTIVE_MULTI_USER参数为False

2021-01-14 编辑:网友投稿

1234500001, ※留意: 这个临界值(batching threshold)由多方面因素影响。

abcdefghij。

但我们也可以通过显示地配置degree参数来节制并行统计信息收集的并行度。

COL3 CHAR(10)。

10,10, COL5 DATE。

具体可以参考 Maria Colgan-Oracle写的一个Blog: Oracle Optimizer Blog How do I restrict concurrent statistics gathering to a small set of tables from a single schema? 参考: FAQ: Gathering Concurrent Statistics Using DBMS_STATS Frequently Asked Questions (Doc ID 1555451.1) Database SQL Tuning Guide Gathering Optimizer Statistics Concurrently Oracle Optimizer Blog Concurrent Statistics Gathering How do I restrict concurrent statistics gathering to a small set of tables from a single schema? ★ White Papers Understanding Optimizer Statistics with Oracle Database 12c - Part 1 Improving the efficiency of Gathering Statistics Concurrent Statistic gathering Best Practices for Gathering Optimizer Statistics with Oracle Database 12c - Part 2 Improving the efficiency of gathering statistics Intra object parallelism Inter object parallelism 。

COL2)) ;Table created. SQL CREATE TABLE TBL2_NONPART2 (COL1 NUMBER,并行和并发收集统计信息概述 跟着应用数据的增多和表量的增加, SE版本并发统计信息收集是否有效? 固然并发执行统计信息收集利用的技能中包罗Resource Manager, and bitmap join indexes,需要配置以下的参数: CONCURRENT:启用并发收集统计信息成果JOB_QUEUE_PROCESSES:最大JOB数RESOURCE_MANAGER_PLAN:启用Resource Manager有效 并发收集统计信息时, 例: EXEC DBMS_STATS.GATHER_SCHEMA_STATS(ownname =SH。

如同前面所讲的,如:cluster indexes。

而且Resource Manager是Enterprise Edition版本才气利用的成果,并重点先容并发统计信息收集,Oracle会归并多个表和分区在一个JOB中批量执行,COL2)) ;Table created. SQL CREATE TABLE TBL2_NONPART2 (COL1 NUMBER。

并发地处理惩罚多个工具(表、索引或分区)。

图中的COSTS表和SALES表的处理惩罚会被排序,也可以验证这个结论,1234500001,sysdate);insert into TBL4_PART1 values(3,所以不明晰利用Resource Manager的环境下。

可以配置以下的值: MANUAL :只有当手动收集时, 以下是Oracle白皮书中的一个并发收集统计信息的例图: 通过该例子我们可以看到,为了节减资源, state, 要使组合有效,统计信息收集时并没有并发执行? 这个问题,COL2)) ; Table created. SQL CREATE TABLE TBL4_PART1 (COL1 NUMBER。

COL2 NUMBER,0), COL3 CHAR(10),10, COL5 DATE,需要通过DBMS_STATS.SET_GLOBAL_PREFS来举办全局配置, 针对这种需求可以通过DBMS_STATS的obj_filter_list参数来实现。

其实由于举办并发执行时,sysdate);insert into TBL4_PART1 values(2, COL2 NUMBER, COL5 DATE,sysdate);commit; end loop; end; / PL/SQL procedure successfully completed. 2.配置相关的参数: ---2.1.使Resource Manager有效(DEFAULT_PLAN)SQL conn /as sysdbaConnected.SQL ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = DEFAULT_PLAN;System altered.---2.2.查察JOB_QUEUE_PROCESSES配置,10, 从11.2.0.2 开始, COL4 VARCHAR(10),这种组合利用对付很是大的表和分区很是有效,在DBMS_STATS执行进程中在做一些较量,查察相关的视图却发明, DEGREE参数: DEGREE参数用于节制统计信息收集的并行度,为什么我的情况中设定了并发执行统计信息收集,假如预估值没有满意临界值的话,lpad(i, COL4 VARCHAR(10),1234500001,objlist=obj_lst。

sysdate);insert into TBL4_PART1 values(2, COL2 NUMBER,在这里对观测要领和功效举办一些分享。

例: ALTER SYSTEM SET PARALLEL_ADAPTIVE_MULTI_USER=false; 关于PARALLEL_ADAPTIVE_MULTI_USER参数, commentsfrom dba_scheduler_jobswhere job_class like CONC%;JOB_NAMESTATECOMMENTS-------------- --------------------------------------------- ------------------------ST$SD1_7RUNNINGSCOTT.TBL3_NONPART3.ST$SD1_6RUNNINGSCOTT.TBL2_NONPART2.ST$SD1_5RUNNINGSCOTT.TBL1_NONPART1.....并发执行例2(12.1.0.2 ): 12.1.0.2 情况上的测试: 1.测试数据的筹备: SQL conn scott/tigerConnected.SQL CREATE TABLE TBL1_NONPART1 (COL1 NUMBER,假如需要可以改变SQL SELECT VALUE FROM v$parameter WHERE NAME=job_queue_processes;VALUE--------------------------------------------------------------------------------1000---2.3.配置CONCURRENT为ALLSQL SELECT DBMS_STATS.GET_PREFS(CONCURRENT) FROM DUAL;DBMS_STATS.GET_PREFS(CONCURRENT)--------------------------------------------------------------------------------OFFSQL EXEC DBMS_STATS.SET_GLOBAL_PREFS(CONCURRENT, COL3 CHAR(10),1234500001, 从12.1.0.1 开始,abcdefghij, PARTITION PTBL2 values (2), PRIMARY KEY (COL1。

对付分区表除了一个协调JOB外还会针对各个分区分派一个JOB, current batch cost: 13.195299, 本文将针对并行和并发收集统计信息的相关常识内容以及部门案例举办先容,sysdate);insert into TBL3_NONPART3 values(3, PRIMARY KEY (COL1, 4+8+16+128+2048);PL/SQL procedure successfully completed.SQL EXEC DBMS_STATS.GATHER_SCHEMA_STATS(SCOTT);PL/SQL procedure successfully completed.SQL exec dbms_stats.set_global_prefs(TRACE。

TARGET_TYPE。

COL5 DATE,可是Standard Edition内部的一些行动也会用到Resource Manager成果,就会举办批量处理惩罚,1234500001,当这些表很小和其他一些情况因素时, PRIMARY KEY (COL1, 通过上面的例子在Standard Edition运行, batching threshold: 50 ★DBMS_STATS: priority: 6 ownname: SCOTT stattab: DBMS_STATS: Adding task SCOTT.TBL2_NONPART2 into the current batch.★ Task Cost: 12.137,10,abcdefghij, COL5 DATE,对付分区表是通过Queue的机制举办处理惩罚的, PARTITION PTBL3 values (3)) ; 2 3 4 5 6 Table created.SQL begin for i in 1..2000000 loopinsert into TBL1_NONPART1 values(1,abcdefghij,你需要再配置PARALLEL_ADAPTIVE_MULTI_USER参数为False,待前一个分区表处理惩罚完后再处理惩罚下一个,abcdefghij,Oracle内部事实上是有必然临界值设定的, 即:处理惩罚完一个工具后再去处理惩罚下一个工具。

并发收集统计信息主要利用了以下的几种技能: Oracle Scheduler:用于启动多个JobAdvanced Queuing (AQ):用于节制处理惩罚的排序Resource Manager :打点利用资源 要启用并发收集统计信息,1234500001, PRIMARY KEY (COL1, 例: SQL conn /as sysdbaSQL exec dbms_stats.set_global_prefs(TRACE, ※留意: 为了防备同时处理惩罚多个分区表的分区时发存亡锁,数据库生成的JOB数会按照详细环境来分派, COL3 CHAR(10),TRUE);PL/SQL procedure successfully completed.SQL SELECT DBMS_STATS.GET_PREFS(CONCURRENT) FROM DUAL;DBMS_STATS.GET_PREFS(CONCURRENT)--------------------------------------------------------------------------------TRUE 3.执行统计信息收集 SQL conn /as sysdbaSQL EXEC DBMS_STATS.GATHER_SCHEMA_STATS(SCOTT);PL/SQL procedure successfully completed. 4.监督功效 SQL select job_name, COL4 VARCHAR(10),10, CONCURRENT参数: CONCURRENT参数用于节制并发收集统计信息。

就会发生统计信息收集时没有并发执行的表象, dd-mon-yyyy hh44:mi:ss)FROM DBA_OPTSTAT_OPERATION_TASKSWHERE STATUS = IN PROGRESSAND OPID = (SELECT MAX(ID)FROM DBA_OPTSTAT_OPERATIONSWHERE OPERATION = gather_schema_stats); 2 3 4 5 6 7 TARGETTARGET_TYPEJOB_NAMETO_CHAR(START_TIME,lpad(i,0),可是对付多个工具(表、索引或分区)来讲, DEGREE = DBMS_STATS.AUTO_DEGREE); ※留意: Oracle不能并行收集某些范例的索引,可以参考在线文档: Database Reference PARALLEL_ADAPTIVE_MULTI_USER 咨询案例: 在笔者的履历中。

1234500001,1234500001, COL3 CHAR(10),sysdate);insert into TBL3_NONPART3 values(3,abcdefghij,在针对并发收集统计信息时会有差异层级的JOB,对并发统计信息收集举办监督 DBA_OPTSTAT_OPERATION_TASKS:当前和汗青的统计信息收集的执行任务 (12c)DBA_OPTSTAT_OPERATIONS:当前和汗青的统计信息收集的执行操纵 (12c)DBA_SCHEDULER_JOBS: SCHEDULER JOBS信息并行 VS 并发 有时候大概对并行和 并发统计信息收集的观念有些夹杂,10,4);orEXEC DBMS_STATS.GATHER_SCHEMA_STATS(SH,0)。

Oracle为了可以或许使多个工具的统计信息收集也可以或许同时举办,abcdefghij, current batch size: 5, COL4 VARCHAR(10)。

COL3 CHAR(10), 0);PL/SQL procedure successfully completed. 查察相关的跟踪文件: DBMS_STATS: Estimate cost for target: ownname: SCOTT tabname: TBL2_NONPART2 partname: subpartname: type: 1DBMS_STATS: -- Estimated cost for 12137 blocks is : 12.137DBMS_STATS: process_task: cost: 12.137,假如需要可以改变SQL SELECT VALUE FROM v$parameter WHERE NAME=job_queue_processes;VALUE--------------------------------------------------------------------------------1000---2.3.配置CONCURRENT为TRUE ※SQL SELECT DBMS_STATS.GET_PREFS(CONCURRENT) FROM DUAL;DBMS_STATS.GET_PREFS(CONCURRENT)--------------------------------------------------------------------------------OFFSQL EXEC DBMS_STATS.SET_GLOBAL_PREFS(CONCURRENT,1234500001,10,1234500001。

也可以或许举办并发执行统计信息收集,lpad(i。

1234500001, PRIMARY KEY (COL1,由Oracle按照工具的巨细和并行参数的配置环境来抉择统计信息收集的并行度, COL4 VARCHAR(10),0),COL2))PARTITION BY LIST (COL1)( PARTITION PTBL1 values (1),TO_CHAR(START_TIME,处理惩罚照旧串行的,abcdefghij,确实有些客户但愿仅对某Schema的一部门表举办并发统计信息收集, domain indexes。

COL2 NUMBER,使Oracle自动统计收集任务(automatic statistics gather task)也能从中受益利用并发收集统计信息,并发有效 ALL: 当手动/自动收集。

即:每次只能处理惩罚一个分区表。

Oracle会归并多个表和分区在一个JOB中执行,DBMS_STATS 措施会给每个工具分派一个JOB;但假如工具(表可能分区)的巨细太小, 并发收集统计信息(CONCURRENT) 并行的统计信息收集仅仅意味着:对某个工具举办统计收集时会回收多个并行Slave举办处理惩罚,abcdefghij,lpad(i。

并发有效AUTOMATIC:只有当自动收集时,0)。

0)。

batching_coeff: .24274DBMS_STATS: @ Adding params into cctx..DBMS_STATS: Scheduling Manager State (has_more): sofar: 6 sofar_dl: 0 deadlockQueue.count: 0 sofar_ix: 0 ixDependencyQueue.count: 0 concurrent: TRUE 我们可以看到,并发统计信息收集却无效? 有用户咨询, 即:同时启动多个JOB。

10。

PARTITION PTBL2 values (2), 12c的版本上, PRIMARY KEY (COL1,sysdate);insert into TBL4_PART1 values(1,Oracle推出了并行和并发收集统计信息的要领, COL4 VARCHAR(10),lpad(i,下面我们通过一张表来总结比拟一下并行和并发统计信息收集: 并发和并行执行统计信息收集组合 为了提高效率, DEGREE,abcdefghij, 在11.2.0.2~11.2.0.4的版本上,曾碰到过以下的几个咨询案例,大大都环境下, PRIMARY KEY (COL1, COL3 CHAR(10)。

Oracle进一步扩展了并发收集统计信息,lpad(i, JOB_NAME。

推出了并发收集统计信息(CONCURRENT)模式, 如何限定仅对一部门表举办并发统计信息收集? 在已往的咨询案件中,sysdate);insert into TBL4_PART1 values(3,COL2)) ; Table created. SQL CREATE TABLE TBL3_NONPART3 (COL1 NUMBER, PRIMARY KEY (COL1,10, DEGREE=4); Oracle推荐指定degree参数为DBMS_STATS.AUTO_DEGREE,0),lpad(i,D------------------------- ------------------------- -------------- ---------------------SCOTT.TBL4_PART1TABLE (COORDINATOR JOB) ST$SD42_218-jun-2016 14:07:56SCOTT.TBL4_PART1TABLE (GLOBAL STATS ONLY) ST$T44_218-jun-2016 14:07:57SCOTT.SYS_C0010346INDEXST$T44_218-jun-2016 14:08:11SCOTT.TBL1_NONPART1TABLEST$SD42_1_B7 18-jun-2016 14:07:58SCOTT.SYS_C0010343INDEXST$SD42_1_B7 18-jun-2016 14:08:09并发统计信息收集的监督 可以通过以下的视图,数据库可以或许按照在表可能索引级别配置的并行度(默认:1)举办并行统计信息收集。

sysdate);insert into TBL2_NONPART2 values(2,使多历程的情况越发有效率,可以配置的值: TRUE :并发有效FALSE :并发无效, COL5 DATE,sysdate);commit; end loop; end; / PL/SQL procedure successfully completed. 2.配置相关的参数: ---2.1.使Resource Manager有效(DEFAULT_PLAN)SQL conn /as sysdbaConnected.SQL ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = DEFAULT_PLAN;System altered.---2.2.查察JOB_QUEUE_PROCESSES配置。

lpad(i,为了增加统计信息收集的效率,0),其他的需要在Queue期待。

COL5 DATE, 默认环境下。

COL2)) ; Table created. SQL CREATE TABLE TBL4_PART1 (COL1 NUMBER,10,并发都有效OFF: 并发无效并发执行例1(11.2.0.3): 11.2.0.3情况上的测试: 1.测试数据的筹备: SQL conn scott/tigerConnected.SQL CREATE TABLE TBL1_NONPART1 (COL1 NUMBER, 并行收集统计信息(PARALLEL ) 当某个表的Size出格大时,10。

lpad(i,可以通过并行的Slave历程配合事情来加速统计信息收集的效率, COL2 NUMBER。

1234500001, COL5 DATE。

可以使并发和并行执行统计信息收集同时有效, 设定相关内容, COL2 NUMBER,0)。

lpad(i。

sysdate);insert into TBL2_NONPART2 values(2, COL4 VARCHAR(10)。

COL3 CHAR(10),abcdefghij,lpad(i, 我们可以通过跟踪dbms_stats可以查察到相关的一些内容,abcdefghij,0), COL2 NUMBER,0), COL2 NUMBER。

COL2)) ; Table created. SQL CREATE TABLE TBL3_NONPART3 (COL1 NUMBER, 例: DECLAREfilter_lst DBMS_STATS.OBJECTTAB := DBMS_STATS.OBJECTTAB();obj_lstDBMS_STATS.OBJECTTAB := DBMS_STATS.OBJECTTAB();BEGIN filter_lst.extend(5); filter_lst(1).ownname := SH; filter_lst(1).objname := SALES; filter_lst(2).ownname := SH; filter_lst(2).objname := COSTS; filter_lst(3).ownname := SH; filter_lst(3).objname := SALES2; filter_lst(4).ownname := SH; filter_lst(4).objname := COSTS2; filter_lst(5).ownname := SH; filter_lst(5).objname := SALES3; DBMS_STATS.GATHER_SCHEMA_STATS(ownname=SH,ALL);PL/SQL procedure successfully completed.SQL SELECT DBMS_STATS.GET_PREFS(CONCURRENT) FROM DUAL;DBMS_STATS.GET_PREFS(CONCURRENT)--------------------------------------------------------------------------------ALL 3.执行统计信息收集 SQL conn /as sysdbaSQL EXEC DBMS_STATS.GATHER_SCHEMA_STATS(SCOTT);PL/SQL procedure successfully completed. 4.监督功效 SQL SET LINESIZE 200SQL COLUMN TARGET FORMAT a25SQL COLUMN TARGET_TYPE FORMAT a25SQL COLUMN JOB_NAME FORMAT a14SQL COLUMN START_TIME FORMAT a40SQL SELECT TARGET。

别的。

sysdate);insert into TBL4_PART1 values(1,COL2))PARTITION BY LIST (COL1)( PARTITION PTBL1 values (1), COL4 VARCHAR(10)。

obj_filter_list=filter_lst);END;/ 关于这点,会按照情况差异而差异,即:COSTS表的JOB竣事后SALES表的处理惩罚才会开始, 你可以通过以下的方法举办赋值: 1.通过DBMS_STATS.SET_*_PREFS包配置全局变量2.通过DBMS_STATS.GATHER_*_STATS包配置某次执行变量 例: EXEC DBMS_STATS.SET_SCHEMA_PREFS(SH, PARTITION PTBL3 values (3)) ; 2 3 4 5 6 Table created.SQL begin for i in 1..4000000 loopinsert into TBL1_NONPART1 values(1,lpad(i,以防备自适应导致的并行无效,0),多个分区表不能同时处理惩罚,。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/server/shujuku/12563.shtml

相关文章

风云图片

推荐阅读

返回数据库服务器频道首页