首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Oracle数据库12c release 2优化器详解

(图1:新的自适应查询优化功能的构成组件) Oracle数据库12c第二版默认启用的自适应功能与Oracle数据库12c第一版不同。详细信息请参见下面的“初始化参数”部分。...优化器所用的分配方法取决于操作方式,涉及到的并行服务进程数,以及预期的行数。如果优化器对行数估算不准确,那么选中的分配方法就可能不理想,并可能导致某些并行服务进程得不到充分利用。...一组并行服务进程(生产者,即粉红色图标)扫描两个表并且将数据行送给另一组并行服务进程(消费者,即蓝色图标),该组进程是连接的真正执行者。优化器决定采用混合型哈希(HYBRID HASH)的分配方法。...并且,从Oracle数据库12c第一版开始, 初始化参数OPTIMIZER_DYNAMIC_SAMPLING引入了新的取样级别11。...为了将对性能的影响减到最低,在Oracle数据库12c第一版中,动态取样查询的结果将会被保留在数据库的服务器结果缓存,从Oracle数据库12c第二版开始会保留在SQL计划指令的知识库中。

1.8K60
您找到你想要的搜索结果了吗?
是的
没有找到

Oracle优化器之自适应执行计划(Adaptive Execution Plans)

自适应并行分配方法(APDM) 自适应并行分配方法(APDM)主要用于在并行执行时,改变数据在各并行服务器进程的分配方式。...当SQL文以并行方式执行如并行排序,聚合操作,和连接等操作时,需要在执行SQL的各个并行服务器进程间重新分配数据后进行处理,而数据分配方法又会根据具体的操作过程中并行服务器进程的个数和优化器预估的处理行数来决定...广播式分配方法(broadcast distribution): 会把查询结果集发送到所有的并行服务器进程。(每个并行服务器进程都会含有一份相同的查询结果集)。...一般适合并行服务器进程很多,而结果集行数很少的情况。 哈希分配方法( hash distribution): 会把查询结果集通过哈希算法分成N份,发送到各个并行服务器进程。...(每个并行服务器进程包含一份查询结果集的子集). 一般适合并行服务器进程较少,而结果集行数较多的情况。

96120

知识&案例:并行和并发统计信息收集

并行收集统计信息(PARALLEL ) 当某个表的Size特别大时,可以通过并行的Slave进程共同工作来加快统计信息收集的效率。...Oracle推荐指定degree参数为DBMS_STATS.AUTO_DEGREE,由Oracle根据对象的大小和并行参数的设置情况来决定统计信息收集的并行度。 例: ?...并发收集统计信息(CONCURRENT) 并行的统计信息收集仅仅意味着:对某个对象进行统计收集时会采用多个并行Slave进行处理,但是对于多个对象(表、索引或分区)来讲,处理还是串行的。...从11.2.0.2 开始,Oracle为了能够使多个对象的统计信息收集也能够同时进行,推出了并发收集统计信息(CONCURRENT)模式,使多进程的环境更加有效率。...12c的版本上,可以设置以下的值: ? 并发执行例1(11.2.0.3): 11.2.0.3环境上的测试: 1.测试数据的准备: ? 2.设置相关的参数: ? 3.执行统计信息收集 ?

93040

【Oracle健康检查脚本加量不加价】对Oracle 10g、11g和12c版本分别提供了只读版,并且加上了MySQL的健康检查

: 1、 绿色版、免安装、纯SQL文本 2、 跨平台,只要有SQL*Plus环境即可运行 3、 兼容Oracle 10g、11g及12c版本 4、 对Oracle 10g、11g和12c版本分别提供了只读版...viewspace-2129647/、 或者参考:https://share.weiyun.com/5lb2U2M 1 健康检查头部 (一)巡检服务概要数据库总体概况数据库基本信息数据库大小资源使用情况组件和特性库参数文件所有的初始化参数关键的初始化参数隐含参数...无效对象无效的对象无效的普通索引无效的分区索引无效的触发器 索引情况索引个数超过5个的表大表未建索引组合索引与单列索引存在交叉位图索引和函数索引外键未建索引大索引从未使用索引列个数大于3索引高度大于3索引的统计信息过旧 并行度表带有并行度索引带有并行度...其他对象告警日志数据库目录回收站情况数据库链路(db_link)外部表所有的触发器序列cache小于20物化视图type数据泵(五)数据库性能分析AWRAWR统计AWR参数配置状况数据库服务器主机的情况...统计信息统计信息是否自动收集需收集统计信息的表被收集统计信息的临时表统计信息被锁的表或索引 会话会话概况会话状态一览(当前)历史ACTIVE会话数登录时间最长的10个会话超过10小时无响应的会话提交次数最多的会话CPU或等待最长的会话 锁查看LOCK锁情况查看谁锁住了谁游标使用情况并行进程完成情况

