newhappy的专栏

专注于对企业应用性能优化,Ajax技术以及J2EE架构的研究,欢迎大家与我交流.Email:pleasechess@126.com

2009年05月12日

转载 db_file_multiblock_read_count 的自动调整

关于这个参数,经过几多变化,在Oracle10gR2中终于修成了正果,实现了自动调整。 很久以前演过过这个参数,有过这样的记叙: 阅读全文>

发表于 @ 2009年05月12日 19:54:00|评论(loading...)|举报|收藏

2009年03月23日

原创 说说中间件三国演义


中间件在英文里叫做middleware,是指一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算资源和网络通讯,是连接两个独立应用程序或独立系统的软件。
在企业管理软件这个领域,这几年发展最快的就是中间件了,它与操作系统、数据库已经成为基础软件领域的三驾马车了。从中间件市场来讲,目前在国内市场中占主导地位的还是国外的大厂商,Oracle的Weblogic和IBM的Websphere产品。不过国内一些软件公司也已经进入中间件领域,并在某些行业有所斩获。这其中包括中创软件商用中间件、金蝶Apusic、东方通科技等,东软、用友等应用集成商也投入了大量资源来研发中间件产品。其中中创软件、金蝶软件、东方通科技的产品是遵循J2EE规范的应用服务器产品;中科院软件所、东方通科技的产品是消息中间件产品;中创软件则推出了符合OMG标准的企业应用集成套件InforEAI。可以说,中间件市场中已经呈现出一种群雄争霸的场面。
不过对于这些产品,我最熟悉还是Weblogic。以前Weblogic是BE阅读全文>

发表于 @ 2009年03月23日 20:36:00|评论(loading...)|举报|收藏

2009年02月26日

原创 浅析Oracle 10gR2中优化器对表关联的优化

在以前的一篇文章中,介绍过额外的关联对SQL的影响是很大的,所以在sql审核的工作中,对于表关联的关注是相当多的,如果冗余能够优化掉表关联,偶都尽量在表设计上做些冗余处理;在10gR2中,发现优化器可以优化掉一些不必要的关联……阅读全文>

发表于 @ 2009年02月26日 21:43:00|评论(loading...)|举报|收藏

原创 详介oracle的RBO/CBO优化器

CBO方式:它是看语句的代价(Cost),这里的代价主要指Cpu和内存。优化器在判断是否用这种方式时,主要参照的是表及索引的统计信息。统计信息给出表的大小、有少行、每行的长度等信息。这些统计信息起初在库内是没有的,是做analyze后才出现的,很多的时侯过期统计信息会令优化器做出一个错误的执行计划,因些应及时更新这些信息。 注意:走索引不一定就是优的,比如一个表只有两行数据,一次IO就可以完成全表的检索,而此时走索引时则需要两次IO,这时全表扫描(full table scan)是最好 优化模式包括Rule、Choose、First rows、All rows四种方式: 阅读全文>

发表于 @ 2009年02月26日 21:42:00|评论(loading...)|举报|收藏

原创 Bulk Binds对性能的提高

当Oracle运行PL/SQL时会使用两套引擎,所有procedural code由PL/SQL engine 完成,所有SQL由SQL engine处理。所以如果Oracle从一个collection中循环执行相同的DML操作,那么为了避免两套engine切换所消耗的系统资源,可以使用bulk binds来把所有的DML操作binding到一次操作中完成。这将极大提高PL/SQL的执行效率。阅读全文>

发表于 @ 2009年02月26日 21:40:00|评论(loading...)|举报|收藏

原创 Oracle Freelist和HWM原理及性能优化

近期来,FreeList的重要作用逐渐为Oracle DBA所认识,网上也出现一些相关的讨论。本文以FreeList为线索对Oracle的存储管理的原理进行较深入的探讨,涉及Oracle段区块管理的原理,FreeList算法等。而与FreeList密切相关的一个重用特性HWM,与sql性能密切相关,本文也作了原理分析介绍。在原理探讨的基础上,介绍了常用的存储参数分析方法,并对所涉及的存储优化、HWM的优化和Freelist竞争优化作了说明。 阅读全文>

