两个SQL语句技巧——NULLS FIRST/LAST和分析函数版AVG
Oracle SQL作为标准SQL的一种有力补充,无论是在预定义函数还是语法语义,都有了很多强大的功能。我们日常工作中,经常遇到各种各样的SQL报表和查询需求,用好Oracle SQL语句和特性,可以帮助我们更好、更快...
聊聊Oracle 11g的Result Cache(四)
在之前的文章中,我们详细了解了Oracle 11g的Result Cache特性和机理。本篇我们讨论一下使用Table Annotation来控制数据表Result Cache使用的功能。 10、Table Annotation与Result Cache 在之前的介绍...
浅谈Oracle中隐式类型转换规律和影响
据大多数的Oracle性能问题,根源无外乎三类:架构设计问题、详细模块设计细节和SQL语句。从数量上看,三类性能问题中,SQL语句问题是我们最常见的一种性能问题点。开发DBA很大一部分日常工作精力是消耗在SQL语句调优...
聊聊Oracle 11g的Result Cache(三)
下面我们来介绍一下Result Cache特性对应的参数、视图和工具包。 6、Result Cache模式 在诸多的Result Cache相关参数中,Result Cache Mode是一个重要的开关参数。这个参数控制着当前Oracle是否使用客...
聊聊Oracle 11g的Result Cache(二)
本篇我们继续讨论Result Cache。 4、聊聊理论 在之前的文章中,我们已经介绍了Result Cache的基本使用方法。这部分我们讨论一下Oracle 11g Result Cache的深层原理。 从参数看,Oracle提供了Cl...
聊聊Oracle 11g的Result Cache(一)
缓存一直是解决信息、数据访问效率的一个重要方法。常见的缓存包括内存、前端特殊数据结构等。从宏观角度看,缓存的本质是利用空间来换取时间的手段。数据信息虽然都是保存在系统后端的数据库或者文件系统中...
VisualVM远程监控两种配置方法介绍
今天介绍一下Java程序远程监控工具。Java从最开始推出,核心特点就是对象自动收集机制,让程序员不需要像C++时代要进行配对对象书写。 但是,时至今日,我们依然能够看到很多Java程序运行一段时间之后,抛出S...
一例“诡异”报表SQL需求分析
我们在实际的工作中,经常会遇到各式各样的报表结构和需求。让报表能够生成、高效的生成取决于多种因素,包括业务需求的平衡折中、支持架构设计和详细数据库设计权衡等。最直接我们遇到的问题,就是SQL语句的实现。...
Rownum分页故障解决一例
在目前很多系统中,界面数据分页(Page)已经成为一项通用功能。基本上,每种框架、结构和对应的数据库,都有一些成熟的现成解决方案。在Oracle中,rownum伪列是初学者非常容易用错的功能。本篇就介绍一个实...
函数索引的两个应用场景示例(下)
上篇(http://space.itpub.net/17203031/viewspace-765160)中,我们讨论了一个使用函数索引,解决倾斜列查询的问题。本质上说,这个问题的核心在于前期规划和调研阶段,对于JOB_LOG数据表没有一个清晰的认识...
Oratop工具——实时数据库性能监控工具
在任何系统优化过程中,“80/20原则”是我们一定要关注的问题。简单的说,就是我们系统80%的性能问题、现象,都是有少数几个甚至一个问题造成的。这就需要我们面对复杂的系统性能问题的时候,要学会“拨开云雾、蛇打...
Oracle文件改名实验记录
在日常工作中,我们经常会遇到诸如空间被回收、某个磁盘损坏或者需要更换的情况。这个时候,往往需要我们将数据文件转移到其他存储位置上。本篇主要介绍常用的两种处理手段,权当记录,供自己和有需要的朋友...
实验演示Oracle“多版本一致读”和“Cross DDL”
在各种事务级别中,Oracle实现的是“Read Committed”,也就是读取的数据都是已经提交过的数据内容。在Oracle中,select不会阻塞任何操作,同样也不会被任何其他操作阻塞。 Oracle的select动作是不会...
SQL Plan Baseline与Shared Cursor机制研究(三)
上篇中,我们着重研究了SQL实际执行情况和Baseline不匹配情况下,shared pool变化情况。那么,从优化器执行的角度看,这个决策过程是怎么样的呢?我们从获得的10053跟踪文件谈起。 7、10053诊断事件诊断不匹...
SQL Plan Baseline与Shared Cursor机制研究(二)
在上篇(http://space.itpub.net/17203031/viewspace-755198)中,我们介绍了自动捕获SQL Plan Baseline的初步过程。当存在一个baseline的时候,SQL CBO生成的执行计划又和Baseline相匹配,在shared pool中会...
SQL Plan Baseline与Shared Cursor机制研究(一)
执行计划不稳定,出现偶发性的恶化现象,一直是困扰CBO应用和运维人员的一个重要问题。一直以来,Oracle一直试图采用外部固定的方法来固化应用程序SQL语句。从最早的Hint,到11g的SPM(SQL Plan Management...
Oracle Shared Cursor问题的几个实验
SQL语句是一种描述语句,只是描述了用户的数据需求。每种DBMS都需要对SQL进行解析和处理,形成真正的执行程序步骤。在Oracle中,这个过程称为parse解析。 Parse解析工作涉及数据字典信息检索、优化器...
使用Oracle 11g函数Pivot实现数据聚合行转列
作为数据库应用开发人员,我们有很大的精力应付在处理各种各样的数据类型,展现各种维度的报表上面。行转列、列转行是我们经常会遇到的“诡异”需求。标准SQL没有提供此类型操作的支持函数,早期Oracle的版本中...
Remote Diagnosis Agent(RDA)——初识RDA
作为目前行业界最成熟和成功的商业数据库管理系统软件,Oracle开发出很多有助于系统调试和运维的工具。借助这些优秀的免费工具,可以大大方便我们日常运维和管理工作。 无论是作为专业DBA,还是第三...
使用OS Watcher监控操作系统
系统性能是一个综合性结果的体现。对最终用户而言,使用系统的体验感可能就是系统是不是跑得快、在规定时间内完成作业、业务高峰期能否快速打开页面。但是,对系统设计、开发和运维人员来讲,系统性能是一个综合性的...