1.2K30

【Oracle健康检查脚本加量不加价】对Oracle 10g、11g和12c版本分别提供了只读版

: 1、 绿色版、免安装、纯SQL文本 2、 跨平台,只要有SQL*Plus环境即可运行 3、 兼容Oracle 10g、11g及12c版本 4、 对Oracle 10g、11g和12c版本分别提供了只读版...viewspace-2129647/、 或者参考:https://share.weiyun.com/5lb2U2M 1 健康检查头部 (一)巡检服务概要数据库总体概况数据库基本信息数据库大小资源使用情况组件和特性库参数文件所有的初始化参数关键的初始化参数隐含参数...无效对象无效的对象无效的普通索引无效的分区索引无效的触发器 索引情况索引个数超过5个的表大表未建索引组合索引与单列索引存在交叉位图索引和函数索引外键未建索引大索引从未使用索引列个数大于3索引高度大于3索引的统计信息过旧 并行度表带有并行度索引带有并行度...其他对象告警日志数据库目录回收站情况数据库链路(db_link)外部表所有的触发器序列cache小于20物化视图type数据泵(五)数据库性能分析AWRAWR统计AWR参数配置状况数据库服务器主机的情况...统计信息统计信息是否自动收集需收集统计信息的表被收集统计信息的临时表统计信息被锁的表或索引 会话会话概况会话状态一览(当前)历史ACTIVE会话数登录时间最长的10个会话超过10小时无响应的会话提交次数最多的会话CPU或等待最长的会话 锁查看LOCK锁情况查看谁锁住了谁游标使用情况并行进程完成情况

76230

【干货】4种Oracle DBaaS部署模式,你在使用哪一种?

基于共享服务器集群部署多个数据库实例(PaaS模式) 在一组共享的物理服务器集群上部署Oracle数据库,这样的一组物理服务器需要采用同构的服务器和同版本的操作系统,部署运行Oracle的Grid Infrastructure...内存管理、后台进程等等。...劣势: 共享了物理服务器和操作系统,但每个数据库实例仍独享自己的内存、后台进程,当整合数据库数量较多时,这些重复的基础功能造成CPU和内存重复开销,资源共享度、整合密度仍有待改善。...共享一个数据库实例部署多个Schema(PaaS模式) 在共享的一个数据库实例内,通过开通多个schema及其关联对象提供数据库服务,数据库实例和其后的操作系统、服务器硬件平台均为共享的。 ?...容器数据库层统一包含了SGA内存管理、后台进程、数据库启动参数文件/redo log/Undo 等公用功能(之前的独立数据库实例,每个数据库有独立的SGA区、后台进程,现在不再需要了),可插拔数据库PDB

1.4K30

参数优化】11gR2安装后参数优化

前序: 【安装】CentOS7.7下图形化安装Oracle11gR2 【补丁】Oracle11gR2补丁更新(PSU) 一、参数优化 #如果指定为TRUE, 并行操作只会在当前instance里面并行...指定可以为此数据库打开的最大数据库文件数 alter system set db_files=4000 scope=spfile; #指定允许同时运行的最大共享服务器进程数...alter system set max_shared_servers=0 scope=spfile; #指定客户端在与服务器进程的连接上可以进行的身份验证尝试次数。...在指定次数的失败尝试之后,服务器进程将自动断开连接。...那么数据库中空表就不会立即分配extent,即不占数据空间 alter system set deferred_segment_creation=false scope=spfile; #指定实例的并行执行进程并行恢复进程的最大数量

1.1K30

Oracle 12c支持多线程模式

在Oracle Database 12c中,Oracle引入了多线程模式,允许在Windows平台之外的Unix、Linux系统使用多线程模式,结合多进程与多线程模式,Oracle可以改进进程管理与性能...在12c单机标准安装之后,数据库启动的后台进程就已经达到近50个,如果在RAC、ASM环境中,后台进程会更多、更复杂。...通过设置初始化参数 threaded_execution ,可以启用或关闭多线程模式,该参数缺省值为False,设置为TRUE启用12c的这个新特性。...threaded_execution 参数重新启动数据库后生效,但是注意,多线程模式,不支持操作系统认证,不能直接启动数据库,需要提供SYS的密码认证后方能启动数据库。...图:12c多线程服务器的缺省进程