发表于 @ 2009年02月26日 21:37:00|评论(loading...)|举报|收藏

原创 oracle临时表-优化查询速度

1、前言 目前所有使用oracle作为数据库支撑平台的应用,大部分数据量比较庞大的系统,即表的数据量一般情况下都是在百万级以上的数据量。 当然在oracle中创建分区是一种不错的选择,但是当你发现你的应用有多张表关联的时候,并且这些表大部分都是比较庞大,而你关联的时候发现其中的某一张或者某几张表关联之后得到的结果集非常小并且查询得到这个结果集的速度非常快,那么这个时候我考虑在oracle中创建“临时表”。 我对临时表的理解:在oracle中创建一张表,这个表不用于其他的什么功能,主要用于自己的软件系统一些特有功能才用的,而当你用完之后表中的数据就没用了。oracle的临时表创建之后基本不占用表空间,如果你没有指定临时表(包括临时表的索引)存放的表空的时候,你插入到临时表的数据是存放在oracle系统的临时表空间中(temp)。 阅读全文>

发表于 @ 2009年02月26日 21:35:00|评论(loading...)|举报|收藏

原创 Oracle专家调优秘密

在过去的十年中,Oracle已经成为世界上最专业的数据库之一。对于IT专家来说,就是要确保利用Oracle的强大特性来提高他们公司的生产力。最有效的方法之一是通过Oracle调优。它有大量的调整参数和技术来改进你的Oracle数据库的性能。 Oracle调优是一个复杂的主题。关于调优可以写整整一本书,不过,为了改善Oracle数据库的性能,有一些基本的概念是每个Oracle DBA都应该遵从的。 在这篇简介中,我们将简要地介绍以下的Oracle主题: --外部调整:我们应该记住Oracle并不是单独运行的。因此我们将查看一下通过调整Oracle服务器以得到高的性能。 --Row re-sequencing以减少磁盘I/O:我们应该懂得Oracle调优最重要的目标是减少I/O。 --Oracle SQL调整。Oracle SQL调整是Oracle调整中最重要的领域之一,只要通过一些简单的SQL调优规则就可以大幅度地提升SQL语句的性能,这是一点都不奇怪的。 --调整Oracle排序:排序对于Oracle阅读全文>

发表于 @ 2009年02月26日 21:33:00|评论(loading...)|举报|收藏

原创 Oracle 数据库优化的R方法(Method R)

好长时间没怎么看 Oracle 技术文档了,今天阅读了一篇 Oracle Response Time Optimization with Method R. 这是 Optimizing Oracle Performance 经典图书这本经典图书的主旨方法。R 代表响应时间(response time).具体的定义如下: 1. Target the tasks that are critical to the business. 2. Collect properly scoped, un-aggregated profile data for each task while the task is exhibiting the behavior you want to record. 3. React with the candidate repair that will have the greatest net payoff to the business 阅读全文>

发表于 @ 2009年02月26日 21:32:00|评论(loading...)|举报|收藏

原创 Oracle索引分析与比较

索引在各种关系型数据库系统中都是举足轻重的组成部分,其对于提高检索数据的速度起至关重要的作用。在Oracle中,索引基本分为以下几种:B*Tree索引,反向索引,降序索引,位图索引,函数索引,interMedia全文索引等。本文主要就前6种索引进行分析,由于interMedia全文索引涉及的内容可以单独写一篇文章,所以不在此对其做分析。 首先给出各种索引的简要解释: b*tree index:几乎所有的关系型数据库中都有b*tree类型索引,也是被最多使用的。其树结构与二叉树比较类似,根据rid快速定位所访问的行。 反向索引:反转了b*tree索引码中的字节,是索引条目分配更均匀,多用于并行服务器环境下,用于减少索引叶的竞争。 降序索引:8i中新出现的索引类型,针对逆向排序的查询。 位图索引:使用位图来管理与数据行的对应关系,多用于OLAP系统。 函数索引:这种索引中保存了数据列基于function返回的值,在select * from table where function(column)=value这种类型的语阅读全文>

发表于 @ 2009年02月26日 21:28:00|评论(loading...)|举报|收藏

Csdn Blog version 3.1a
Copyright © newhappy