Oracle索引合并coalesce操作
索引rebuild和rebuild online是运维环境中经常遇到的问题。但是无论哪种,大数据索引对象的rebuild都是消耗资源的大规模操作,都需要进行时间窗规划,避免对在线系统运行有影响。本篇主要介绍对索引的另一种精简操作方法:coalesce合并。从之前的讨论我们已经知道,索引结构一般是一个不断“退化”的平衡结...
聊聊索引Index Rebuild和Rebuild Online(下)
3、使用10046诊断rebuild动作 10046诊断事件是我们经常用来使用跟踪事件,也是我们分析Oracle内部行为的最常用工具。下面笔者将用这个工具对rebuild动作进行检查。首先获取一下数据表T和索引IDX_T_ID的分区结构。 --数据表TSQL> select EXTENT_ID, FILE_ID, BLOCK...
聊聊索引Index Rebuild和Rebuild Online(上)
在Oracle运维领域,两个围绕索引的概念一直在网络上被讨论,一个是Index定期重构的必要性,另一个对Rebuild和Rebuild Online的讨论。前者很多前辈在各种场合,包括Oracle MOS,都有了比较深刻的讨论。对后者的讨论主要是集中两个方面,即:ü 对于大数据、高可用性的系统,索引rebuild动作一定要...
Oracle 统计量NO_INVALIDATE参数配置(下)
本篇我们继续讨论NO_INVALIDATE参数。从上篇(http://blog.itpub.net/17203031/viewspace-1067312/)讨论情况看,无论是取值true还是false,Oracle进行的行为都是缺乏考量的。如果选择true,表示旧的执行计划会持续的在shared pool中驻留,新的执行计划不会生成,如果系统SQL运行比较频繁、Age Out现象比较...
Oracle 统计量NO_INVALIDATE参数配置(上)
Oracle统计量对于CBO执行是至关重要的。RBO是建立在数据结构的基础上的,DDL结构、约束会将SQL语句分为不同的成本结构等级。而CBO是在数据结构的基础上,加入数据表细粒度信息,将成本结构细化为成本cost值。相对于数据表的DDL结构,统计量反映了当下数据表数据分布情况,可变性更强。我们经常遇到这样的场...
从SQLFile文件分析Oracle Data Pump数据导入行为
在之前的文章《三个使用数据泵(Data Pump)的小技巧》(http://space.itpub.net/17203031/viewspace-768245)里面,我们介绍了使用SQLFILE参数,可以输出Data Pump数据泵生成的DDL语句和对应的系列SQL语句。...
Archive Log模式下Redo Log、Check Point和Switch Log
在Oracle体系中,Online Redo Log、Archived Redo Log、Check Point和Switch Log动作之间是存在着千丝万缕的关系。作为我们非理论研究者而言,过多的强调技术细节意义不是很大。但是在实际中,进行诊断和问题...
聊聊Clustering Factor的两个细节问题
Clustering Factor聚簇因子是Oracle索引的一种重要参数指标。对CBO而言,clustering factor的取值能够影响到索引路径访问成本值,最后影响到SQL语句的执行计划。本篇对clustering factor的两个细...
Index Full Scan和Index Fast Full Scan行为差异分析(下)
上篇(http://space.itpub.net/17203031/viewspace-751979)中,我们看到了index full scan和index fast full scan在执行计划生成过程中的差异,以及使用场景的不同。本篇中我们继续讨论两者的差异。 ...
Index Full Scan和Index Fast Full Scan行为差异分析(上)
索引Index的出现,对Oracle优化器而言意味着更多的路径选择。随着CBO的不断智能化,一些借助索引特点出现执行计划更好的提高SQL的执行效果。 Index Full Scan和Index Fast Full Scan是两个Oracle索引...
从视图看Oracle对象依赖机制
在Oracle中,很多对象之间是存在着依赖关系的。比如:视图view与其包括的数据表、存储过程与其内部使用的方法等。Oracle对于对象的依赖关系,是有专门的管理机制流程的。在本篇中,我们一起来探讨这种依赖关...
解析listener跟踪文件
在上篇《监听器控制程序lsnrctl跟踪trace file》(http://space.itpub.net/17203031/viewspace-713587)中,我们探讨了如何获取到监听器跟踪文件。本篇中,我们继续来研究如何分析跟踪文件,从而发现其中的问...
Cursor_sharing=SIMILAR取值与直方图(下)
在上篇中,我们分析了在cursor_sharing=SIMILAR的情况下,Oracle不会考虑数据字典和列描述信息。这个过程中,SIMILAR的效果和FORCE效果相同。本篇我们继续研究SIMILAR的工作原理。 4、有直方图情况下...
Cursor_sharing=SIMILAR取值与直方图(上)
从业界普遍接受绑定变量、硬解析和软解析概念以及对Oracle数据库性能的影响之后。开发和运维DBA就都在寻找一种方法,将系统中已经存在和即将存在的硬编码改为绑定变量方式,进而减少硬解析的出现。 Cu...
SHMMAX参数与SGA空间分配
Oracle Instance实例就是Oracle数据库服务器上一块可共享内存和一系列的背景进程。在Windows环境和Unix/Linux环境中,实现Oracle实例的方式存在很大差异。Windows环境由于自身的特点,Oracle实例中的共享内存...
再说HWM(下)
本篇继续讨论HWM的影响和处理。 3、HWM对系统的影响 HWM是Oracle标记数据表曾经使用过的最多数据块位置。同水库中标记历史最高水位一样,HWM只是表示曾经使用过usable和从未使用过unusable数据...
再说HWM(上)
Oracle HWM(High Water Mark高水位线)是Oracle数据表存储结构的一个重要内容。简单的说,HWM就是存储分配的一个最高界限,标志着该数据存储对象使用空间的最高位置。 作为一个数据段segment对象,Or...
使用10053事件跟踪CBO优化器决策(下)
上篇中,我们主要介绍了10053事件的作用和跟踪文件生成规则。本篇中,我们将使用上篇生成的跟踪文件ots_ora_2968.trc,从结构上分析CBO在选择一个执行计划的步骤和方法。 6、Trace File结果综析 ...
使用10053事件跟踪CBO优化器决策(上)
查询优化器Query Optimizer是Oracle数据库的一个核心技术,作用是将输入SQL转化为最优的执行计划。由于SQL语句本身是一种描述特性的语言,Query Optimizer生成最优的执行计划,就是各品种、各版本DBMS的追求...
Oracle自适应共享游标——Adaptive Cursor Sharing(下)
自适应游标共享是Oracle11g推出的一个新特性。通过ACS,我们可以一定程度上缓解由于bind peeking和cursor_sharing参数设置带来的子游标共享问题。在前篇(http://space.itpub.net/17203031/viewspace-...