1.2K50

Oracle DG系列:STANDBY DATABASE的前世今生

多个视图增加列、新增加多个视图用于Data guard的管理(如V$DATAGUARD_STATUS) 引入Logical standby database 引入数据库保护的3种模式,最大保护...在physical standby databases中启用并行恢复。 ARCn进程支持对standby redo log的备份。...优化ARCH模式下日志传输速度,引入MAX_CONNECTIONS参数,指定多个ARCn进程来传输日志。...2013年 12c 2013年6月Oracle发布了12C的版本,19C的版本也是12.2最后的一个版本,如果在12C版本中选择安装哪一个版本,建议直接安装19C的版本。...在12C的版本中,Data Guard没有引入太多本质的新功能,还是在之前的版本基础上讲Data Guard与12C的新功能整合,使报表业务在Data Guard环境运行变得更简单、更容易。

1.5K31

深入并行:从生产者到消费者模型深度理解Oracle的并行

执行一个 SQL 时, 分配多个并行进程同时执行数据扫描,连接以及聚合等操作, 使用更多的资源, 得到更快的 SQL 响应时间。并行执行是充分利用硬件资源,处理大量数据时的核心技术。...本篇文章所有的测试, 除非特别的说明, 我关闭了 12c 的 adaptive plan 特性, 参数optimizer_adaptive_features 被默认设置为 false....这时没有数据需要进行分发, 只需要分配一组 px 进程. 这种 replicate 维度表的行为, 是 12c 的新特性, 由参数_px_replication_enabled 控制。...执行计划包含多个 QC 的例子也不少见, 比如使用 union all 的语句, union all 每个分支都是独立的 DFO 树, 不同的 DFO 树之间可以并行执行....多个缓冲区是为了实现异步通信, 提高性能. 每个消息缓冲区的大小由参数 parallel_execution_message_size 控制, 默认为 16k。

1.3K61

20万DBA都在关注的12个问题

诊断结论:问题为window操作系统参数的问题。在控制面板中将处理器核数由默认的1改成8或最大值即可 ,重新启动,然后再dbca建库. 成功。...---- 问题六、ogg 12c可以应用源为10g的trail文件吗? 如题,10g的trail文件是否可以应用到12c中,需要注意什么? 诊断结论:应该是没问题,建议测试验证下。...源端抽取进程和传输进程加下参数FORMAT RELEASE。另外目标端需要非PDB模式。...诊断结论:如果非要用OGG,建议按表拆分多个进程吧,不然一个进程出现问题会影响整个库的同步。...---- 问题九、oracle rac时间被调整的影响 rac配置了时钟同步,由于时钟同步服务器出问题导致rac两个节点时间被同时调整到了3天后,然后关闭集群手动调整系统时间,启动集群后发现undo的begintime

1.4K10

Oracle 的安装与基本操作

服务器的主机名、IP 地址也应提前确定无误.一旦 Oracle 数据库安装完成,建议不要再修改主机名,否则会导致数据库启动失败。...的安装过程通常在图形界面中进行,因此建议使用已安装有GNOME中文桌面环境的CentOS服务器。...针对Linux内核参数.进程会话限制提出了一些要求,其中一部分设置可以在安装过程中自动检测并修复,但并不一定很完整 ,所以最好的做法是根据安装文档提前进行配置。...1) STARTUP NOMOUNT NOMOUNT选项仅仅启动一个Oracle实例,读取init ora初始化参数文件、启动后台进程、初始 化SGA.当实例启动后,系统将显示一个SGA内存结构和大小的列表...此时,数据库使数据文件和重做日志文件在线,通常还会请求一个或者多个回滚段;系统除了可以看到前STARTUP MOUNT方式下的所有提示外,还会给出一个‘数据库已经打开” 的提示: 数据库系统处于正常工作状态

98820

【DB笔试面试522】在Oracle中,数据库和实例的关系是什么?

