分类:
2008-10-16 19:31:26
在过去的十年中,已经成为世界上最专业的数据库之一。对于IT专家来说,就是要确保利用的强大特性来提高他们公司的生产力。最有效的方法之一是通过Oracle调优。它有大量的调整参数和技术来改进你的Oracle数据库的性能。
Oracle调优是一个复杂的主题。关于调优可以写整整一本书,不过,为了改善Oracle数据库的性能,有一些基本的概念是每个Oracle DBA都应该遵从的。
在这篇简介中,我们将简要地介绍以下的Oracle主题:
外部调整:我们应该记住Oracle并不是单独运行的。因此我们将查看一下通过调整Oracle以得到高的性能。
Rowre-sequencing以减少磁盘I/O:我们应该懂得Oracle调优最重要的目标是减少I/O。
Oracle SQL调整:Oracle SQL调整是Oracle调整中最重要的领域之一,只要通过一些简单的SQL调优规则就可以大幅度地提升SQL语句的性能,这是一点都不奇怪的。
调整Oracle排序:排序对于Oracle性能也是有很大影响的。
调整Oracle的竞争:表和索引的参数设置对于UPDATE和INSERT的性能有很大的影响。
我们首先从调整Oracle外部的环境开始。如果内存和CPU的资源不足的话,任何的Oracle调整都是没有帮助的。
外部的性能问题
Oracle并不是单独运行的。Oracle数据库的性能和外部的环境有很大的关系。这些外部的条件包括有:
◆CPU--CPU资源的不足令查询变慢。当查询超过了Oracle的CPU性能时,你的数据库性能就受到CPU的限制。
◆内存--可用于Oralce的内存数量也会影响SQL的性能,特别是在数据缓冲和内存排序方面。
◆网络--大量的Net8通信令SQL的性能变慢。
许多新手都错误的认为应该首先调整Oracle数据库,而不是先确认外部资源是否足够。实际上,如果外部环境出现瓶颈,再多的Oracle调整都是没有帮助的。
在检查Oracle的外部环境时,有两个方面是需要注意的:
1、当运行队列的数目超过服务器的CPU数量时,服务器的性能就会受到CPU的限制。补救的方法是为服务器增加额外的CPU或者关闭需要很多处理资源的组件,例如Oracle Parallel Query 。
2、内存分页。当内存分页时,内存容量已经不足,而内存页是与磁盘上的区进行交互的。补救的方法是增加更多的内存,减少Oracle SGA的大小,或者关闭Oracle的多线程服务器。
可以使用各种标准的服务器工具来得到服务器的统计数据,例如vmstat,glance,top和sar。DBA的目标是确保数据库服务器拥有足够的CPU和内存资源来处理Oracle的请求。
以下让我们来看一下Oracle的row-resequencing是如何能够极大地减少磁盘I/O的。
[1]