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监控操作系统
系统性能是一个综合性结果的体现。对最终用户而言,使用系统的体验感可能就是系统是不是跑得快、在规定时间内完成作业、业务高峰期能否快速打开页面。但是,对系统设计、开发和运维人员来讲,系统性能是一个综合性的...
控制文件损坏重建实验(下)
在上篇中,我们讨论并且演示了如何利用Trace文件恢复控制文件。但是我们的控制文件中包括的备份信息,却不能保存在Trace文件的create control file语句里面。 那么,我们有什么方法保存住备份信息呢?具体有...
控制文件损坏重建实验(上)
控制文件(Control File)是Oracle运行和工作的心脏。在Oracle运行过程中,需要实时借助控制文件来记录、响应关键信息。在控制文件中,Oracle保存了包括数据和日志文件名称位置、备份元数据信息、系统SCN信息。&nb...
聊聊Clustering Factor的两个细节问题
Clustering Factor聚簇因子是Oracle索引的一种重要参数指标。对CBO而言,clustering factor的取值能够影响到索引路径访问成本值,最后影响到SQL语句的执行计划。本篇对clustering factor的两个细...
使用10046跟踪Oracle前镜像数据读
“Undo前镜像”是Oracle早期推出的特性之一,也是在诸多数据库产品中异军突起的致胜法宝。当我们在一个会话中启动事务,对数据进行增加、修改和删除操作的时候,只要没有提交事务,其他会话只能看到数据的旧版本,...
聊聊Compression Advisor
对任何系统管理员和数据库管理员来说,存储空间是一个永恒的话题。不断下降的存储单价永远赶不上系统数据指数级别的爆炸增长。如何在有限的空间中存入更多的数据,是每一个DBMS都关注的问题。 数据压...
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索引...
Exp和数据泵(Data Pump)的query参数使用
Oracle提供了逻辑备份和物理备份两种备份手段。早期的Exp/Imp和10g之后的Data Pump都是实现逻辑备份的重要方式。借助两个逻辑备份工具,我们可以方便的对数据库进行多角度、多维度的备份还原操作。 ...
使用11g多列统计量提高多列group by操作估算值
在CBO时代,执行计划决策过程完全取决于各个备选执行计划的成本预估算值。提高统计量精准度、优化CBO对于每个执行步骤的成本估算值是我们进行SQL优化的一个重要工作方向。 1、从多列group by估算row ...
How CBO estimate the row source for group operation
For Oracle CBO, there are two epochs developed from 9i to 10g, IO cost model and CPU cost model. No matter which kinds of cost calculation model used, Row Source value (cardinality) which refl...
记录一次EM故障修复过程
Oracle Enterprise Manager(OEM)是Oracle提供的进行数据库管理、性能监控和运维的重要组件。在10g之后,Oracle推出了基于Web应用服务器的OEM。在安装Oracle服务器的时候,OEM会作为一个单独的组件安装,提供给客...
使用version参数解决Oracle数据泵版本差异
当我们回顾Oracle产品工具发展历程,不能不承认Exp/Imp的成功。从早期的版本到现在11g,Exp/Imp都是开发人员最常使用、也是最简单使用的数据库逻辑备份工具。 但是随着Oracle产品的不断发展和现实环境中数据...
聊聊Oracle可传输表空间(Transportable Tablespace)(下)
最后我们聊聊关于ASM下的TTS使用。应该说,ASM是Oracle在存储层面的重要组件,也是在软件层面实现冗余和平衡IO的关键解决方案。对11gR2 RAC而言,ASM是取代裸设备的重要组件。 应用ASM的一个重要特点...
聊聊Oracle可传输表空间(Transportable Tablespace)(中)
6、Oracle数据泵Data Pump导出导入 Exp/Imp是Oracle早期推出的数据逻辑备份还原工具,使用简单、功能强大。但是Exp/Imp对一些Oracle新特性支持不是很好,而且对于海量数据备份还原速度还是不能满足要...
聊聊Oracle可传输表空间(Transportable Tablespace)(上)
我们在Oracle环境中,有很多进行数据备份和移植手段,如exp/imp、expdp/impdp和rman等。在这些方法中,可传输表空间(Transportable Tablespace)一直是传统意义上最快数据移植的技术手段。理想情况下,Tran...