它是由OS分配的一块内存(包括SGA和PGA)和一些后台进程(PMON、SMON、LGWR、CKPT、DBWn等)组成的。...在Oracle 12c之前,一个数据库可以被1个实例(Single Instance,单实例)或多个实例访问或挂载(RAC,集群)。...从Oracle 12c开始,对于非CDB(non-CDB,非容器数据库)类型的数据库而言,它和Oracle 12c之前的数据库没有差别。...如果同一个服务器上有多个数据库,则每个非CDB或CDB都具有各自单独的相异实例。实例不能在非CDB和CDB之间共享。...在Oracle Database 12c中,有三个可能的配置选项: •多租户配置:通常每个CDB有多个PDB,但是任何时候可以一次存放零个、一个或许多PDB,从而利用新体系结构的全部功能,这需要授权的Oracle

1.5K30

基于Oracle的私有云架构探析(连载三)@【DTCC干货分享】

这两个初始化参数都可以在线修改不用重启,这为我们管控CPU资源的分配提供了极大的灵活性。...在开启管理计划后,数据库的后台进程VKRM会开始运行。 如果要确认instance caging功能已经生效,可以使用下面的语句确认: ? 剩下的事就是设置你的实例可以使用的CPU的个数了。...• 构建Grid集群 Oracle Grid是个集群,把多个服务器虚拟成一台服务器,这一层集群通过上面的各种应用体现价值,这些应用被叫做资源,Oracle数据库就是一种资源,虽然Oracle一直宣称GI...• Policy Set ServerPool在12C有一个新特性,可以建立一些策略集合,例如,某运营商有2个RAC集群,第一个RAC是用来做在线业务的,白天压力很大,需要5台服务器来满足业务的要求,而晚上压力很小...经过测试,传统的方式不能把多个RAC One Node实例在多个节点间做平均分配。

1.1K50

Oracle数据库的体系结构和用户管理

1、Oracle体系结构概述 Oracle体系结构包含一系列组件,如下图所示,图中显示了Oracle体系结构中的主要组件,包括实例、用户进程服务器进程、数据文件及其他文件,如参数文件、口令文件和归档日志文件等...在Oracle 12c之前的版本中,实例和数据库只能是一对一或多对一(RAC,Real Application Clusters,实时应用集群)的关系,即只能是一个实例对应一个数据库,或者多个实例对应一个数据库...但在Oracle 12c版本中,通过引入CDB和PDB,一个实例可以对应多个可插拔数据库。...当用户建立与数据库的连接时,即产生服务器进程服务器进程和用户进程通信并为所连接的用户请求服务。服务器进程直接与Oracle数据库交互,实现调用和返回结果的目的。...服务器进程及可以处理一个用户进程的请求,也可以处理多个用户进程的请求。 在Oracle数据库中,为了使系统性能更好地协调多个用户,实例系统中使用的一些附加进程,称为后台进程

70110

Oracle优化器架构变化和特定行为

如上图所示,Oracle数据库不断地自我完善着: Oracle数据库从9i版本开始,为了使SQL文能够更好的共享,引进了用于游标共享的CURSOR_SHARING参数。...11g版本上,Oracle推出了自适应游标共享(Adaptive Cursor Sharing)功能,使包含绑定变量的同一条SQL语句在多次执行时,能够根据绑定变量值和执行过程中收集信息的反馈,可以使用多个不同执行计划...,调整连接方式或者并行分配方式。...基于这种架构的特性主要包括: 自适应连接方法(Adaptive Join Methods)和自适应并行分配方法(Adaptive Parallel Distribution Methods); 自动重新优化...Adaptive Statistics) 更详细的分类如下: 自适应执行计划(Adaptive Plans)包括 -自适应连接方法(Adaptive Join Methods) -自适应并行分布方法

76110

20万DBA都在关注的11个问题(超有料)

这个参数有没有一个建议值,我查了最佳实践里好像没有,现在值默认是8192,11.2默认值为1024。...而在部分企业环境中,数据库之间、应用服务器和数据库之间的时间同步是必须的。在这种情况下,使用NTP进行时间同步就成了必然的选择。点击标题查看详细配置过程。...但到了12c,无论你采用什么字符集,varchar2列设定6000的长度,可以存下以UTF8编码的2000汉字。...解答: QMNC和Qnnn:高级队列,Qnnn进程对于QMNC进程就相当于Jnnn进程与CJQ0进程的关系。QMNC进程要通知Qnnn进程需要完成什么工作,Qnnn进程则会处理这些工作。...10、12c多租户数据库个别节点单个pdb起不来 描述: 12c多租户数据库修改sga参数文件,三个节点的集群数据库,一共有实例30个,节点一的pdb重启后都是读写状态,节点二,节点三重启cdb后29个实例为读写状态

64020
领券