Oracle Flashback Archive——Oracle闪回归档(上)
Oracle Flashback闪回是从10g开始推出的一系列技术新特性。闪回Flashback的范围很广泛,包括Flashback Query、Flashback Database、Flashback Transaction和Flashback Drop等。 在之前的Blog系列《使...
使用10053事件跟踪CBO优化器决策(下)
上篇中,我们主要介绍了10053事件的作用和跟踪文件生成规则。本篇中,我们将使用上篇生成的跟踪文件ots_ora_2968.trc,从结构上分析CBO在选择一个执行计划的步骤和方法。 6、Trace File结果综析 ...
使用10053事件跟踪CBO优化器决策(上)
查询优化器Query Optimizer是Oracle数据库的一个核心技术,作用是将输入SQL转化为最优的执行计划。由于SQL语句本身是一种描述特性的语言,Query Optimizer生成最优的执行计划,就是各品种、各版本DBMS的追求...
11g分布表新特性——Interval分区(下)
Oracle 11g中推出的Interval-Partition特性,是针对Range类型分区的一种功能拓展。对连续数据类型的Range分区,如果插入的新数据值与当前分区均不匹配,Interval-Partition特性可以实现自动的分区创建。&nbs...
11g分布表新特性——Interval分区(上)
作为一个成熟的DBMS,在每个新的版本中Oracle都会推出一些有益的技术尝试和新特性。熟悉掌握这些新特性,有助于我们更快的适应新版本Oracle软件,掌握其发展动态脉络,及时优化我们的工作方式。 分区...
几条Oracle数据库开发的原则归纳(下)
上篇中,我们主要介绍了进行Oracle数据库开发应该关注的几条原则问题,本篇继续讨论这个话题。 4、The Trap In Your Where Condition and Order/Group clause 我们进行的日常数据库开发,主要...
几条Oracle数据库开发的原则归纳(上)
目前绝大多数的MIS系统,都是基于对数据库的交互式操作,开发人员大部分的工作都是直接或者间接与数据库打交道。作为开发人员,正确的使用数据库技术,不但可以提高数据库相关开发的效率,而且可以有效的减少...
浅谈cursor_sharing取值对SQL共享的影响(下)
上篇我们介绍了Oracle SQL共享游标的机制,以及cursor_sharing参数EXACT取值作用。本篇我们继续介绍cursor_sharing参数的其他两个取值:FORCE和SIMILAR的实际含义。 4、 FORCE——强制共享执行...
浅谈cursor_sharing取值对SQL共享的影响(上)
声明:本篇实验思路感谢dbsnake老师指点。 在Oracle中,用户应用输入的SQL语句要进行所谓的Parse解析过程,用于生成执行计划,这也就是Query Optimizer的主要工作。在Parse中,有两种具体类型,被称为...
浅谈optimizer_mode优化器模式
Oracle query optimizer(查询优化器)是我们接触最多的一个数据库组件。查询优化器最主要的工作就是接受输入的SQL以及各种环境参数、配置参数,生成合适的SQL执行计划(Execution Plan)。 Query Opt...
对Maxvalue上限范围分区进行spilt操作
Oracle分区表是对关键数据表,特别是海量数据表的一种普适性很好的技术方案。借助分区表,通常都可以有效的提升数据表访问性能,增强系统可管理能力。对分区表设计通常具有三个方面的决策点,分别为分区类型...
Exchange partition分区结构的“乾坤挪移”
分区表是我们面临海量数据环境中的一种方便常用的技术方案。根据业务系统的访问需求,将海量数据表分割为多个相对独立的数据段对象,可以有效的减少对海量数据全表的直接操作,提升整体性能。 Oracle...
介绍几种获取SQL执行计划的方法(下)
上篇中,我们介绍了几种获取执行计划的方法。本篇我们继续探讨其他获取到执行计划详细信息的方法。 4、从shared_pool中直接抽取执行计划 我们执行过的SQL,在Oracle中会将执行计划缓存一段时间...
介绍几种获取SQL执行计划的方法(上)
SQL调优是很多Oracle DBA和开发人员的重要工作。一个高效的SQL改写调优,可以大幅度优化执行计划,提高执行效率,进而增强关键用例模块的可用性和满意度。 进行SQL调优中不可缺少的操作就是获取指定SQ...
从一条问题SQL优化看SQL Transformation
Oracle对接受到的描述性SQL语句,要进行一系列的验证处理工作。其中,有一个重要过程称为“SQL Transformation”,作用就是在不改变原有数据集结果的情况下,对SQL语句进行规则化改写,使之可以生成更好的执...
说说临时表空间Temp的异常胀大
笔者接到一个做开发上线的兄弟电话,说正在试运行的系统存储过程突然变慢,而且偶然发现数据库的Temp表空间突然增加到20多G。这位兄弟不知道是不是与存储过程突然变慢有关,而且应该如何处理。 1、 从...
说说Oracle Bind Graduation(下)
上篇(http://space.itpub.net/17203031/viewspace-704144)中,我们解释了与bind peeking等价的Oracle绑定变量技术bind graduation。本篇中,我们继续深入探讨该技术,和思考在bind graduation的环境下我们...
说说Oracle Bind Graduation(上)
绑定变量是我们目前开发系统应用中广泛使用的数据库SQL语言技术。大多数情况下,我们借助绑定变量可以有效的提高shared cursor使用的效率,减少SQL硬解析的出现。 在Oracle经典著作《Troubleshooting ...
Oracle约束constraint的三个属性应用
Oracle约束constraint是我们经常使用的一种数据库规则对象。constraint在数据库中的作用就是从静态角度对数据完整性进行维护。我们经常使用的主键primary key和外键foreign key,本质上就是约束的一种形式。...
SQL语句为什么不会共享(下)
最后,作为本系列的最后实验,我们一起来看看优化器模式和nls系列参数对SQL共享的影响。 7、Optimizer_Mode优化器模式影响 Optimizer_Mode是一个决定Oracle生成执行计划目标的重要参数...