龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Oracle 11g:SQL性能分析器(一)(1)

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
【51CTO.com 独家翻译】摘要 :Oracle数据库11g第一版(11gR1)新的SQL性能分析器许诺较大地减轻了忙碌的Oracle DBA的工作量,因为它提供了一个精确地评估前后性能变化的完整的数据库工作

【51CTO.com 独家翻译】摘要:Oracle数据库11g第一版(11gR1)新的SQL性能分析器许诺较大地减轻了忙碌的Oracle DBA的工作量,因为它提供了一个精确地评估前后性能变化的完整的数据库工作负载的方法。本文 -- 关于Oracle数据库11g新的SQL性能分析器增强的特性系列文章的第一篇 -- 回顾了如何配置和利用这些特性,并提供了一个关于SQL性能分析器检测一个Oracle 11g数据库系统的改变简单的模拟。

在我的IT职业生涯中我学到了第一条规则 -- 我看到在过去的20多年中已经被多次证明 -- 简单地说就是:“不要象测试过程中那样在生产环境中工作”( Nothing works in production like it did during testing)。因为在信息技术中唯一不变的就是变化,因为要完整复制一个生产环境是不可能的,因为代码非常昂贵,IT专家已经发现大多数时候这句格言是真理,基于我的经验,我编译了一个最常用的数据库系统向量改变列表,但是我唯一相信的是这里总存在一些或许我还没有遇到过。

升级现有应用程序到新版本

我不喜欢夸大地叙述临时应用程序维护是大多数对Oracle数据库系统的改变的载体,DBA经常被请去更新无数的构成应用程序基础架构的PL/SQL对象,包括包说明、包主体、存储过程、存储函数和触发器,而不关心这些改变如何进行测试和评估,我们的测试团队不能预先执行测试就发布出去是可能的事情,这样就可能引起相当严重的性能问题。

修改数据库结构

有点不常见的是对现有数据库结构的修改以提升性能。包括下面的例子:

◆升级一个字典管理的表空间(DMT)(dictionary-managed tablespace)为一个本地管理的表空间(LMT)(locally-managed tablespace)

◆移动一个表或索引到一个使用自动段存储管理(ASSM)(Automatic Segment Storage Management)的LMT代替块空间管理的自由列表

◆把堆组织表变成索引组织表(反之亦然)

◆把堆组织表转换成分区表

◆通过添加、移除、分割或交换分区将分散的数据转换到一个分区表

◆在现有表上添加一个索引或移除一个索引

◆把B-tree索引修改为位图索引(反之亦然)

◆修改B-tree索引的内部组织(如:从简单的堆组织到压缩的,反向键,或降序索引)

◆为对应的分区表创建一个全局的或本地分区索引

◆为表或索引刷新基本成本的优化器统计,包括将统计复原到一个先前的时间点

精彩图集

赞助商链接